
Robyn 是什么?:Robyn 是 Meta 营销科学团队开发的一款实验性、半自动化且开源的营销组合模型(MMM)包。它综合运用多种机器学习技术(岭回归、用于超参数优化的多目标进化算法、用于趋势与季节性的时间序列分解、基于梯度的预算分配优化、聚类等),来定义媒体渠道的效率与效果,并探索广告折现率与饱和曲线。该工具专为包含大量独立变量的细粒度数据集而设计,因此尤其适合拥有丰富数据源的数字营销与直接响应广告主。
我们为何要做这件事?:MMM 过去是一种资源密集型技术,只有“大玩家”才负担得起。随着测量领域对隐私保护需求的演变,对现代 MMM 作为一种隐私安全解决方案的需求明显增长。在 Meta 营销科学团队,我们的使命是通过基于数据与科学的营销实践变革,帮助所有企业成长。这与我们推动 MMM 普及化、使其惠及各种规模广告主的目标高度一致。借助 Robyn 项目,我们期望为测量领域做出贡献,启发整个行业,并围绕 MMM 与营销科学的未来,构建一个交流与创新的社区。
Robyn 同时提供 R 和 Python 版本。安装与使用指南请见下文。请注意,当前 Python 版本是基于大语言模型翻译的 Beta 版,可能会遇到一些 bug。
1. 安装 R 包
## CRAN 版本
install.packages("Robyn")
## 开发版本
# 如果尚未安装 remotes,请先运行:install.packages("remotes")
remotes::install_github("facebookexperimental/Robyn/R")
如果下载耗时过长(网络慢或不稳定)导致安装时遇到问题,可尝试设置 options(timeout=400)。
Robyn 依赖 Python 库 Nevergrad。如果在安装过程中遇到与 Python 相关的错误,请参考分步指南以及此 issue 获取更多信息。
2. 开始使用
请使用 demo.R 脚本作为分步指南,该脚本涵盖了最常见的用例。使用包内提供的模拟数据集进行测试。
访问我们的网站了解更多关于 Robyn 项目的详细信息。
加入我们的公共小组与其他用户交流,并与 Robyn 团队互动。
在线学习 Meta 的官方 Robyn 蓝图课程。
Python 版本的 Robyn 是基于 Robyn 的 R 包版本 3.11.1,采用面向对象编程原则和模块化架构从零重写而来,以提供稳健的解决方案。该版本利用了多种大语言模型和 AI 工作流(如 Llama)。与任何基于 AI 的解决方案一样,将代码从一种语言翻译到另一种语言时可能会遇到一些挑战。本次从 R 到 Python 的翻译可能也会存在一些问题。但我们相信社区协作和开源贡献的力量。因此,我们向社区开放该项目,邀请大家参与和贡献力量。共同解决可能出现的任何问题,提升 Python 版本 Robyn 的功能和效率。期待您的贡献,并与您一同持续改进该项目。
# 打开 R 控制台(在命令提示符/PowerShell 中运行)
R
# 然后在 R 控制台中安装 glmnet
install.packages("glmnet")
# 退出 R 控制台
q()
# 打开终端并运行 R
R
# 然后在 R 控制台中安装 glmnet
install.packages("glmnet")
# 退出 R 控制台
q()
# 创建虚拟环境
python -m venv robyn-env
# 激活虚拟环境
robyn-env\Scripts\activate
# 创建虚拟环境
python3 -m venv robyn-env
# 激活虚拟环境
source robyn-env/bin/activate
选择以下一种安装方式:
# 从 PyPI 安装(推荐)
pip3 install robynpy
# 或从源码安装开发版本
pip3 install -r requirements.txt
python/src/robyn/tutorials 目录包含了针对最常见场景的教程,并使用内置的模拟数据集。
有两种运行 Python Robyn 的方式:
python/src/robyn/robyn.py 中的 APIPython 版 Robyn API(Beta 版)于 2023 年 11 月 22 日首次发布,是一个基于 plumber 的解决方案,需要先安装 Robyn R 包。当 Python 原生版本尚不可用或未更新时,此 API 可作为一种临时替代方案。请参阅此处的使用指南。
Meta 的 Robyn 采用 MIT 许可协议,详见 LICENSE 文件。