cleanRevshare_ <- function(DT=get("DT.revshare", envir=globalenv())) {

  ## Clean up the names
  setnamesByDict(DT, getDict("spotifymgmt.revshare"), noNeedToCheckInv=TRUE, showWarnings=FALSE, warn_for_new_return=FALSE)

  ## Add in AdSupported column
  ## OLD: DT[, adsupported_vs_premium := ifelse(product == "A", "AdSupported", "Premium")]
  ## NEW: 
  try(addASvsPCol_(DT, newCol.nm="adsupported_vs_premium", verbose=TRUE, DT.nm=substitute(DT)))

  ## WRONG:   Total users is active+registered, except for AdSupported, which is just active
  ## UPDATED: Total users is registered, except for AdSupported, which is active
  DT[, total_users := ifelse(adsupported_vs_premium == "AdSupported", active_users, active_users + registered_users)]
  DT[, total_users := ifelse(adsupported_vs_premium == "AdSupported", active_users, registered_users)]

  ## Calculate USD revenue
  DT[, spotify_gross_revenue_usd := spotify_gross_revenue_cur * (orchard_gross_revenue_usd / orchard_gross_revenue_cur)]
  DT[,   spotify_net_revenue_usd :=   spotify_net_revenue_cur * (orchard_gross_revenue_usd / orchard_gross_revenue_cur)]

  ## Create adjusted currency columns
  colsToRevAdjust <- c("orchard_gross_revenue_usd", "spotify_gross_revenue_usd", "spotify_net_revenue_usd")
  addCurrencyNeutralCols_(DT, colsToRevAdjust=colsToRevAdjust, refresh=TRUE)

  ## ARPU
  DT[, ARPU_Spotify_USD := nonFinitesToNA(spotify_gross_revenue_usd / total_users)]
  DT[, ARPU_Orchard_USD := nonFinitesToNA(orchard_gross_revenue_usd / total_users)]

  DT[!is.finite(ARPU_Spotify_USD)]
  ## ARPU, currency neutral
  DT[, ARPU_Spotify_cneutral := nonFinitesToNA(spotify_gross_revenue_cneutral / total_users)]
  DT[, ARPU_Orchard_cneutral := nonFinitesToNA(orchard_gross_revenue_cneutral / total_users)]

  return(DT)
}
