Recent Releases of Robyn
Robyn - v3.12.0 [GitHub R]
What's Changed
Exposure fitting, curve calibration & reach and frequency allocator (https://github.com/facebookexperimental/Robyn/pull/1132) * feat: enable exposure fitting - Exposures (Imp/GRP etc) will be prioritised over spend for parent model fitting - Deprecate function fitspendexposure, incl. Michaelis Menten. Nonlinear fitting between spend and exposure wasn't improving fitting significantly. Instead, future curve calibration feature will aim to improve curve identification. - Use cpe (cost per exposure) as ratio for spend to exposure translation. use cpe_window to scale the whole dataset in order to obtain the right spend scale for modeling period. - remove minpack.lm / nlsLM dependency - update exposure plot
- feat: The curve calibrator - robyn_calibrate
- Simulate cumulative R&F dataset with frequency bucket
- add beta coef besides alpha and gamma to nevergrad hyperparameter to improve curve fit
- plot with freq_bucket as well as onepager per trial
- add dfcurvereach_freq as dummy dataset
- create robyn_calibrate that consumes curve input and outputs hyperparameter ranges as input.
- Rename previous internal robyncalibrate function as liftcalibration
- early stop convergence with while loop
update documentation
prototype: reach and frequency allocator This is the proof of concept of a R&F allocator that includes
Simulated R&F data
The R&F hill params are estimated using a multiplicative equation with Nevergrad
visualisation of surface
R&F allocator with nlopt
constrain validation
update: checks, input, transformation & website
simplify various check functions
adapt model.R, incl. reset run_transformations params to have clearer overview of params needed. simplify transformation.R by removing unnecessary checks
In model.R & pareto.R: remove decompSpendDist from both scripts to reduce memory leak. Use xDecompAgg subsets instead
In transformation.R & response.R: unify transformation namings in runtransformation and robynresponse
In response.R: remove exposure extrapolation because it's already done in robyn_input. Also add inflexion point to output.
In plots.R: fix onepager saturation plot issues
In pareto.R: rewrite rundtresp() as response_wrapper and align transformation logic & naming.
In pareto: Replace foreach response loop with lapply for simplicity.
In pareto.R: Simplify plot data generation process, esp for saturation curve plot, actual vs predicted plot & immediate vs carryover plot.
In pareto.R: Remove redundancy in xDecompVecCollect -> remove type rawMedia, rawSpend, predictedExposure, saturatedMedia & saturatedSpendReversed. Only keep adstockedMedia & decompMedia for response curve plotting.
add setdefaulthyppar for easier testing
website update for all above changes
Contributors
@gufengzhou, @laresbernardo
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.11.0...v3.12.0
- Jupyter Notebook
Published by gufengzhou about 1 year ago
Robyn - v3.11.1 [CRAN]
What's Changed
- fix: one-pager decomp labels and warning by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/1011
- Jupyter Notebook
Published by laresbernardo over 1 year ago
Robyn - v3.11.0 [CRAN]
What's Changed
- Add objective weights by @gufengzhou in https://github.com/facebookexperimental/Robyn/pull/826
- build(deps): bump @babel/traverse from 7.21.5 to 7.23.2 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/842
- feat: check and fix allsoljson & new pareto_df parameters inputs by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/843
- feat + fix: bundle fixes and improvements on json files by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/852
- fix: compatibility with legacy files on robyn_recreate() by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/865
- Fix #850 & #838 by @michellegrushkometa in https://github.com/facebookexperimental/Robyn/pull/864
- Robyn api by @yu-ya-tanaka in https://github.com/facebookexperimental/Robyn/pull/863
- fix: crashed cut() when monthly data by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/868
- fix: when all values on a column are negative crash by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/871
- fix: winsorize errors with na.rm = TRUE #872 + InputCollect print when no prophet by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/875
- Bundle of small fixes and feats by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/882
- fix: foreach seed for reproducibility + dtsimulatedweekly dataset by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/907
- Robyn api update notebook and endpoint by @yu-ya-tanaka in https://github.com/facebookexperimental/Robyn/pull/912
- fix: avoid overwriting csv when scenario changes by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/913
- fix: intercept param in outputs + ts_validation plot for convergence by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/917
- build(deps): bump follow-redirects from 1.15.3 to 1.15.4 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/899
- feat: enable baselinelevel param for decompplot() + let NULL solID when single model available +docs: update robyn_response() examples by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/923
- docs: clarify objective_weights order by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/929
- feat: add clusters information to one-pagers, fix metric notes, reduce texts sizes, no ng check to recreate + fix: RNG warning by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/928
- feat: keep custom exported data from JSON when recreating model & use raw_data if available + update docs by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/930
- fix: mediaVecCollect's organic vars weren't being multiplied by coef values + InputCollect print when no prophet country set by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/936
- fix: One or both dimensions exceed the maximum (50000px) error #874 by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/939
- build(deps): bump follow-redirects from 1.15.4 to 1.15.6 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/941
- build(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/943
- build(deps): bump express from 4.18.2 to 4.19.2 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/947
- fix: target = 1 error and better constraints check by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/942
- Fixed error when ts_validation is false. by @yu-ya-tanaka in https://github.com/facebookexperimental/Robyn/pull/965
- bl01: refresh fixes and improvements + others by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/969
- build(deps): bump braces from 3.0.2 to 3.0.3 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/997
- fix: refresh hyps check + use data available in json + refresh hyps + upper constraints fix when higher than mean by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/974
- build(deps): bump ws from 7.5.9 to 7.5.10 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/999
- docs: CRAN 3.11.0 by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/1001
New Contributors
- @yu-ya-tanaka made their first contribution in https://github.com/facebookexperimental/Robyn/pull/863
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.10.5...v3.11.0
- Jupyter Notebook
Published by laresbernardo over 1 year ago
Robyn - v3.10.5: Objective function weight, Meta MMM API beta, website tab "Features" revamp, bug fixes
- Feat: New arg
objective_weightsinrobyn_run()to allow manual tuning of weights for objective functions (NRMSE, DECOMP.RSSD, MAPE.LIFT). Default weight is even weights c(1,1,1). Note: This is experimental and there's no guidance on how weights biases modelling. Commit here - Feat: Meta MMM API connector demo, a beta script. Commit here
- Doc: Updated and revamped the website "features" tab, also reorganised the navigation. see here
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.10.3...v3.10.5
- Jupyter Notebook
Published by gufengzhou over 2 years ago
Robyn - v3.10.3: Objects size reduction, RSSD penalty for 0 effect media
More details on Facebook's Robyn Community post
- Feat: Reduced object sizes up to 88% #687
- Feat: RSSD penalty for 0 media effects media (parameter) #680
- Feat: Always constraint prophet coefficients to 0-1 #686
- Feat: Windsorized NRMSE on multi-objective optimization plots [1/500 default threshold] to avoid extreme skewness #693
- Feat: New
interceptparameter passed toglmnet()#722 - Fix: Return meaningful error when, after filtering by modeling window, a variable has no variance #619
- Fix: Removed negative carryover outputs for Weibull PDF adstock #706
- Fix: Correctly pass
plot_folderinput onrobyn_refresh()#708
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.10.2...v3.10.3
- Jupyter Notebook
Published by laresbernardo almost 3 years ago
Robyn - v3.10.2: Refresh model selection and small bugs
- Fix: when running
robyn_refresh(), select the refresh model by error_score value correctly #674 - Fix: pass
penalty.factorwhen dropping intercept too - Fix: when importing holidays data, force date values as dates #663 by @richin13
- Docs: update several documentations across functions and site
New Contributors
- @richin13 made their first contribution in https://github.com/facebookexperimental/Robyn/pull/663
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.10.1...v3.10.2
- Jupyter Notebook
Published by laresbernardo almost 3 years ago
Robyn - v3.10.1 - New “Target Efficiency” scenario for budget allocator
More details in post: Hitting ROAS target using Robyn’s budget allocator
- Feat: allocator's new scenario "target_efficiency" for ROAS/CPA target #648
- Fix: inverted CPA in allocator viz table #640
- Fix: re-enable experimental addpenaltyfactor feature
- Fix: re-include spend from skipped channels #645
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.10.0...v3.10.1
- Jupyter Notebook
Published by laresbernardo almost 3 years ago
Robyn - v3.10.0: Allocator upgrade
More details in post: The convergence of marginal ROAS in the budget allocation in Robyn
- Feat: all new one-pager for
robyn_allocator()showing initial, bounded and less-bounded scenarios, using last month's worth of data by default. Relevant changes from previous versions: initial spend is now mean of date range selected, not non-zero mean anymore + deprecated "maxresponseexpected_spend" scenario + carryover information is now provided in the curves + inform user when budget is topped and can't be fully allocated + added mROAS / mCPA for better understanding of allocation. And one step closer to the forecast functionality. #600 - Feat:
robyn_response()now requires date or date range for adstocking (last period by default) and accepts single or multiple values to return different use cases and scenarios. - Feat: new
transform_adstock()exported wrapper function. - Feat: added NRMSE validation on test set.
- Feat: added prophet monthly component.
- Fix: issue with differences on
OutputCollect$OutputModelsandOutputModelsto producets_validationplot. #596 - Fix: added correct solID for fixed hyperparameters (not 111).
- Recode: reduced the size of
xDecompVeconOutputCollectto only pareto-front models. - Recode: got rid of "ggcorrplot" and "rPref" package dependencies.
- Docs: added blueprint link to demo.R.
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.9.0...v3.10.0
- Jupyter Notebook
Published by laresbernardo almost 3 years ago
Robyn - v3.9.0: Time-series validation feature
- Feat: new time series validation via time-series train/val/test dynamic splits and Adjusted R2 and NRMSE metrics reported for each group feature #545. We are adding an additional
train_sizehyperparameter to pick the size of the training size, which by default will iterate in the range of 0.5-0.8. Given it's a hyperparameter, you can change the range or fix the value manually. Turn on/off this feature using thets_validationnew parameter onrobyn_run(); default is set toFALSEfor now. This is an important step for the forecasting coming function. - Feat: new
ts_validation()function to plot time-series validation and convergence results. Generated and exported by default whents_validation = TRUE, and whenexport = TRUE, creatingts_validation_plot.pngfile. - Fix: updated Adjusted R2 calculation (
get_rsq()) for time-series validation using same denominator. - Fix: results are not sorted by lowest errors now to keep iteration results actual order.
- Feat: added prophet monthly component to enrich decomposition results #525
- Fix: correct solID (not "111") for fixed hyperparameters recreated models.
- Recode: reduced the size of
xDecompVeconOutputCollectby keeping pareto-front models only. - Docs: changed standard inputs on demo.R file for modeling window to include more data (3 years by default).
New Contributors
- @michellegrushkometa made their first contribution in https://github.com/facebookexperimental/Robyn/pull/559
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.8.2...v3.9.0
- Jupyter Notebook
Published by laresbernardo about 3 years ago
Robyn - v3.8.2: Memory friendly outputs, progress bars for Pareto-front models, bugs and docs
- Feat: new status bars for Pareto-Front models per trial to provide information on calculation status
- Feat: included carryover results into paretoaggregated.csv output and `OutputCollect$xDecompAgg$carryoverpct`
- Feat: new error message shows which hyperparameters inputs are missing #543
- Fix: substantially reduced the size of
robyn_run()androbyn_outputs()results (around -80% compared with 3.8.1 version's size) by removing redundant and unused data from outputs #534 - Fix: invalid argument type in check_factorvars() and issue recreating calibrated models #520
- Fix:
add_penalty_factorparameter now works correctly with JSON files androbyn_refresh()#543 - Fix: correct hyper-parameters length for custom data #533
- Fix: bug in RobynLearn when checking numerical data #532
- Fix: removed .iData format for legacy demo .RData files
- Fix: passing custom
pareto_frontsinput instead of "auto" now works as expected - Docs: updated released version on website, meta.com emails, update CRAN link on
robyn_update()
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.8.0...v3.8.2
- Jupyter Notebook
Published by laresbernardo over 3 years ago
Robyn - v3.8.0 - Bootstrapped CI, Immediate vs Carryover, Multi-channel calibration
- Feat: Added in-cluster bootstrapped confidence intervals (CI) for ROAS and CPA. We treat each cluster of Pareto-optimal model candidates as a sample from a local optimum of the entire population. Default parameters can be customized manually with
boot_nandsim_narguments. - Feat: New
robyn_calibrate()function that replaces previous un-exported functioncalibrate_mmm(). The new calibration method is able to separate immediate & carryover effects. When calibrating using experimental results, only the immediate response and its future carryover serve as a calibration target, as opposed to previously the total response. The historical response is excluded from calibration. - Feat: Enabled multi-channel calibration so we can use experiments that measured more than one channel with a single experiment to be used for calibration (i.e. incrementality experiment measured all
fbbut you hadfb_brandandfb_perfas two separate media channels/variables). - Feat: Added 2 new plots into model one-pager: bootstrapped CI plot and immediate vs carryover response plot.
- Feat: Changed default Pareto-fronts from
3to”auto"to pick the N that contains at least 100 models (threshold can be changed manually withmin_candidatesparameter). - Recode: improved CodeFactor's code quality score from C- to A
- Feat: Additional CI outputs containing revamped plot and CSV file.
- Feat: Enabled turning off parallel calculations when
cores = 1. - Fix: Fixed few minor bugs and doumentations (#496, #506, #507, #515)
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.7.2...v3.8.0
- Jupyter Notebook
Published by gufengzhou over 3 years ago
Robyn - v3.7.2 - CRAN update, partial results, more reproducibility
- Feat: wrap
robyn_mmm()with atryCatch()to return partial results if the function crashes after a certain time running and warns the user when this happens - Feat: auto-detect categorical variables (no need to set
factor_varsparameter inrobyn_inputs()) - Feat: include R and Robyn's versions to JSON files and InputCollect for reproducibility
- Feat: export/save raw data input for reproducibility (raw_data.csv file)
- Feat: set
Robyn::dt_prophet_holidaysas default input ondt_holidaysparameters - Fix: inverted counters in
check_hyperparameters()message #474 - Fix: force date format before binding rows in
robyn_refresh()#480 - Fix:
check_context()was being skipped in some cases - Fix: when only 1 categorical value with 2 unique values crashed one-hot-encoding
- Docs: updated templates for issues and pull requests
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.7.1...v3.7.2 Full Changelog since last CRAN update: https://github.com/facebookexperimental/Robyn/compare/v3.6.3...v3.7.2
- Jupyter Notebook
Published by laresbernardo over 3 years ago
Robyn - v3.7.1 - JSON import/export, reactivate spend exposure fitting Latest
- Feat: new
robyn_read()androbyn_write()functions to save and load Robyn models in a transparent, flexible, and cost-efficient way using JSON instead of RDS files (read more); also, newprintmethods for both objects containing the most relevant information - Feat: new
robyn_recreate()to rebuild any model'sInputCollectandOutputCollectobjects based on their JSON files and data - Feat: reactivated spend exposure fitting and plotting #463
- Feat: updated
robyn_response()to receive numeric vectors #464 - Feat: enabled
calibration_inputonrobyn_refresh()to calibrate on the fly and more robust checks on data inputs - Feat added Robyn and R versions as the caption in one-pagers to help users debug
- Feat: trimmed spend response curves on
robyn_allocator()androbyn_onepagers()plots outputs - Fix: missed intercept calculation in fitted vs residual plot #462
- Fix: when single categorical value had 2 levels it crashed the one-hot-encoding process
- Fix: datasets with no categorical data crashed when using one-hot-encoding #419
- Fix: no need to manually sort the dates before passing the data to
robyn_inputs(). Ref:check_datevar()#448 - Fix: fixed ggplot warnings on some plots (previously hidden with suppressWarnings)
- Other: added badges with website and Facebook group in README files (see here), updated documentation and website, and more data checks on user inputs
New Contributors
- @Tomobay made his first contribution #464
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.7.0...v3.7.1
- Jupyter Notebook
Published by laresbernardo over 3 years ago
Robyn - v3.7.0 - Total recoding, UX feats, and combined errors fix
Relevant changes on v3.7.0:
- Recode: got rid of data.table dependency for r2py wrapper and removed all
globalVariablesassociated noise - Recode: all code is now clean and formatted under the tidyverse code style for better code reading and standardization
- Feat: trimmed functionality for response curves on one-pagers outputs to have coherent ranges plotted
- Feat: enabled channels removal on
robyn_allocator()by setting their constraints to 0 #411 - Feat: when manually selecting refresh models in
robyn_refresh(), re-ask user until valid solID is provided, instead of crashing - Feat: new
plotand improvedprintmethods forrobyn_refresh()outputs - Feat: include time units used in adstock plots for clarity
- Feat: enabled organic media variables to be calibrated (no spend)
- Fix: when best model based on minimum combined errors was tied with other models, inconsistent outputs (one-pagers / clustering). Standardized combined errors methodology with new
errors_scores()function, especially normalizing errors before filtering models. The largest the "error_score", the better the model's performance #428 - Fix: show blue dots on top of grey dots in Pareto plots #420
- Fix: positive/negative colour palette on waterfall plot when all values are positive
- Fix: set prophet's print as disabled when prophet_vars input is NULL (off)
- Docs: added CRAN, site, and FB group badges on README files
- Docs: several typos and documentation updates
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.6.3...v3.7.0
- Jupyter Notebook
Published by laresbernardo over 3 years ago
Robyn - v3.6.3 - CRAN version, site revamp, more inputs flexibility
Relevant changes on v3.6.3:
- CRAN: First Robyn version available via CRAN. From now on, install CRAN's for stable version, GitHub's for dev version.
- Docs: Site revamp #372, documentation updates and demo enrichment
- Feat: Added
version_promptparameter to robyn_refresh() #375 - Feat: Added new calibration checks to ensure quality experiments usage
- Feat: New
date_minanddate_maxparameters onrobyn_allocator()to pick non-0 means window - Feat: New
robyn_update()function - Feat: More checks and warnings included to push users to follow best practices.
- Refactor: Changed 1 to 3 Pareto fronts as default to enrich
robyn_clusters()results - Refactor: Changed default thresholds on
robyn_converge()to be more flexible - Fix: Several bugs squashed
New Contributors
- @mast4461 made their first contribution in https://github.com/facebookexperimental/Robyn/pull/362
- @JustStas made their first contribution in https://github.com/facebookexperimental/Robyn/pull/375
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.6.2...v3.6.3
- Jupyter Notebook
Published by laresbernardo almost 4 years ago
Robyn - v3.6.2: Allocation and plot improvements, new warnings, bugs fixed
Relevant changes on v3.6.2:
- Viz: removed redundant information on plots and standardized styles and contents on all visualizations.
- Feat: new
date_minanddate_maxparameters onrobyn_allocator()to pick specific date range to consider mean spend values (user request). - Feat: new
plotmethods forrobyn_allocator()androbyn_save()outputs, andprintmethod forrobyn_inputs()with and without hyperparameters. - Feat: provide recommendations on calibration inputs depending on the experiments' confidence, spending, and KPI measured (#307).
- Feat: warn and avoid weekly trend input when data granularity is larger than "week".
- Fix: issues on several
robyn_allocator()specific cases (#349, #344, #345), especially when some coefficients were 0. - Fix: bug with Weibull adstock scenario (#353).
- Docs: fixed some typos, updated, and standardized internal documentation.
Commits log
- Fix jde 20211209 by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/234
- Added a couple file to run the code with actual data by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/235
- Jde 20211209 general and troubleshoot by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/236
- quick updates by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/237
- quick updates by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/238
- Updated for fix object to work. Updating check conditions to work by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/254
- build(deps): bump follow-redirects from 1.14.7 to 1.14.8 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/302
- Fix by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/303
- Revert "Fix" by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/304
- Updated with master branch. Created new Robyn file by @jeffedwards in https://github.com/facebookexperimental/Robyn/pull/305
- PR v3.6.0 by @gufengzhou in https://github.com/facebookexperimental/Robyn/pull/314
- build(deps): bump url-parse from 1.5.3 to 1.5.7 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/311
- build(deps): bump prismjs from 1.25.0 to 1.27.0 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/326
- build(deps): bump url-parse from 1.5.7 to 1.5.10 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/327
- Weibull testfix by @kyletgoldberg in https://github.com/facebookexperimental/Robyn/pull/355
- Fix log message "Using custom prophet parameters" by @andrey-legayev in https://github.com/facebookexperimental/Robyn/pull/356
- build(deps): bump minimist from 1.2.5 to 1.2.6 in /website by @dependabot in https://github.com/facebookexperimental/Robyn/pull/357
- Allocation and plots improvements. Version 3.6.2 by @laresbernardo in https://github.com/facebookexperimental/Robyn/pull/361
New Contributors
- @kyletgoldberg made their first contribution in https://github.com/facebookexperimental/Robyn/pull/355
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.6.0...v3.6.2
- Jupyter Notebook
Published by laresbernardo almost 4 years ago
Robyn - v3.6.0 - Add new hyperparameter, new convergence metric, improved response function, prints and better allocation stability
What's New in v3.6.0
- New hyperparameter "lambda" finds MOO-optimal lambda and thus removes the need of manual lambda selection.
- New optional hyperparameter
penalty.factorthat further extends hyperparameter spaces and thus potentially better fit. - New optimisation convergence rules & plots for each objective function showing if set iterations have converged or not (NRMSE, DECOMP.RSSD, and MAPE if calibrated)
- Improved response function now also returns the response for exposure metrics (response on imps, GRP, newsletter sendings, etc) and plots. Note that argument names and output class has changed. See updated
demo.Rfor more details. - More budget allocation stability by defaulting fitting media variables from
paid_media_varstopaid_media_spends. Spend exposure fitting with Michaelis Menten function will only serverobyn_response()function output and plotting.robyn_allocator()now only relies on direct spend - response transformation. - Default beta coefficient signs: positive for paid & organic media and unconstrained for the rest. Users can still set signs manually.
- New print methods for
robyn_inputs(),robyn_run(),robyn_outputs(), androbyn_allocator()outputs to enable visibility on each step's results and objects content.
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.5.1...v3.6.0
- Jupyter Notebook
Published by gufengzhou about 4 years ago
Robyn - v3.5.0 - Add clustering method for model selection and split robyn_run()
What's New in v3.5.0
- New
robyn_clusters()function to reduce the number of models to select from after Pareto front solutions are picked - Auto-select K clusters given a minimum WSS variance on
robyn_clusters() - Split
robyn_run()functionalities intorobyn_outputs()for more control over modelings results and exporting process - Enabled custom prophet inputs to be used in modeling and refreshing models
- Enabled users to use all outputs without the need of exporting results (Shiny devs)
- New
hyper_limits()helper function with permitted hyper-parameters limits - New quiet mode to reduce prints and messages, few recoding, and overall improvements
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.4.8...v3.5.0
- Jupyter Notebook
Published by laresbernardo about 4 years ago
Robyn - v3.4.8 - Add parallel in plotting and improve parallel in model loop
- 20% - 40% faster in the major modelling loop
- 50% fasterr in plotting loop for linux & windows users
- Jupyter Notebook
Published by gufengzhou about 4 years ago
Robyn - v3.4.4 - fixed loading old model & refresh bug
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.4.3 - New ROAS convergence plot & various updates
- Added ROAS convergence plot
- Adapted weibull adstock plots in one-pager
- Added csvout parameter in robynrun() to allow all iteration csv output
- Fixed refresh plot level limits and added robyn_palette()
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.3.2 - Adapt allocator histSpendShare
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.0.0 - Deployment Robyn 3.0.0
- Added R package
- Added robyn_refresh() function
- Added robyn_response() function
- Added windowstart, windowend in robyn_inputs()
- Added organicvars in robyninputs()
- Improved nevergrad performance
Details of 3.0.0 release see here
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.0.2 - fixed weekday check
- fixed weekday check
- updated demo.R
- updated license
- updated readme
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.0.3 - Fixed the "get old model results" error
- Fixed the "get old model results" error
- updated documentation
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.0.4 - fix plot_folder bug to save plots in right path
- fix plot_folder bug to save plots in right path
- included hex badge
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.1.0 - Deploy calibration_constraint parameter in robyn_run()
- The calibrationconstraint parameter in robynrun() takes on value from 0.01-0.1 and defaults at 0.1. For calibrationconstraint = 0.1, top 10% of calibrated model will be considered in pareto optimality calculation. Reducing calibrationconstraint results in higher calibration accuracy, but requires more iteration.
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.1.1 - update check_datevar, convert date_var to class iDate automatically
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.2.0 - Deploy lambda_control parameter in robyn_run()
- The lambdacontrol parameter in robynrun() takes on numeric value from 0-1 and tunes L2 regularization between lambda.min and lambda.1se. Default sets lambdacontrol = 1, meaning lambda.1se. Reducing lambdacontrol results in reduction of regularization.
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.2.1 - Deprecation notice for source sub-directory
- The source sub-dir contains legacy Robyn 2.0.0 scripts before the package version. Deprecation date is set to be 2021-10-24
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.2.2 - improve weibull adstocks' performance
- replace the inner apply function by vector multiplication within the mapply function in weibull adstock function to accelerate the function
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.3.1 - Add seed for reproducible results
What's Changed
- For reproducible results, a new seed parameter was included into robynmmm() and robynrun() to set numpy's seed before running any py operation within robyn_mmm().
- Jupyter Notebook
Published by gufengzhou over 4 years ago
Robyn - v3.3.0 - Deploy Weibull PDF adstock
What's Changed
- added weibullpdf as option into adstockweibull() and adapted all related functions
- improved documentation and readme
Full Changelog: https://github.com/facebookexperimental/Robyn/compare/v3.2.2...v3.3.0
- Jupyter Notebook
Published by gufengzhou over 4 years ago