if (FALSE) {
# Having InputCollect and OutputCollect objects
## Recreate original saturation curve
Response <- robyn_response(
InputCollect = InputCollect,
OutputCollect = OutputCollect,
select_model = select_model,
metric_name = "facebook_S"
)
Response$plot
## Or you can call a JSON file directly (a bit slower)
# Response <- robyn_response(
# json_file = "your_json_path.json",
# dt_input = dt_simulated_weekly,
# dt_holidays = dt_prophet_holidays,
# metric_name = "facebook_S"
# )
## Get the "next 100 dollar" marginal response on Spend1
Spend1 <- 20000
Response1 <- robyn_response(
InputCollect = InputCollect,
OutputCollect = OutputCollect,
select_model = select_model,
metric_name = "facebook_S",
metric_value = Spend1, # total budget for date_range
date_range = "last_1" # last two periods
)
Response1$plot
Spend2 <- Spend1 + 100
Response2 <- robyn_response(
InputCollect = InputCollect,
OutputCollect = OutputCollect,
select_model = select_model,
metric_name = "facebook_S",
metric_value = Spend2,
date_range = "last_1"
)
# ROAS for the 100$ from Spend1 level
(Response2$response_total - Response1$response_total) / (Spend2 - Spend1)
## Get response from for a given budget and date_range
Spend3 <- 100000
Response3 <- robyn_response(
InputCollect = InputCollect,
OutputCollect = OutputCollect,
select_model = select_model,
metric_name = "facebook_S",
metric_value = Spend3, # total budget for date_range
date_range = "last_5" # last 5 periods
)
Response3$plot
## Example of getting paid media exposure response curves
imps <- 10000000
response_imps <- robyn_response(
InputCollect = InputCollect,
OutputCollect = OutputCollect,
select_model = select_model,
metric_name = "facebook_I",
metric_value = imps
)
response_imps$response_total / imps * 1000
response_imps$plot
## Example of getting organic media exposure response curves
sendings <- 30000
response_sending <- robyn_response(
InputCollect = InputCollect,
OutputCollect = OutputCollect,
select_model = select_model,
metric_name = "newsletter",
metric_value = sendings
)
# response per 1000 sendings
response_sending$response_total / sendings * 1000
response_sending$plot
}
Run the code above in your browser using DataLab