先说结论
Odoo CRM 里的订阅型收入,不是“再加一个金额字段”这么简单。
源码把它至少拆成了四层:
recurring_revenue:原始订阅金额recurring_plan:这个金额对应几个月recurring_revenue_monthly:折算后的月经常性收入(Expected MRR)recurring_revenue_monthly_prorated/recurring_revenue_prorated:再乘上赢单概率后的视角
所以如果你只盯着一个 recurring revenue 数字, 很容易把 合同总额、月经常性收入、概率加权收入 全混在一起。
一、为什么 Odoo 要把 recurring revenue 和 expected revenue 分开
expected_revenue 和 recurring_revenue 在源码里是两套并行字段。
这说明 Odoo 认为:
- 一次性机会金额
- 订阅型机会金额
不是同一种业务语义。
expected_revenue 更像传统商机金额,
而 recurring_revenue 则在表达:
这笔机会如果成单,会带来一段周期性的收入。
这点在 SaaS、服务订阅、保养合同、会员制销售里特别关键。
因为“签了一个 12 个月 12 万的合同”和“每月新增 1 万 MRR”, 虽然数学上可换算,但业务判断完全不同。
二、recurring_plan 才是这个字段真正的单位说明书
源码里 crm.recurring.plan 很简单,但作用很大:
namenumber_of_monthssequenceactive
很多人会嫌它“太简单”, 但恰恰因为简单,它承担的是 单位标准化 角色。
系统不是默认认为 recurring revenue 就是月收入。 它先要知道:
- 这是按 1 个月算
- 还是 3 个月
- 还是 12 个月
- 还是更长周期
只有 plan 落定,Odoo 才能把总订阅收入折算成统一的月口径。
所以 recurring_plan 不是展示用下拉框,
而是后面 MRR 是否可比较的前提。
三、Expected MRR 是怎么来的
源码非常直接:
recurring_revenue_monthly = recurring_revenue / number_of_months
也就是:
先把合同周期收入折算成平均月收入。
这点很重要,因为很多销售团队会把:
- 12 个月 12000
- 3 个月 12000
都当成“同样大小的 recurring deal”。
但对经营判断来说,这两个 deal 的月度拉动完全不同:
- 前者是 1000 MRR
- 后者是 4000 MRR
如果不折算,漏斗排序和预测就会很失真。
四、为什么还要有 Prorated MRR
光有月收入还不够。 商机在 CRM 阶段,本来就不该把全部金额当成必然入袋。
所以源码继续算:
recurring_revenue_monthly_prorated = monthly * probability / 100recurring_revenue_prorated = total recurring * probability / 100
这两个指标的区别是:
1. recurring_revenue_prorated
看的是 总周期收入的概率加权值。
2. recurring_revenue_monthly_prorated
看的是 MRR 口径下的概率加权值。
也就是说,前者更像签约总额预测,后者更像经营月度拉新预测。
五、这和概率文章里讲的东西有什么不同
我之前站里已经有文章讲过:
automated_probabilityprobabilityexpected_revenueprorated_revenue
但 recurring revenue 这条线路不同在于:
- 它不是一次性金额
- 它多了
recurring_plan - 它同时有“总额口径”和“月度口径”两层折算
所以它不是原文章的重复版本, 而是订阅型销售语义上的另一套指标系统。
六、实战中最容易犯的 4 类错
1. 把 recurring revenue 当 MRR
错。源码里 recurring revenue 先是原始总额,不一定是月收入。
2. plan 随便填
错。plan 直接决定 MRR 折算结果。
3. 只看总订阅收入,不看概率加权
错。机会预测阶段更该看 prorated 指标。
4. 只看月加权,不看总加权
也不够。经营视角和签约视角常常需要同时存在。
七、为什么这个设计很适合管理层,而不只适合销售
这套字段最有价值的地方,在于它让不同角色看同一条机会时, 可以拿到不同但一致的口径:
- 销售看合同值
- 销售经理看概率加权值
- 经营负责人看 MRR 增长趋势
- 财务或预算方看签约周期收入潜力
而这些口径都不是拍脑袋报表, 而是直接由 CRM 源码字段演算出来。
也就是说,Odoo 不是等你到 BI 才开始解释订阅收入, 它在 CRM 层就已经把最关键的语义骨架搭好了。
八、一句话记忆法
Odoo CRM 的 recurring revenue 不是单一金额,而是“周期总额 + 月度折算 + 概率加权”的一整套订阅型机会表达。
理解这一点,才不会把订阅型商机和普通商机混着算。
DISCUSSION
评论区