第 12 章 · 场景建模

10292 字
51 分钟
第 12 章 · 场景建模

第 12 章 · 场景建模——从业务现场看见架构#

引言#

前面几章一直在讨论产品经理如何把判断落到真实工作里:问题要定义清楚,方案要回到用户任务,数据要成为证据,技术代价要被看见,组织也要能够围绕一个选择持续行动。走到这里,我们面对的事情往往会开始变得复杂。一个需求可能只需要解决一个局部问题。但一块业务持续发展以后,会逐渐牵涉更多角色、更多流程、更多规则,原来彼此独立的功能也会开始发生关系。这个时候,产品经理就不能只考虑眼前这个需求怎么实现,还要开始考虑这些东西应该怎样被组织起来。

很多人会把这个阶段理解成“做架构”,于是很自然地开始画模块、分系统、拆前台后台,把业务整理成一张看起来完整的架构图。这些工作当然有价值,但产品架构最难的地方不是把系统分成几块,而是判断这些结构为什么应该存在。如果对业务本身理解得不够深,模块划分得再漂亮,也可能只是把当前的功能重新摆了一遍位置;反过来,如果能够看清业务里真正稳定的角色、动作、关系和变化,有些架构其实会自己慢慢浮出来。所以这一章不急着讨论中台怎么搭,也不讨论一个能力应该怎样抽象和复用。我们先往前走一步,回到架构出现之前:面对一块逐渐复杂起来的业务,产品经理应该先看见什么,才能知道系统接下来应该往哪里长

12.1 回到现场——先看见业务是怎么发生的#

2019年,我们在做一款社交电商App,业务早期采用拼团模式,后来逐步转向会员制。伴随业务模式变化,平台的用户规模开始明显上升,商品品类也不断扩充。早期团队更关注用户增长和交易规模,但当越来越多用户进入平台以后,业务关注的问题也开始发生变化:用户来了以后能不能留下,新用户能不能尽快完成第一次购买,已经消费过的用户能不能继续复购,不同类型的用户又应该用什么方式去承接。用户运营和活动运营团队因此进入了一个非常忙碌的阶段,每天都在围绕新人转化、老客复购、会员经营和品类营销设计各种活动。

其中有一次让我印象比较深的,是用户运营针对新注册用户做的一次转化分析。当时他们在日常留存数据里发现,新注册用户的留存曲线在第7到第8天附近会出现一次比较明显的下滑,之后才逐渐进入相对平稳的状态。单看这个数据还不能说明太多。但继续对不同用户行为做分层以后,另一个差异开始变得明显:注册后发生过下单行为的用户,后续留存明显高于一直没有下单的用户。再把已下单用户按照首次下单时间拆开,注册7天内完成首单的用户,又是其中一批留存表现相对更好的用户。

这些数据放在一起以后,用户运营形成了一个很自然的判断:新用户注册后的前7天可能是一个比较重要的转化窗口,如果能够让更多用户在这个阶段完成第一次下单,就有可能提高他们后续留下来的概率。用增长黑客领域的说法,我们当时把“7天内完成首单”看成了一个值得重点验证的Aha时刻候选:用户不是完成注册就真正感受到平台价值,第一次真实交易可能才是其中一个更关键的节点。于是“7日内未转化新客”被单独拿了出来。用户运营希望针对这批注册时间还不长、但始终没有完成首单的用户做一次专门的转化承接。希望通过一些更有针对性的活动,让更多人尽早跨过第一次购买这道门槛。

到这里,业务目标其实已经比较明确了,但真正麻烦的事情才刚刚开始。数据只能告诉我们,7天内完成首单和后续留存之间存在明显差异,却没有告诉运营应该用什么办法把用户推到这一步。到底应该给新人更直接的价格优惠,还是发一张新人券;应该推荐低价、决策成本更低的商品,还是根据用户浏览偏好推荐更匹配的品类;页面应该强调“新人专享”,还是强调优惠即将过期的紧迫感;甚至不同类型的新用户,会不会本来就应该看到不同的商品和利益点,这些都没有一个现成答案。所以当时用户运营真正提出的,并不是“帮我开发一个新人活动页”这么简单。他们更想验证的是:面对一批注册7天内还没有完成首单的新用户,到底用什么内容、商品和营销方式承接,才更有可能推动他们完成第一次交易。用户最后看到的,只是首页上的一个弹窗和点击以后的一张活动页。但这样一个看起来很简单的前台动作,要真正出现在正确的人面前,并且最后还能判断它有没有效果,背后需要很多角色一起把这件事做出来。

12.2 拆开链路——看见角色、动作和交接物#

用户运营虽然已经把目标锁定在“7日内未转化新客”,但真正准备活动时,很快就碰到第一个现实问题:这批用户到底是谁?今天看起来,这似乎只是一个简单的人群条件,注册时间小于等于7天,同时没有下单记录,在后台勾选几个标签就可以完成。但当时系统还没有成熟的标签和人群圈选能力,用户的基础信息、访问行为、交易记录虽然已经沉淀在数仓里,运营却无法直接使用。每次要找一批特定用户,都需要先找到数分同学,把业务语言重新翻译成数据口径。“7日内”到底按照自然日计算,还是按照注册时间计算;“未转化”以创建订单、支付成功还是交易完成为准;用户下单以后又退款,要不要重新回到这批人里;这批人群一天更新一次,还是需要随着用户行为实时变化。运营最初提出的只是一句“找到7天内还没有下单的新人”,但真正要让数据跑出来,中间这些边界都必须先被定义清楚。数分确认口径以后,再由数仓按照规则加工数据,每天跑出一批满足条件的用户ID,交给后续活动使用。到了这里,一个业务上的“目标用户”,暂时变成了一份可以被研发识别和使用的用户ID名单。

但找到用户以后,真正关键的问题仍然没有答案:到底给他们看什么,才更容易推动第一次下单。因为答案并不确定,用户运营通常会准备几种不同思路。有时调整的是利益点,比如新人券、直接降价或者限时优惠;有时调整的是商品,比较低价尝鲜商品和不同品类的转化差异;有时商品基本不变,只调整“新人专享”“限时福利”等活动氛围和表达方式。运营把这些想法交给UED,设计同学再把它们变成一张张可以真正上线的活动页面。页面本身其实并不复杂,大部分还是由活动氛围、营销利益点和商品信息组成。真正麻烦的地方在于,我们一开始并不知道哪个组合有效,所以经常需要同时准备多个版本。为了让后面的结果尽量可比较,有时会固定页面和利益点,只替换商品;下一轮再固定商品,继续调整其他因素。

目标用户有了,活动页面也有了,接下来真正需要解决的,是怎么让不同用户按照运营预设的方式看到不同内容。到了产品和研发这里,前面的业务想法会变成一套更加具体的实现要求:识别数仓给出的那批用户,在他们进入App时展示首页弹窗,点击以后跳转到指定活动页面;如果同时存在多个方案,还要按照提前约定好的比例进行分流,比如50%的用户进入A方案,30%进入B方案,20%进入C方案,并且保证同一个用户后续再次进入时仍然落在原来的分组里。当时这类需求基本依赖定制开发,研发需要根据设计稿开发不同活动页面,再把用户ID、页面和分流逻辑写进当前活动的代码里。几个页面即使只是商品不同或者局部样式不同,也经常还是几套独立实现。目标用户换了、页面换了、比例换了,产品和研发就要重新调整一次。开发完成以后,测试也要跟着进入这条链路。符合条件的用户能不能正常看到弹窗,不属于这批人的用户会不会被误触达,不同分组最终拿到的页面和商品是不是正确,点击活动页以后,加购、下单和支付有没有受到影响,这些都需要逐一验证。

从用户视角看,只是打开App,看见一个弹窗,点进去浏览商品,最后下单或者离开。但对用户运营来说,活动上线并不是结束,验证才刚刚开始,因为最初那个问题还没有答案:到底哪一种商品、利益点和页面方式更有效?当时我们同样没有成熟的实验和效果评估能力。某个用户属于哪一组、最终看到了哪一个页面、有没有完成首单,这些信息并不会自动汇集成一份实验结果。数分同学还需要重新把用户ID、分流标识、活动页面和最终的订单数据关联起来,再临时搭建BI报表,由运营、产品和数据一起观察不同方案之间的差异。至于应该观察多久,样本量多少才足够,两个方案之间的差异达到什么程度才值得相信,当时也没有形成很稳定的标准。更多时候,还是由活动负责人结合短期转化表现做判断:哪个版本继续保留,哪个版本暂停,或者再换一组商品和利益点继续尝试。

这样回头看,一场看起来并不复杂的新人活动,实际上在组织里经过了一条很长的链路。用户运营最初只有一个业务判断:7天内还没有下单的新人值得重点转化。这个判断先被数分翻译成数据口径,再由数仓变成一批用户ID;运营关于商品和利益点的想法,被UED变成设计稿;产品再把用户、页面和分流方式整理成具体规则,研发把它写进系统,测试确认这些规则能够正确运行;活动结束以后,数据团队还要重新把前面产生的信息和最终结果拼在一起。如果只看流程,我们看到的是很多角色在共同完成一次活动,但把链路拆得更细以后,会发现另一件更值得注意的事情:不同角色之间始终在传递一些具体的东西。业务目标、数据口径、用户ID、商品信息、设计稿、页面地址、分流比例、用户分组、转化结果……它们散落在Excel、PRD、设计稿、代码和临时报表里。每一种看起来都只是当前活动的一份材料,但这些材料并不是用完就消失。换一个活动,类似的东西还会重新出现;换一批用户,它们又会按照差不多的方式再流转一次。

产品经理拆业务链路时,不能只看“谁做了什么”,还要看“做完以后留下了什么,又把什么交给了下一个人”。角色和动作会让我们看见业务是怎么运行的,交接物则让我们开始看见:哪些东西正在业务里被反复定义、反复传递,只是还没有被系统真正接住。但在当时,只要活动还能上线,这些问题并不会显得特别严重,真正让我们开始意识到这套方式已经出现问题的,是后来几次业务变化。

12.3 追问异常——正常流程看不见架构问题#

前面的新人活动虽然做起来麻烦,但只要各个角色继续靠人工协作把链路接起来,最后总能上线。很多系统问题也正因为如此,很长时间不会被真正看见:流程能跑,需求能交付,页面也能正常使用,大家最多觉得效率低一点、协作累一点,还不至于认为系统本身出了什么问题。真正让问题暴露出来的,往往不是正常流程,而是业务开始变化以后。后来负责新人转化的用户运营同学发生了调整,提出了另一种思路:与其继续通过普通新人活动页刺激首单,不如直接引导用户购买会员礼包,让第一次交易和会员转化同时发生。这个方案本身并不复杂,前台只需要在首页增加一个弹窗,点击以后进入会员礼包页面,后面的交易链路也已经存在。

但进入需求评审以后,前端和测试同学很快提出一个问题:这批用户不是已经有一个新人弹窗了吗?这个提醒让大家重新翻出了之前那条“7日内未转化新客”的活动链路。老活动一直还在运行,只是最初负责它的人已经发生变化。为什么当时这么设计、测试过哪些方案、最后为什么留下当前版本,这些信息已经没有多少人能完整说清楚。代码还在,页面还在,目标用户也还是同一批人,只是业务记忆已经逐渐消失了。问题很快从“再加一个弹窗”变成了另一件事:同一个新人进入App时,到底应该先看到旧的新人活动,还是新的会员礼包?两个弹窗能不能同时出现?如果不能,谁的优先级更高?旧活动要不要直接下掉?如果新方案效果不好,还要不要恢复?技术上,这只是一个优先级和互斥关系的问题;但站在业务角度,它其实是在追问:同一批用户到底应该走哪条转化路径?新的方案是在替代旧方案,还是只是叠加一个新的尝试?

最后用户运营的判断是,老活动虽然一直在跑,但新人转化仍然有提升空间。如果新路径上线以后还让旧活动同时干扰,就很难判断会员礼包本身有没有效果。所以这次先把旧活动隐藏,让新链路单独运行一段时间。产品重新调整需求,研发增加了相应的判断逻辑,旧页面没有真正删除,只是暂时不再触发,因为大家也担心新方案效果不好以后还要重新切回来。这次额外改动本身并不算大。但真正让我在意的是另一个问题:一条活动链路上线以后,并不会因为最初的需求结束就自动消失,它可能继续存在几个月,甚至更久。最初负责它的人会换,业务目标会变,新方案会不断出现,但旧逻辑仍然留在系统里。业务已经忘记它为什么存在,系统却还在继续执行它

另一次问题出现在一个更普通的活动需求里,活动运营希望在商品列表上增加优惠券使用倒计时。逻辑很简单,用户领券以后,在商品卡片附近展示“还剩XX小时可使用”,希望通过时间感加强优惠感知,推动用户尽快完成购买。平台当时大部分常规频道和活动页已经使用相对统一的商品列表样式,所以最初评估下来,这只是一个不大的公共能力调整。

真正进入开发以后,研发同学提醒我们:以前那些定制活动页怎么办?包括前面的新人活动在内,历史上为了不同业务需求做过不少独立页面。这些页面虽然看起来也在展示商品列表,但很多并没有使用现在统一的组件,而是当时单独开发的一套实现。如果只改公共页面,就会出现同一张优惠券在普通频道里有倒计时,进入历史活动页以后却没有;如果要保证平台体验一致,这些旧页面就必须一起改。我们只能重新把过去还在线上的定制页面找出来,一个个确认哪些仍然有流量、哪些还在被业务使用、哪些虽然已经没有人运营但代码仍然存在。原本一个不到一周可以完成的需求,因为要兼容这些历史页面,研发需要逐个补逻辑,测试也要重新回归,最后整体排期被拉到了2周以上。

活动运营对此很难理解,在他们看来,需求只是“优惠券增加倒计时”,这些历史页面为什么还存在、为什么没有复用公共能力、为什么现在修改一个公共样式还要额外投入这么多研发资源,并不是这次业务需求造成的。站在他们的角度,这个判断也没有错,但站在产品和研发角度,这些成本又真实存在。过去每一次“先把活动做出来”的定制开发,都在系统里留下了一点差异。当时看,每一个差异都不大;若干个月以后再看,它们已经变成了任何一次公共变化都必须重新考虑的兼容范围。

这两件事表面上并不是同一类问题。第一件事里,旧活动和新活动争夺的是同一批用户、同一个首页入口。问题暴露在业务变化以后:老方案为什么还在,新方案和旧方案是什么关系,谁决定哪条链路应该继续。第二件事里,没有业务策略冲突,只是一个普通的公共能力变化,却因为历史定制页面太多,把原本很轻的需求变得越来越重。问题暴露在系统变化以后:过去那些为了单次活动留下来的实现,开始持续向未来收取维护成本。但它们背后有一个共同点:正常流程只能告诉我们一件事有没有做完,异常和变化才会告诉我们,过去那些东西之间到底存在什么关系。同一个用户同时命中两条活动链路,我们才开始追问活动之间有没有优先级和互斥关系;一个公共能力要修改,却被历史页面拖住,我们才开始追问这些页面到底是不是同一种东西,为什么不能统一变化;旧活动已经没有人说得清最初的判断,却还在系统里继续运行,我们才开始追问一项业务配置什么时候应该结束,谁应该知道它还存在。

所以场景建模不能只画一条顺利完成的正常流程。正常流程最容易让系统看起来合理,因为每一个步骤都有人接,每一个需求最终也都能完成。真正值得继续追问的,反而是那些“不顺”的地方:两个方案为什么会撞在一起,一次普通变化为什么要改这么多地方,一个已经失去业务记忆的东西为什么还在继续运行。正常流程让团队把需求做完,异常让团队看见旧方案怎样拖住新的变化。如果一个产品架构只能表达“正常情况下业务怎么跑”,却解释不了业务变化以后为什么会冲突、为什么会被旧方案拖住,那么所谓的架构,很可能只是正常流程的美化版。

12.4 抽出对象——从不同需求里找到不变的东西#

真正让我开始重新看这类需求,是一次产品和研发的季度复盘。当时我负责电商产品团队,我们把一个季度做过的需求重新拉出来,想看看研发资源主要消耗在了哪里。结果发现,仅仅围绕“给特定用户做一场活动”这一类事情,一个季度就做了不下7次。有的是新人转化,有的是老客复购,有的是会员运营,也有的是品类活动。每一次业务目标不同,页面不同,商品和利益点也不同,所以平时看起来都是独立需求。但放在一起以后,会发现团队其实一直在重复相似的动作:先找到一批用户,再准备活动内容,确定从哪里触达;需要比较方案时再增加分流,活动结束以后,数据团队再把用户、页面和最终结果重新关联起来。

最直接的问题当然是资源消耗,一场活动从提出到上线,少则3~5个工作日,如果同时准备几个页面做比较,前后花掉一两周也很常见。数分和数仓反复加工用户,设计反复制作结构相近的页面,产品和研发反复把用户、页面和展示逻辑连起来,测试再重新走一遍验证。更麻烦的是,活动结束并不意味着这些投入就真的结束了,定制页面和代码会继续留在系统里,下一次公共能力调整时还可能重新产生兼容成本。一次两次看起来只是效率低一点,但当一个季度里类似需求反复出现时,这已经不是单个项目的问题了。当时团队最容易想到的解决办法,是把重复开发变成复用。页面总在重复,就想办法做成可配置;每次圈人都要找数仓,就把常用条件沉淀下来。这个方向当然没错,但真正值得继续往下看的,是另一个问题:这些需求明明解决的是不同业务问题,为什么每次都会经过这么相似的过程?如果只是页面长得像,那可能只是实现方式重复;但如果换了业务目标、换了运营负责人、换了商品和利益点以后,有些东西仍然一遍又一遍出现,那它们可能本来就是业务里相对稳定的部分。

“7日内未转化新客”是一批人,30天没有再次购买的老用户也是一批人,某个会员等级、某类消费特征、某种行为状态的用户,本质上还是在回答同一个问题:这次业务到底想影响谁。过去每一次需求里,这个答案最终都会变成一份用户ID名单,看起来只是数据团队交出来的一份结果。但真正稳定存在的并不是这张名单,而是业务始终需要定义一批目标用户。名单会每天变化,筛选条件也会变化,但“这批人是谁”这件事一直都在。于是我们开始把它从一次离线数据结果里拿出来,理解成一个相对独立的业务对象——人群。

过去产品和研发最容易看到的是活动页,因为运营最后交过来的是设计稿,研发最终做出来的也是页面。但需求做多以后会发现,同一场活动里还包含商品、利益点、活动时间和具体内容,有时候同一个活动甚至会同时准备几个不同版本。页面会换,商品会换,视觉表达也会调整,但业务始终需要有一个相对独立的东西,把这次运营意图组织起来,回答“这一次到底要给用户什么”。所以后来再看时,我们不再把活动简单等同于一张页面。页面只是它最终呈现出来的一种形式,“活动”本身开始成为另一个可以被单独理解和管理的东西。

类似的变化也发生在首页弹窗、Banner、频道入口这些位置上。过去它们通常只出现在PRD的一句话里:在首页弹窗展示,在频道页增加入口。研发按照需求把逻辑加进去,大家很少单独考虑这些位置本身。但当越来越多业务都要使用它们以后,“在哪里展示”就不再只是页面实现的一部分。一个首页弹窗可能同时被新人运营、活动运营和会员运营需要,一个Banner位置也会在不同时间承接不同业务。它们数量有限,会被反复使用,也会发生争夺,于是这些入口开始从具体需求里被单独看见,成为业务需要持续管理的“资源位”。

到了这里,一场过去被完整写进PRD里的活动需求,开始可以被拆开来看。运营说“给7日内未转化新客展示新人活动”,里面其实包含了几个不同的东西:谁,是人群;给他什么,是活动;从哪里让他看到,是资源位。过去它们被一次性写进同一个需求,再由产品和研发临时拼在一起,所以团队看到的是一条完整的活动链路。把不同需求放在一起以后才会发现,真正变化的是每一次装进去的业务内容,而这些基本角色一直没有消失。

产品经理不是只去找两个页面是不是长得一样,也不是看到两段代码类似就马上考虑复用,而是要继续往业务里问:什么只是这一次需求的内容,什么却在不同场景里反复出现。新人可以换成老客,商品和利益点可以不断调整,活动入口也会变化,但“谁、给他什么、从哪里触达”始终需要被表达。过去这些东西分别散落在数仓、Excel、设计稿、PRD和代码里,每来一个新需求,团队都重新定义一次、重新组合一次。它们并不是后来为了做架构才被创造出来的,只是以前一直没有被系统真正看见。

当这些不变的东西被逐渐识别出来以后,产品架构才开始有了轮廓。我们不再只看到一条条具体需求,而是开始看到需求背后那些持续存在的业务对象,但对象被拆出来以后,事情并没有结束。同一个用户可能同时属于多个人群,一场活动可能出现在多个位置,同一个资源位也可能同时被几个活动使用。过去这些关系被写死在一条需求里时,可以靠产品和研发临时处理;当人群、活动和资源位开始独立存在以后,它们之间怎样组合、谁先谁后、发生冲突时怎么办,就必须被重新说清楚。

12.5 建立秩序——让对象、关系和规则进入系统#

人群、活动和资源位被逐渐拆出来以后,原来写在一条需求里的东西开始可以被分别理解,但这还不是架构。因为真实业务不是把几个对象摆在那里,而是让它们发生关系。运营真正要表达的始终是一件完整的事情:在某个时间,把某个活动,通过某个位置,展示给某一批用户。过去这句话直接写进PRD,再由研发翻译成代码;现在对象被拆开以后,就需要一种新的方式把它们重新组织起来。我们最后逐渐形成了一套更清楚的表达:用户运营先定义“谁”,比如注册7天内且没有完成首单的用户,系统根据条件持续更新这批人,并形成一个人群;活动运营再定义“给他什么”,把页面、商品、利益点和活动时间组织在一起;首页弹窗、Banner、频道入口这些位置,也不再只属于某一次需求,而是成为可以被不同业务共同使用的资源位。最后再建立一条投放关系,把人群、活动和资源位关联起来,同时定义什么时候生效、在哪个渠道生效、发生冲突时谁优先。

这样一来,过去一句“给7日内未转化新客在首页弹新人活动”,开始可以被系统拆成几个部分来表达:谁——人群;给什么——活动;在哪里——资源位;什么时候、在什么条件下发生——投放规则。过去每来一次活动,产品和研发都要把这些信息重新拼进代码;现在人群可以被其他活动继续使用,活动可以投放到不同位置,资源位也不再随着某一次需求结束而消失。真正变化的仍然是每一次业务内容,但那些稳定的东西开始有了自己的生命周期。

当时最先需要解决的,仍然是已经很明显的效率问题。其中页面的变化频率最高,一场活动可能准备几个不同版本,不同活动之间又存在大量相似结构,所以我们先推动了CMS的组件化建设。过去一张活动页往往需要设计、产品、研发和测试共同完成,后来运营可以通过图片、商品等组件自己搭建页面,配置上下线时间,再生成可以被投放的活动。原来需要1~2周完成的一批页面,逐渐可以压缩到1天以内,熟悉以后甚至1个小时左右就能完成大部分配置。同时人群能力也在逐步推进,过去运营每换一批目标用户,都要重新找数分和数仓加工名单;后来我们开始把注册时间、购买状态、用户属性和行为等条件沉淀下来,再通过这些条件动态定义人群。“7日内未转化新客”不再是一份某天导出的用户ID表,而是一批会随着用户注册、下单等行为持续变化的人。运营真正操作的,也从“帮我导一批人”慢慢变成了“我要定义一批什么样的人”。

页面和人群都能够被独立管理以后,过去藏在PRD和代码里的关系也必须进入系统。因为同一个用户可能同时属于多个人群,一场活动可能出现在多个位置,同一个首页弹窗更不可能无限承接所有业务。于是投放开始有了更完整的条件:渠道、平台、人群、时间、资源位、优先级,有些场景还会加入权重和流量比例。同一个用户在同一次访问里,如果同时满足多个活动条件,系统需要根据资源位和优先级决定最终展示哪一个,而不是等到需求评审时再由产品和研发临时讨论怎么兼容。

这时候,精准营销才开始有了比较完整的形态。它不是简单给用户打几个标签,也不是单独做一个活动后台,而是把人群、活动和资源位之间的关系组织起来,让业务能够明确表达:什么人,在什么时间、通过什么位置,看到什么内容。过去这些判断散落在Excel、PRD和代码里,现在开始成为系统可以配置、执行和追踪的业务规则。规则进入系统以后,责任也逐渐变得清楚。以前一个运营团队只知道自己需要首页弹窗,却未必知道这个位置上还有哪些活动;产品和研发很多时候也要翻历史需求、查代码,才能确认哪些逻辑仍然存在。资源位被统一管理以后,哪些活动正在运行、分别服务哪些人群、什么时候结束、发生冲突时谁优先,第一次可以被相对完整地看见。用户运营和活动运营仍然负责自己的业务策略,但涉及核心资源位和多个活动之间的冲突时,需要有人从更全局的视角判断有限资源应该给谁。后来平台运营也逐渐承担起这部分管理责任,系统解决的不只是配置效率,还把过去模糊的业务边界和责任显露了出来。

不过,执行效率提升以后,最初那个问题并没有自动消失:哪一种商品、利益点和页面方式真的更有效?过去分流比例、观察周期、样本量和结果判断都比较依赖活动负责人的经验。页面可以更快搭出来,人群也可以更快圈出来,并不意味着业务就更容易知道“哪个方案真的更好”。如果只是让试错变快,却没有让试错结果更可靠,团队仍然可能反复做出无法复用的判断,所以后来又逐渐补上了AB实验能力。分流比例、观察周期、指标和结果记录开始被更加标准化,不同策略的效果也不再只存在于一次活动复盘和某个负责人的记忆里。到这里,系统解决的已经不仅是“更快把活动做出来”,还开始解决另一件更长期的事情:让一次业务尝试能够留下相对可信的结论,让下一次决策不必重新从头猜一遍

业务里反复出现的问题被识别出来的东西后来的系统承载
这次到底想影响谁人群标签 / 人群平台
这次到底给用户什么活动CMS / 活动配置
从哪里让用户看到资源位资源位管理
什么人、什么时间、什么位置看什么投放关系与规则精准营销平台
几个方案到底哪个更有效实验与结果AB实验平台

把这些变化放在一起看,最后形成的东西就如上所示。如果只看后来形成的系统,很容易把它们画成几个熟悉的方框:标签和人群平台、CMS、精准营销平台、AB实验平台。站在最终架构图上,这几个名字没有什么特别,很多成熟业务都会有类似能力。但它们并不是在某一天开会时一次性设计出来的,页面反复定制,才让CMS变得必要;运营反复依赖数仓圈人,才让标签和人群需要被独立管理;人群、活动和资源位越来越多,冲突越来越频繁,才让投放关系和规则逐渐成形;当执行效率提升以后,实验结果仍然不够可靠,AB实验才继续补上判断这一环。

所以这一章真正想留下来的,并不是一张“标签平台+CMS+精准营销+AB实验”的架构图,而是一条产品经理看见架构的路径:从业务现场里看见角色和动作,从交接物里发现反复出现的东西,从异常和变化里看见对象之间隐藏的关系,再从不同需求里找到那些不会随着一次项目结束而消失的业务对象,最后让对象、关系、规则和责任进入系统。产品架构不是从系统模块开始的,它先回答业务里有什么,这些东西怎样发生关系,又应该按照什么规则一起运转,系统只是这些业务秩序最终留下来的形状

闲言碎语#

做产品时间长了以后,人很容易对一些系统答案变得熟悉:看到活动反复定制,会想到配置化;看到运营总找数仓圈人,会想到标签和人群;看到不同业务争夺同一个入口,会想到投放和资源管理。经验当然能让判断更快,但它也有一个很隐蔽的风险:我们会越来越容易直接看见答案,却忘了答案为什么成立。

架构真正难的地方,不是会不会画一张完整的系统图,而是在业务还很具体、甚至有些混乱的时候,能不能看见其中正在形成的秩序。哪些东西只是这一次需求里的变化,哪些东西会在不同场景里反复出现;哪些关系过去还能靠人记着、靠代码写死,哪些一旦业务继续增长,就必须被系统真正表达出来。

架构的价值,不在于系统被分出了多少层,而在于业务是否因此变得更容易理解。它让一场活动不再只是代码里的几个页面,让一批用户不再只是离线表里的ID,让一个首页弹窗不再只是前端里的一个入口,也让一次分流不再只是研发临时写下的一段判断逻辑。这些东西被看见、被说清楚以后,架构才开始有意义。因为产品经理真正要做的,从来不是给系统取几个漂亮的名字,而是让那些原本散落在业务现场里的东西,逐渐变得可理解、可管理,也能够继续生长。

场景建模方法论
场景建模方法论

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

第 12 章 · 场景建模
https://www.shanfengpm.com/posts/jianshan/2026-04-26-scenario-modeling/
作者
山风
发布于
2025-09-16
许可协议
CC BY-NC-SA 4.0
本文首发于「山风blog」,作者:山风(余涛)。欢迎转发、分享本文链接, 但禁止任何形式的未授权转载、摘编、改写或商业使用
同合集文章见山
1
序言
见山写在《见山》之前:产品经理如何在复杂之后重新看见问题本身。
2
第 1 章 · 认知困局
见山从执行惯性、经验负债与组织惯性出发,重新审视产品经理最核心的能力:在有限资源下判断什么问题值得解决。
3
第 2 章 · 产品观
见山从用户任务、产品定位与资源代价出发,建立判断产品是否值得存在的底层框架,并学会为不做承担后果。
4
第 3 章 · 需求观
见山从需求线索、用户任务与产品边界出发,重新理解需求管理的本质:不是响应方案,而是定义值得解决的价值。
5
第 4 章 · 用户观
见山从用户任务、真实场景与具体事件出发,超越表层共情,建立能够影响产品判断的深度用户理解。
6
第 5 章 · 认知融合
见山当用户、商业、技术与组织诉求彼此冲突时,产品经理如何识别不可逆损失、安排决策顺序,并做出可复盘的判断。
7
第 6 章 · 问题定义
见山从异常现象出发,暂停既有方案、还原用户任务并定义真实代价,让产品团队先解决正确的问题。
8
第 7 章 · 体验设计
见山从用户任务与任务成本出发,理解体验设计的本质:不是美化页面,而是把复杂放在更合适的位置。
9
第 8 章 · 数据证据
见山从主指标、解释指标、护栏指标与反证指标出发,为产品判断建立可验证、可推翻的证据体系。
10
第 9 章 · 技术认知
见山产品经理不必成为技术专家,但需要看懂产品承诺背后的系统代价、风险边界与可控取舍。
11
第 10 章 · 决策沟通
见山决策沟通不是把观点讲得更完整,而是把判断整理为组织可以比较、投入、暂停与验证的选择材料。
12
第 11 章 · 路线图与优先级
见山当方向已经确定,路线图要做的不是堆满功能排期,而是把选择转化为持续行动、资源取舍与阶段验证。
13
第 13 章 · 能力抽象
见山能力抽象不是把相似功能合在一起,而是在重复业务动作里判断哪些已经足够稳定,值得沉淀成长期维护的公共能力。
14
第 14 章 · 平台架构
见山平台架构不是把后台做大,而是在前台业务不断变化时,让商品、库存、订单、履约等稳定能力以清晰边界支撑新的业务连接。
15
第 15 章 · 商业思维
见山商业思维不是把盈利公式接在产品之后,而是在一次次真实交易、服务和协作里,判断产品创造的价值能否持续回收、组织能否长期承担。
16
第 16 章 · 市场分析
见山从市场边界、供需变化、用户缺口、竞品条件与组织能力出发,判断一个方向是否值得进入。
Profile Image of the Author
山风
12年产品经验,持续记录产品思考、业务设计、数据分析和团队管理实践。
站点统计