# "a single unique user equals a whole 'family' "

setScience("AppleMusic")
setGitBranchToSystem(); .g();

wh <- getWH_already_on()
dbname <- "prod"
schema <- "AppleMusic"
tbl <- "sos_from_raw_view"

setSnowflake(wh=wh, dbname=dbname)
sfDesc(schema=schema, tbl)

colsToPull <- c("anonymized_uid", "user_access", "user_plan_type_group", "user_type")
qry <- makeQry(schema=schema, tbl=tbl, colsToPull=colsToPull, colsToAgg=c(streams="*"), limit=NULL)
DT.am_users <- sfQry(qry)

uids <- DT.am_users[, anonymized_uid[anyDuplicated(anonymized_uid)], by=user_access]$V1
DT.am_users[anonymized_uid %in% uids]

jesusForData(DT.am_users)

paid_streams_family <- DT.am_users[user_access == "PAID" & user_plan_type_group == "Family", streams]
paid_streams_indiv  <- DT.am_users[user_access == "PAID" & user_plan_type_group == "Individual", streams]

trial_streams_family <- DT.am_users[user_access == "TRIAL" & user_plan_type_group == "Family", streams]
trial_streams_indiv  <- DT.am_users[user_access == "TRIAL" & user_plan_type_group == "Individual", streams]

streams_paid  <- DT.am_users[user_access == "PAID",  streams]
streams_trial <- DT.am_users[user_access == "TRIAL", streams]



t.test(paid_streams_family, paid_streams_indiv)
t.test(trial_streams_family, trial_streams_indiv)
t.test(streams_paid, streams_trial)

prop.test(table(paid_streams_family, paid_streams_indiv), correct=FALSE)
prop.test(table(trial_streams_family, trial_streams_indiv), correct=FALSE)
prop.test(table(streams_paid, streams_trial), correct=FALSE)


