Robyn is an experimental, AI/ML-powered and open sourced Marketing Mix Modeling (MMM) package from Meta Marketing Science. Our mission is to democratise modeling knowledge, inspire the industry through innovation, reduce human bias in the modeling process & build a strong open source marketing science community.
Since yesterday my container which installs robyn using:
RUN Rscript -e "remotes::install_github('facebookexperimental/Robyn/R');"
Is not working anymore because when training a model or an alocation i get :
Calculating response curves for all models' media variables (840)...
Error in { : task 1 failed - "argument is of length zero"
Provide reproducible example
I run training via:
OutputModels <- robyn_run(
InputCollect = InputCollect, # feed in all model specification
dt_hyper_fixed = NULL, # hyperparams from a previous list
json_file = NULL, #JSON file to import previously exported inputs
ts_validation = ts_validation, # TRUE, Robyn will split data by test, train, and validation partitions to validate the time series.
add_penalty_factor = FALSE,
refresh = FALSE, # Set to TRUE when used in robyn_refresh()
seed = as.integer(sample(1:200, 1)),
outputs = FALSE, # Process results with robyn_outputs()
quiet = FALSE,# shut down verbosity
cores = NULL, # NULL defaults to parallel::detectCores() -1
trials = set_trial,# 5, # Recommended 5 for default nevergrad_algo = "TwoPointsDE".
iterations = set_iter, #2000, # Integer. Recommended 2000 for default when using nevergrad_algo = "TwoPointsDE".
nevergrad_algo = set_hyperOptimAlgo, #"TwoPointsDE", # Options are c("DE","TwoPointsDE", "OnePlusOne", "DoubleFastGADiscreteOnePlusOne", "DiscreteOnePlusOne", "PortfolioDiscreteOnePlusOne", "NaiveTBPSA", "cGA", "RandomSearch").
intercept_sign = "non_negative", #Choose one of "non_negative" (default) or "unconstrained".
)
and getting the output via:
OutputCollect <- robyn_outputs(
InputCollect, OutputModels,
pareto_fronts = "auto", # automatically pick how many pareto-fronts to fill min_candidates
min_candidates = 100, # top pareto models for clustering. Default to 100
calibration_constraint = 0.1, # range c(0.01, 0.1) & default at 0.1
csv_out = "all", # "pareto", "all", or NULL (for none)
clusters = TRUE, # Set to TRUE to cluster similar models by ROAS. See ?robyn_clusters
plot_pareto = TRUE, # Set to FALSE to deactivate plotting and saving model one-pagers
plot_folder = results_path, # path for plots export
plot_folder_sub = '',
export = TRUE, # this will create files locally
refresh=FALSE,
ui=TRUE,
all_sol_json = FALSE
)
Environment & Robyn version
Make sure you're using the latest Robyn version before you post an issue.
Check and share Robyn version: packageVersion("Robyn") = Robyn_3.10.4.9000
R version (Please, check and share: sessionInfo() or R.version$version.string) R version 4.2.2 (2022-10-31)
Project Robyn
Describe issue
Since yesterday my container which installs robyn using: RUN Rscript -e "remotes::install_github('facebookexperimental/Robyn/R');" Is not working anymore because when training a model or an alocation i get :
Calculating response curves for all models' media variables (840)... Error in { : task 1 failed - "argument is of length zero"
Provide reproducible example
I run training via: OutputModels <- robyn_run( InputCollect = InputCollect, # feed in all model specification dt_hyper_fixed = NULL, # hyperparams from a previous list json_file = NULL, #JSON file to import previously exported inputs ts_validation = ts_validation, # TRUE, Robyn will split data by test, train, and validation partitions to validate the time series. add_penalty_factor = FALSE, refresh = FALSE, # Set to TRUE when used in robyn_refresh() seed = as.integer(sample(1:200, 1)), outputs = FALSE, # Process results with robyn_outputs() quiet = FALSE,# shut down verbosity cores = NULL, # NULL defaults to parallel::detectCores() -1 trials = set_trial,# 5, # Recommended 5 for default nevergrad_algo = "TwoPointsDE". iterations = set_iter, #2000, # Integer. Recommended 2000 for default when using nevergrad_algo = "TwoPointsDE". nevergrad_algo = set_hyperOptimAlgo, #"TwoPointsDE", # Options are c("DE","TwoPointsDE", "OnePlusOne", "DoubleFastGADiscreteOnePlusOne", "DiscreteOnePlusOne", "PortfolioDiscreteOnePlusOne", "NaiveTBPSA", "cGA", "RandomSearch"). intercept_sign = "non_negative", #Choose one of "non_negative" (default) or "unconstrained". ) and getting the output via: OutputCollect <- robyn_outputs( InputCollect, OutputModels, pareto_fronts = "auto", # automatically pick how many pareto-fronts to fill min_candidates
min_candidates = 100, # top pareto models for clustering. Default to 100
calibration_constraint = 0.1, # range c(0.01, 0.1) & default at 0.1
csv_out = "all", # "pareto", "all", or NULL (for none) clusters = TRUE, # Set to TRUE to cluster similar models by ROAS. See ?robyn_clusters plot_pareto = TRUE, # Set to FALSE to deactivate plotting and saving model one-pagers plot_folder = results_path, # path for plots export plot_folder_sub = '', export = TRUE, # this will create files locally refresh=FALSE, ui=TRUE, all_sol_json = FALSE )
Environment & Robyn version
Make sure you're using the latest Robyn version before you post an issue.
packageVersion("Robyn")
= Robyn_3.10.4.9000sessionInfo()
orR.version$version.string
) R version 4.2.2 (2022-10-31)