starttime <- Sys.time()
devtools::document()
devtools::load_all()
glootility::connect_to_redshift()
library(RPostgreSQL)
# Define temporary tables that future queries will use.
dbSendQuery(redshift_connection$con,
flashreport::query_user_flash_cat
)
dbSendQuery(redshift_connection$con,
flashreport::query_pa_flash_cat
)
# Define date ranges and query types to get results for.
run_date <- as.Date('2016-12-09')
weeks_back <- 45:46
start_dates <- run_date - 7*weeks_back
end_dates <- start_dates + 6
year_beginning <- as.Date('2016-01-01')
date_ranges <- data.frame(
range_types =
c(
rep('week', times = length(weeks_back))
, rep('ytd', times = length(weeks_back))
)
, max_dates = rep(end_dates, times = 2)
, stringsAsFactors = F
)
query_types <- paste0(c('au', 'pa', 'notifications'), 'Query')
# Run queries and put results into a long data frame.
long_flash_report <- flashreport::get_results(date_ranges, query_types)
# Postprocess results.
long_flash_report_dates_formatted <-
flashreport::format_LFR_dates(long_flash_report )
long_flash_report_2 <-
flashreport::curate_user_groups(long_flash_report_dates_formatted)
long_flash_report_subaggregate <-
flashreport::summarise_by_subaggregate(long_flash_report_2)
long_flash_report_aggregate <-
flashreport::summarise_in_aggregate(long_flash_report_2)
long_flash_report_3 <- rbind(long_flash_report_2
, long_flash_report_subaggregate
, long_flash_report_aggregate)
# Calculate WAU percentage for each user group, subaggregate, and aggregate,
# and for each date range.
long_flash_report_WAU_pct <-
flashreport::calculate_WAU_percentage(long_flash_report_3)
# Calculate total actions for each user group, subaggregate, and aggregate,
# and for each date range.
long_flash_report_total_actions <-
flashreport::calculate_total_actions(long_flash_report_3)
# Calculate average actions per WAU for each user group, subaggregate, and aggregate,
# and for each date range.
long_flash_report_actions_per_AU <-
flashreport::calculate_actions_per_AU(
long_flash_report_3
, long_flash_report_total_actions
)
# Calculate notifications_response_rate for each user group, subaggregate, and aggregate,
# and for each date range.
long_flash_report_NRR <-
flashreport::calculate_NRR(long_flash_report_3)
long_flash_report_final <- rbind(long_flash_report_3
, long_flash_report_WAU_pct
, long_flash_report_total_actions
, long_flash_report_actions_per_AU
, long_flash_report_NRR)
.env$view(long_flash_report_final)
dbDisconnect(redshift_connection$con)
endtime <- Sys.time()
endtime - starttime
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.