入职培训需要给公司产品提出一些算法方案来对产品进行优化。根据作业反馈向前辈们请教了一些问题,收获良多,在这篇文章中总结一下当需要针对产品提出算法方案时,方案中需要具备的一些比较通用的考量因素。
主要从功能,价值,可行性,必要性,数据,流程几个维度展开。
功能即你的算法方案具体是要对应产品中的哪一个功能或者某一个模块,比如增加一个推荐框。
价值即算法能给产品带来怎样的收益,比如常见互联网产品的回流,活跃度,留存率,转化率,付费率,玩家体验等。其中比较容易量化的比如留存,付费这些指标是比较具备说服力的。关于不太容易量化的一些指标则需要做出额外评估,主要是从对于用户的体验改善有多大,用户平时接触的频度有多高,结合产品周期考虑目标用户的比例这几个方面来考虑。
必要性,包括2个层面。第一个层面是这个方案本身有多大的必要去做,不管是产品,数据分析还是算法去做,前提是这个需求一定要有价值。然后第二个层面上的必要性是这个需求多大程度上需要依赖算法去做,也就是算法相对于其他方案有怎样的优势,这两个层面在方案中是需要覆盖到的。
可行性,也包括2个方面。一方面是技术方面的可行性,比如实时或者离线,吞吐量,响应时间这些。另外一个方面是这个方案是否具备具体的可行性,比如方案写的比较粗略,很多细节没有覆盖,那么在实际工作中可能就没有办法具体去推进,如果比较详细,比如有数据分析支撑,算法实施流程各个环节需要考虑什么东西都比较完善,那么和其他部门去推进合作的时候,就比较容易得到认同和支持,去把这个方案一步步推进直到最后上线,那么才能认为该方案具备一个较好的可行性。
数据即算法执行会用到哪些场景下的数据,比如用户画像,加购,展示,点击,购买,评论,社交等场景中的数据。以及数据的体量,因为数据的体量会影响到算法方案的选择。
关于流程的推进,基本上是以周(月)为单位进行总结,比如一个常见的算法工作周报,应该包括本周工作小结,下周计划,具体内容要涉及到模型调研,数据采集,模型迭代,工程优化,线上验证,竞品对比,对外合作等部分。