克拉克拉:基于阿里云PAI实现渠道ROI投放预测系统

作者:阿里云MVP 田亮

了解更多:
克拉克拉(KilaKila):借力阿里云快速构建短视频推荐系统

业务背景
克拉克拉(KilaKila)是国内专注二次元、主打年轻用户的娱乐互动内容社区软件。KilaKila推出互动语音直播、短视频、对话小说等功能,满足当下年轻用户个性化、碎片化的文娱需求。APP产品在面对新用户获取问题,普遍选择渠道推广模式。在推广过程中为了用户下载到安装激活的高转化率,需要实时监控各推广渠道的质量。我们将渠道质量抽象成一个财务模型,即“投入产出比值”,较为理想状态是投入产出比大于等于1。
为解决以上业务需求,我们决定搭建一个回归预测系统。该系统可预测某一渠道未来一段时间后的收益,用预测收益与每日渠道投入做比值,也就是ROI指标。利用ROI指标来衡量渠道质量,最终决定当日哪些渠道可“投”,哪些渠道应该“停止”投放。

技术选型
面对渠道ROI业务,在研发资源选型上我们的主要考虑因素是如何利用已有技术方案快速实现项目落地。通过调研与资源对比,阿里云相关组件(OSS、OTS、MaxCompute、PAI)均满足要求且开发效率较高。
阿里云机器学习平台是构建在阿里云MaxCompute(原ODPS)计算平台之上,集数据处理、建模、离线预测、在线预测为一体的机器学习平台,可以提供一站式服务。这加速了我们实现ROI离线预测服务的快速落地。

训练集数据构建

image
▲图一 阿里云MaxCompute

基于MaxCompute 通过SQL脚本跑出所选取的几十个特征数据,这里我们选取了一年数据来做训练。
注:克拉克拉早期基于MaxCompute构建了庞大且完善的数据仓库,用户行为日志会实时收集到MaxCompute数仓中。

模型训练

我们使用阿里云PAI进行模型训练,左边滑动栏里包含了各种算法包和工具组件,其中包括数据预处理、特征工程、机器学习各种算法等。首先,通过读数据表(MaxCompute)的方式获取经预处理后训练数据,其中11个月历史数据做模型训练,余下一个月的数据用来做测试数据集。在面对脏数据或无效数据等问题,我们采用方案是数据清洗和缺失值填充。渠道ROI本质上是一个回归问题,影响渠道未来收益值结果的因素有很多。基于阿里云PAI平台中的线性回归算法非常适合解决ROI业务场景,以下为线性回归算法模型的训练流程以及模型参数配置。

image

▲图二:阿里云机器学习(PAI)平台,线性模型
image

▲图三:线性模型参数设置

离线模型部署
在ROI预测模型完成后,可将该模型部署为定时任务(小时,天,周等)。这里我们部署的预测周期为小时级别,即每小时会根据最新日志进行收益预测。该预测流程为基于MaxCompute定时跑出每小时新增日志的渠道预测值,该预测值可解决新渠道的收益预测,也可为已有渠道预测值的更新。 最后该预测值会同步到前端系统MySQL数据库中使用。

注:使用MaxCompute SQL脚本,有效提升训练和预测效率。中间结果均保存在数据表,可随时细节回顾与分析。在研发过程中,SQL解决99%计算问题。
image
▲图四:ROI预测模型

image
▲图五:渠道预测

image

▲图六:渠道投放系统

项目总结
经渠道运营工作人员实际使用验证后,7日预测值、30日预测值、100日预测值等指标均满足业务预期,预测准确率达95%。该项目上线后不但有效减少以往的渠道运营数据分析工作,而且可快速实现了渠道质量对比与成本分析。在投放机制上也由人工决策转为自动化决策。

猜你喜欢

转载自yq.aliyun.com/articles/684945