Robyn

Semi-Automated Marketing Mix Modeling (MMM) from Meta Marketing Science


Keywords
adstocking, budget-allocation, cost-response-curve, econometrics, evolutionary-algorithm, gradient-based-optimisation, hyperparameter-optimization, marketing-mix-modeling, marketing-mix-modelling, marketing-science, mmm, ridge-regression
License
MIT

Documentation

Robyn: Continuous & Semi-Automated MMM

The Open Source Marketing Mix Model Package from Meta Marketing Science

CRAN_Status_Badge website facebook CodeFactor

Introduction

  • What is Robyn?: Robyn is an experimental, semi-automated and open-sourced Marketing Mix Modeling (MMM) package from Meta Marketing Science. It uses various machine learning techniques (Ridge regression, multi-objective evolutionary algorithm for hyperparameter optimization, time-series decomposition for trend & season, gradient-based optimization for budget allocation, clustering, etc.) to define media channel efficiency and effectivity, explore adstock rates and saturation curves. It's built for granular datasets with many independent variables and therefore especially suitable for digital and direct response advertisers with rich data sources.

  • Why are we doing this?: MMM used to be a resource-intensive technique that was only affordable for "big players". As the privacy needs of the measurement landscape evolve, there's a clear trend of increasing demand for modern MMM as a privacy-safe solution. At Meta Marketing Science, our mission is to help all businesses grow by transforming marketing practices grounded in data and science. It's highly aligned with our mission to democratizing MMM and making it accessible for advertisers of all sizes. With Project Robyn, we want to contribute to the measurement landscape, inspire the industry and build a community for exchange and innovation around the future of MMM and Marketing Science in general.

Quick start (R only)

1. Installing the package

  • Install Robyn latest package version:
## CRAN VERSION
install.packages("Robyn")

## DEV VERSION
# If you don't have remotes installed yet, first run: install.packages("remotes")
remotes::install_github("facebookexperimental/Robyn/R")
  • If it's taking too long to download, you have a slow or unstable internet connection, and have issues while installing the package, try setting options(timeout=400).

  • Robyn requires the Python library Nevergrad. If encountering Python-related error during installation, please check out the step-by-step guide as well as this issue to get more info.

  • For Windows, if you get openssl error, please see instructions here and here to install and update openssl.

2. Getting started

  • Use this demo.R script as step-by-step guide that is intended to cover most common use-cases. Test the package using simulated dataset provided in the package.

  • Visit our website to explore more details about Project Robyn.

  • Join our public group to exchange with other users and interact with team Robyn.

  • Take Meta's official Robyn blueprint course online

Quick start (Python): TBA

Work in progress. Expect a Python wrapper soon.

License

Meta's Robyn is MIT licensed, as found in the LICENSE file.

Contact