世界是被概率支配的
作为策略产品,我们首先要建立的认知是:世界是被概率支配的。
一方面,每个用户具备群体性,他的行为总会归属于某一个群体 或 多个群体。
另一方面,用户同样具备个体性 和 随机性,总会有偏离群体的行为与选择。
所以,策略产品首先要建立对于“概率”的认知:
承认个体性,我们不可能做到百分之百的用户满意。即便我们满足了用户全部所说的,他一样会心口不一。
发现群体性,去认知这个群体在特定场景下的意图、去尝试理解他们的行为,从而制造产品以迎合这一群体的在概率意义上的选择与行为。
如果放到体育赛事里,这个概率就是球队胜负的赔率
如果放到星座占卜里,这个概率就是我们认知的“令人厌恶的、严于律人的处女座”(呃,我就是处女座。。。。)
承认了概率之后,我们才会认知到“算法不是万能的,BadCase是永远存在”
不会说出“如果算法推的准,就不会有BadCase,用户就会非常满意”这类表述。
告别试图全知全能的妄念,转而去思考更好的与算法协作
从规则到深度学习
规则是最简单的策略实现
在实际的业务场景里,产品经理最容易给出的判断就是规则:”如果用户满足了条件A,就会触发动作B“
如果用户收藏了产品,就给用户进行推荐;
如果用户下单未支付,就给用户发短信 or 优惠券。。。。
诸如此类,都是最为典型的场景,IF-THEN 语句屡试不爽。
这些规则,就是最简单的策略实现。
我们通过一条线性的规则,将用户在特定场景下区分为两类:
- 一类人符合我们的条件,被归类为应该激发后续动作的A;
- 另一类人不符合我们的条件,被归类为不需要触发后续动作的B。
一如下图中的分类问题,那条蓝色的线,就是产品经理制定的最简单的规则。
然而,凡事总有例外,对于线性的规则尤甚。
在上面的图中,我们的线性规则,就没有完全的将蓝圈和红叉分开
在日常场景中,淘宝上最为人诟病的,就是用户收藏 && 购买了产品之后,还在连续不断的推荐同款产品。
为了修正这种问题,直观的想法就是进一步叠加和细化规则,即“打补丁”
比如,如果 用户收藏 且 未购买 产品后,在推荐中给用户推荐同款产品;
进一步,如果 用户 在一定时间段内 收藏 且 未购买某产品,在推荐中给用户推荐同款产品。
当我们需要基于多个因素进行判断之后,整个决策过程就变成了:
- 用户有没有收藏产品,如果有,继续
- 用户有没有购买产品
- 如果没有购买
- 用户收藏产品的时间有没有超过一个阈值,如果没有,继续
- 结果动作1:给用户推荐同款产品
- 如果有购买
- 用户购买产品的时间有没有超过一个阈值,如果没有,继续
- 结果动作2:给用户推荐关联产品
- 如果没有购买
在这个过程中,我们选取了:收藏、购买、收藏or购买行为的时间 作为判断依据,以决定最后给用户推荐同款产品 or 关联产品(如 奶粉 VS 纸尿裤)
这仅仅是一个规则;
当我们面对更多用户、更复杂场景的时候,就会不断添加更多的规则。
规则集合,就这样一步一步变得复杂而冗余。
当年,百度凤巢的专家系统,录入有上万条左右专家规则,有一个将近50人的团队维护这些规则。人力终有竟时,当面对这样一个庞然大物时,专家也无法再往里添加规则了,人的分析能力达到了极限,这也是需要引入机器学习这个机器大脑的原因所在。
比较简单的模型,如决策树。
类似我们上面描述的决策过程,选取了收藏、购买、收藏or购买行为的时间作为决策节点
在实际的应用中,可能还会引入更多的因素,如性别、年龄、城市、过往消费力等等。那这些决策节点的权重有高有低、在判断过程中有先有后,就形成了一棵朴素的决策树。
以选择西瓜为例,一棵可能的决策树如下所示:
当然,这个决策树也只保证在过往的训练数据 和 测试数据上表现较好,也依然会存在误判的情况。
更为复杂的模型,如神经网络
如果说上述决策树的示意图我们还能够比较容易的看懂,那么,当你开始研究当下大行其道的神经网络的时候,就会发现:在神经网络中,节点和节点之间的关系更为错综复杂,近乎到了人力无法解释的地步。
就像爱情,只是一种感觉,说不清也道不明。
请不要为难算法工程师,他没有办法给你解释,为什么输入狗的图片会输出鸵鸟的判断。
他只能非常负责任的告诉你:“在我们的训练数据集合上,这个模型的确更贴近训练目标的。”
从单一规则 到 复合规则
从符合规则 到 决策树管理更多的规则
再到干脆放弃规则判断,引入深度学习——让算法自己去学习吧,我不管了
如上过程,也能够让身为产品经理的我们,更好的了解概率二字,请不要再为难研发,说什么“明明一看,就知道该做出选择A啊,为什么算法会选择B呢?“
明明看的懂,但是算法不是明明~
如何与算法协作?
在建立起概率的认知,明确算法不是万能的,一定会出错的情况下,我们似乎可以更加心平气和的思考:自己如何与算法协作,才有可能带来业务上的收益。
我个人的观点是:明确场景、定义目标、输入数据、评估结果
明确场景
这是产品经理最该琢磨的事情。用户 X 时空,一定能够出现各种各样的子场景。
这也帮助我们将一个宏大的命题拆分为具体的、独立的子问题,逐个击破。
比如,在冷启动探索、低活跃度召回、高活跃度维系的不同场景下,用户的期待是什么?我们能否满足,如果不能满足,有无折衷的解决方案?
同样的推荐内容,在推荐、搜索、筛选等不同应用场景下,应该呈现出的差异是什么?
定义目标 与 输入数据
回顾这句话”在我们的训练数据集合上,这个模型的确更贴近训练目标的。“
当我们将算法应用于具体场景时,实际上就是在设定更有针对性的目标,完善相应的输入数据,从而使得算法能够更好的拟合我们的目标值。
以订阅制为例,可以将用户划分为两类:
对于未付费的会员用户,我们的关注点是如何用更有吸引力的商品、更低门槛的价格吸引他尝试;
而对于已付费的会员用户,我们的关注点则变成了如何让他更多的消费,从而让他觉得值、持续续费。
那么,在算法目标上,未付费的用户更适合设定转化目标,而已付费用户则更偏向时长目标。
对应的,我们也需要提供充分的数据,如不同用户付费前、付费后的内容消费行为数据、不同内容对于付费转化的贡献等等数据,供算法进行学习和判断。
评估结果
算法的学习是基于训练数据的,是否真的好,还需要上线见真章。
所以,产品经理对于结果可以更加开放,不要试图证明自己是对的,而是用平常心接受AB实验的结果。
在一次又一次的产品迭代中,积累产品Sense,从而能够做出更准确的预估:某一个产品决策是有更大的概率会做出收益的。
这个角度想,我们在用产品方案一次次的训练算法的时候,未尝不是一次次对于自己的训练呢?
策略产品经理的进步,无他,唯手熟尔