gitbook/成为AI产品经理/docs/322733.md
2022-09-03 22:05:03 +08:00

114 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 05 | 通过一个 AI 产品的落地,掌握产品经理工作全流程
你好,我是海丰。
对于任何一家互联网公司来说,用户流失都是我们必须要关注的一个问题。就拿我们公司的电商平台来说,一个很常见的问题就是,新用户的增长逐年缓慢,同时还伴随着老用户的不断流失。当遇到这种情况的时候,作为产品经理,我们该采取哪些措施,来降低用户的流失率呢?
今天,我就通过我曾经主导过的一个预测用户流失的项目,带你了解一个 AI 产品从筹备到上线的全流程。从中,你可以体会到 AI 产品经理的完整工作流程是什么,每一个环节都有什么角色参与,每个角色需要做什么工作,他们的产出又都是什么。这能让你明白自身能力和岗位之间的差距,也是你自己主导一个 AI 产品的时候,可以用来借鉴和参考的。
不过,我今天讲的上线流程是基于我们公司的业务场景和经验总结出来的,不能保证和所有公司的流程都一致,但无论如何,我们做事的底层逻辑都是一样的。
话不多说,我们正式开始今天的课程吧!
## 业务背景
我们公司是一个电商平台,有段时间我们发现,每个月老用户流失的数量已经远高于新用户的拉新数量,为了防止这个缺口越来越大,我们决定对可能流失的用户做提前预警,同时采取一些措施来挽留这些用户,实现这个目标的前提就是要开发一套用于预测流失用户的产品。
那具体怎么做呢?我先把我们当时开发这个产品的流程放在下面。接下来,我再分步骤给你详细讲讲,每一步我们都是怎么做的,以及要重点注意什么。
![](https://static001.geekbang.org/resource/image/ec/ed/eca90ee7961b4f8b6ef7a814887493ed.jpeg)
## 产品定义
当决定实现这个产品之后,首先我们要做的就是定义产品需求,明确做这件事情的背景、价值、以及预期目标都是什么。
在这个环节中,我们会和业务方共同沟通,来决定我们的业务预期目标是什么,期望什么时候上线。这里,我提到的业务方可能是运营同学,也可能是商务同学,这和你是一个 ToC 还是 ToB 的产品经理相关。
在这个预测用户流失的项目中,我的业务方就是运营,我们的期望是通过算法找出高流失可能性的人群,对这些人进行定向发券召回。这个项目的最终目标是,通过对高流失可能性的人群进行干预,让他们和没被干预过的人群相比,流失率降低 5%。
同时,由于我们运营计划是按月为节奏的,所以这个模型可以定义为离线模型,按月更新,每月月初预测一批流失人群。并且,我还期望这个模型的覆盖率能够达到 100%,让它可以对我们业务线所有用户进行预测。这些就是我们对模型的更新周期、离线/实时模式、覆盖率等相关要求了,我们需要把它们都记录到一份需求文档中。
## 技术预研
需求确定之后,产品经理需要和算法同学进行沟通,请算法同学对需求进行预判。具体来说,就是要判断目前积累的数据和沉淀的算法,是否可以达到我们的业务需求。如果现有数据量和数据维度不能满足算法模型的训练要求,那产品经理还需要协助算法同学进行数据获取,也就是后面我们要说的数据准备工作。
当然,**即使数据达到算法的需求,产品经理也还是需要协助算法同学做数据准备,因为垂直业务线的产品经理更了解本领域的数据。**
另外,在这个环节中,你可能还需要根据算法的预估,对需求的内容进行调整。比如,我们原定覆盖率为 100%,但是和算法同学沟通后发现,有部分刚刚注册的新用户是没有任何数据的。对于这部分人,算法无法正常打分,而且新用户也不在流失用户干预范围内,所以,我们后面会根据目前新老用户比例得到新的覆盖率指标,再把它放到需求中去。
## 数据准备
然后,我们就进入数据准备的环节了。这个环节,我们需要根据模型预研的结果以及公司的实际情况,帮助算法同学准备数据。
原因我们刚才也说了,就是因为产品经理基于对业务的理解,能判断哪些数据集更具备代表性。而算法同学,只能根据现有的数据去分析这些数据对模型是否有用,因为有些业务数据算法同学是想不到,所以自然不会去申请相关数据权限,也就不会分析这部分数据存在的特征。
比如说,我们在过去的用户调研中发现,用户一旦有过客诉并且没有解决,那么大概率会流失。如果出现了客诉,用户问题得到了很好地解决,反而可能成为高粘性的客户。这时候,我们就会把客诉数据提供给算法同学,请他们去申请数据表权限,评估数据是否可用。反之,如果我们没有把这些信息同步给算法同学,那么很可能我们就缺失了一个重要的特征。
在数据准备的部分,由于数据的不同,我们的获取方式也会有很大的差别。总的来说,数据可以分为三类,分别是内部业务数据、跨部门集团内数据以及外部采购的数据。接下来,我就分别说说这些数据怎么获取。
**1\. 获取内部业务数据**
内部数据是指部门内的业务数据,如我们的订单数据、访问日志,这些都可以直接从数仓中获取。当然还有一些情况是,我们想要的数据目前没有,你可以提需求让工程研发同学留存相关数据,比如,之前有些用户的行为数据没有留存,那我们就需要增加埋点将这些数据留存下来。
**2\. 获取跨部门集团内数据**
跨部门集团内数据指的是其他部门的业务数据,或者是统一的中台数据,这些数据需要我们根据公司数据管理规范按流程提取。在提取数据的时候,我们需要注意结合业务情况去判断该提取哪些数据。
**3\. 获取外采数据**
最后是外采数据的获取。在公司自己的数据不足以满足建模要求时候,我们可以考虑购买外部公司数据,或者直接去其他拥有数据的公司进行联合建模。
这个时候 ,我们就需要知道市场上不同的公司都能够提供什么。比如极光、友盟提供的是开发者服务,所以它们可以提供一些和 App 相关的用户画像等数据服务,再比如运营商可以提供和手机通话、上网流量、话费等相关数据等等。
直接采购外部数据非常方便,但我们一定要注意,出于对数据安全和消费者隐私保护的考虑,我们和第三方公司的所有合作都需要经过公司法务的审核,避免采购到不合规的数据产品,对自己的业务和公司造成不好的影响。比如说,在用户流失预测模型这个项目中,我们可以去调研自己的用户近期是否下载了竞品的 App或者经常使用竞品 App这都可以作为用户可能流失的一个特征。
当然,**在数据准备的环节中,我希望你不仅能根据算法的要求,做一些数据准备的协助工作,还能够根据自己的经验积累,给到算法同学一些帮助,提供一些你认为可能会帮助到模型提升的特征。**
具体到预测用户流失的产品上,我们可以根据经验提出用户可能流失的常见情况,比如我们可以参考客诉表,看看有哪些用户在客诉之后,问题没有解决或者解决得还不满意,那这些用户我们大概率就流失了,或者我们也可以分析用户的评价数据 ,如果用户评价中负面信息比较多,那他们也可能会流失等等。
## 模型的构建、宣讲及验收
完成数据准备之后,就到了模型构建的环节。这个环节会涉及整个模型的构建流程,包括模型设计、特征工程、模型训练、模型验证、模型融合。
![](https://static001.geekbang.org/resource/image/29/28/29d6c5f131b1b23ca1b3008dfcf22928.jpeg)
即便你不需要进行模型构建的实际工作,你也需要知道这个流程是怎么进行的,这方便你了解算法同学的工作,以便评估整个项目的进度。这就好比互联网产品经理不需要写代码,但也要知道研发的开发流程是怎么样的。
不过,今天我们不会重点来讲具体的过程,我先卖个关子,你今天先记住这几个关键节点的名称,下节课我们再详细来讲。
**模型构建完成之后,你需要组织算法同学对模型进行宣讲**,让他们为你讲明白这个产品选择的算法是什么,为什么选择这个算法,都使用了哪些特征,模型的建模样本、测试样本都是什么,以及这个模型的测试结果是怎么样的。
对于流失预测模型来说我需要知道它的主要特征是什么选择了哪些样本进行建模尤其是测试结果是否能够满足业务需求。当看到流失预测模型的测试结果的时候我们发现模型召回率、KS 值都达到了标准,但是模型覆盖度只有 70%,比预期低了不少。但是,由于我们业务侧也只需要找到一部分流失用户进行挽留操作,所以,暂时不能覆盖全量人群我们也是可以接受的。像这样的问题,都是你在模型宣讲环节需要去注意并且去评估的。
**在模型宣讲之后,你还需要对模型进行评估验收,从产品经理的角度去评判模型是否满足上线的标准。**那在这个流失用户预测的项目上,我们就需要重点关注模型的准确率,是否模型预测的用户在一定周期后,确实发生了流失。如果模型准确率较低,将一些优惠券错配到了没有流失意愿的用户身上,就会造成营销预算的浪费。
模型宣讲环节的具体内容,以及模型宣讲后,我们对模型进行评估验收的具体指标都有哪些,我会在模型验收的章节和你细说,这里你先不用着急,你只要知道有模型宣讲和模型评估验收这两个环节,以及它们的整体流程,让自己对 AI 产品经理的工作流程有一个整体的理解就可以了。
## 工程开发及产品上线运营
模型通过了验收之后,我们就可以进入工程开发的环节了。其实在实际工作中,工程开发工作通常会和算法模型构建同步进行。毕竟,算法同学和工程同学分属两个团队,只要模型的输入输出确定之后,双方约定好 API 就满足了工程同学开发的条件了。
工程开发完成之后,就可以进行工程测试验收了。这和传统的互联网产品上线流程区别不大,也就是测试同学进行测试,发现 BUG 后提交给工程同学进行修复,再当测试同学测试通过之后,产品经理验收,或者叫做产品上线前走查,这里我就不再多说了。
另外,在工程上线之后,为了评估 AI 产品整体的效果,我们可以通过对上线后的系统做 AB 测试对比传统方案,进而量化 AI 产品的效果提升。这时候,我们需要关注在产品定义阶段对于产品的指标和目标期望。
相比于一般的互联网产品经理AI 产品经理在产品上线之后,还需要持续观测数据的表现(模型效果)。因为 AI 模型效果表现会随着时间而缓慢衰减,你需要去监控模型表现,出现衰减后需要分析发生衰减的原因,判断是否需要模型进行迭代。
## 小结
一个 AI 产品构建的整个流程是从产品定义,到技术预研、数据准备、模型构建,再到模型验收和工程开发上线。其中,有三个节点是我们需要重要关注的,因为这三个节点和互联网产品开发流程完全不同,它们分别是产品定义、数据准备和模型构建。
在产品定义的阶段,我们需要搞清楚三个问题,这个产品背后的需求是什么,是否需要 AI 技术支持以及通过AI能力可以达到什么样的业务目标。这需要我们和业务方深入沟通拆解他们的真实需求。除此之外我们还要根据自己对 AI 技术的理解,去判断这个项目的可行性,制定相应的目标。
因为数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已,所以数据特征是否全面,数据量是否足够对于算法同学来说是非常重要的。在数据准备阶段,我们不仅需要帮助算法同学获取更多高质量的数据,来提升模型的整体效果,也可以从业务的角度,给出算法同学一些建议,比如哪些特征可能有帮助等等。
数据准备好,就可以进行模型的构建以及评估验收了。模型的构建我们可能没有什么可以介入的地方,但模型的评估验收是一个非常重要的节点,因为模型是一个偏黑盒的工作,它的输出可能只有一个指标值或者分数。
但是,很多产品经理会认为:模型好坏是算法工程师的职责范围,反正自己也不太懂算法,只要算法交付了,对方说达到模型指标就可以了。如果你也这么想,那么你可能最后就变成一个协调性或者执行层的产品经理了,最后整个项目就变成算法主导了,所以我们一定要重视模型评估。
## 课后讨论
你觉得AI 产品经理的工作流程和你现在的工作流程最大的不同是什么?为什么会产生这些不同呢?
期待在留言区看到你对工作流程的思考与复盘,我们下节课见!