如何将订阅导出数据转换为 MRR 和 ARR 报告(2026 指南)

订阅导出数据会为您提供以下行:客户、方案、金额、周期、状态、开始日期。而 MRR 报告每月只需要一个数字。从前者到后者的过程看似是算术,但实际上主要取决于定义。
最终报告中的每个数据都由两个选择决定:哪些订阅被视为活跃订阅,以及折扣是否从金额中扣除。
只要其中任何一个选错,报告在内部依然能保持平衡。但它就是会与财务数据、计费仪表盘以及上个月的版本对不上。
本指南将介绍需要首先确定的事项、三种手动计算路径,以及每种路径在何处会失效。
开始之前需要准备什么
您需要每个订阅占一行的导出数据,而不是每个账单占一行。账单告诉您已开票的金额,而订阅告诉您循环发生的金额。
您需要每一行都包含计费周期。在将年度方案进行标准化之前,无法将月度方案和年度方案进行相加。
您还需要状态列。Stripe 的计费分析文档将 MRR 定义为月度标准化金额的总和。它仅计算状态为 active 和 past_due 的订阅。
这个定义非常值得直接采用。它是公开的、具体的,并且当有人问起为什么某个数字发生变化时,能为您提供一个站得住脚的答案。
首先需要做出三个决定。
哪些状态算作活跃。 活跃(Active)加上逾期(past due)是文档中记录的默认值。已取消(Canceled)和未付款(unpaid)被视为流失并被排除在外。
是否扣除折扣。 Stripe 允许对此进行配置,并针对循环折扣和一次性折扣提供了单独的设置。永久折扣总是会被扣除。
订阅用户何时开始计入。 Stripe 允许您选择首个计费周期的开始时间或收到首笔付款的时间。第一种选项被描述为最常见的方式。
在编写公式之前,先在表格上写下这三个决定。它们是决定一份报告是成为有说服力的成果还是引发争论的关键。
为什么算术是最简单的部分
标准化很简单。Stripe 官方给出的计算示例是:100 个采用 $100 月度方案的订阅用户,加上 50 个采用 $600 年度方案的订阅用户。计算得出 (100 × 100) + (50 × (600 / 12)) = 12,500。
复杂之处在于排除项,而这些在电子表格中很容易被遗漏。
税费不计入。 Stripe 在计算 MRR 时会排除税费。如果您的导出数据包含含税总额,那么您每个月的数据都会被高估。
试用不计入。 试用期内的订阅将被排除在外,直到它们转化为付费订阅。
免费方案不计入。 零价格方案的订阅用户不贡献任何收入,因此他们也不会被算作活跃订阅用户。
基于使用量的收入不计入。 这是最让人感到意外的一点。按量计费的产品会完全从 MRR 中排除,因此对于部分采用按量计费的业务,其 MRR 在设计上就会低于实际收入。
此外还有优惠券的情况,这在文档中有记录,且确实有些反直觉。如果一个订阅用户的 MRR 降至零,该用户在当期将被视为已流失。
100% 折扣的优惠券就会导致这种情况。之后取消该优惠券,订阅用户会再次变为活跃状态,这在数据上会显示为重新激活。
因此,促销活动可能会在没有流失任何一个客户的情况下,在您的报告中产生流失数据。
如何手动计算
方案 1:将周期标准化,然后按月求和
添加一个月度金额列。将年度金额除以 12,将周度金额乘以约 4.33,月度金额保持不变。
然后使用 SUMIFS 按月汇总,并对状态进行过滤。使用 EOMONTH 来生成您要报告的月末日期。
报告月末的 MRR,而不是今天的 MRR。Stripe 可下载的报告明确指出是每个订阅用户在月末的 MRR,符合这一惯例可以省去以后对账的麻烦。
这种方法的局限在于历史数据。它只能清晰地给出当前月份的数据,却无法告诉您数据发生变化的原因。
方案 2:构建变动列
这正是让报告发挥作用的地方。将变动细分为:新增(new)、重新激活(reactivation)、扩张(expansion)、收缩(contraction)和流失(churn)。
Stripe 对增长的定义是:期初数据加上新增、重新激活和扩张,减去收缩和流失,然后根据汇率进行调整。其官方示例正是通过这些组成部分将 $1,000 变动为 $1,045。
注意最后一项。如果有任何客户使用其他货币付款,在处理汇率影响之前,纯公式模型是无法对账的。
多货币还有第二个值得了解的后果。Stripe 指出,当订阅收入以多种货币处理时,无法按产品或价格进行过滤和分组。
这种路径的限制在于维护。变动列需要上期快照,因此您需要永久保留上个月数据的第二份副本。
方案 3:直接从计费系统获取变动数据
大多数计费平台都会为您导出变动数据。Stripe 发布了三个 CSV 文件:按月每个订阅用户的 MRR、订阅指标摘要,以及每个客户 MRR 变动的日志。
第三份文件正是您所需要的。它省去了方案 2 中最困难的部分。
如果您确实更改了指标定义,请做好延迟的准备。Stripe 指出,配置更改需要 24 到 48 小时才能生效。
共同的局限。 这三种路径都止步于 MRR。要将其转化为 ARR、ARPU、流失率和留存率,意味着要在同一张表格之上进行另一层决策。
手动路径在何处会变慢
第一个月需要花一个下午。第四个月花的时间更长,这并不是因为数据变难了。
到那时,工作簿中已经包含了两种对活跃的定义、一个手动修补的汇率列,以及一个没人想碰的变动标签页。
衍生指标使问题成倍增加。ARPU 是总 MRR 除以活跃订阅用户数。终身价值是 ARPU 除以流失率。
流失率有其自身的陷阱。Stripe 的分母是 30 天前活跃的订阅用户加上在该窗口期内新增的订阅用户,计算得出 100 / (1000 + 100) = 9.1%。如果电子表格仅除以期初数量,报告的数字就会偏高。
留存率的表现也常常出人意料。收入留存率可能会超过 100%,因为同批次内部的扩张超过了流失。
这些都不难。只是每个月都需要由负责制作报告的人做出五个完全相同的判断。
如何使用 Powerdrill Bloom 构建报告
步骤 1:上传您的订阅导出数据
上传订阅 CSV,或者将订阅和变动文件一起上传。Powerdrill Bloom 会在文件导入时对列进行分析,因此在计算任何总和之前,缺失的周期、空白的金额和重复的订阅 ID 都会显现出来。
步骤 2:用自然语言说明定义
描述规则,而不是构建规则。说明哪些状态算作活跃、金额是否扣除折扣,以及您报告的是哪个月末。
然后在同一次操作中要求进行检查。询问哪些行的周期不符合预期,以及哪些订阅在扣除折扣后为零。接着询问月度总计是否与计费摘要一致。
步骤 3:导出图表、报告或幻灯片
导出月度趋势、按组成部分划分的变动表,或者包含数据和定义的、可直接向董事会汇报的幻灯片。
为什么这比每月重新构建更好
| 手动路径 | Powerdrill Bloom | |
|---|---|---|
| 年度方案标准化 | 每个文件都有公式列 | 上传并说明规则 |
| 变动细分 | 需要维护上月快照 | 直接索取组成部分 |
| 排除试用和按量计费行 | 每个周期手动过滤 | 说明排除项 |
| 与计费摘要对账 | 手动检查 | 询问总计是否一致 |
表格中间的那些行才是最耗费时间的地方。对一列求和并不是难事,难的是在数月内保持五个定义的稳定性。
常见错误
对账单求和而不是对订阅求和。 账单包含一次性费用和按比例分配的费用。循环收入是订阅的属性,而不是账单的属性。
在金额中保留税费。 税费会虚增每个月的数据,且永远无法抵消。在进行标准化之前,请先将其剥离。
将试用视为收入。 试用还没有产生循环金额。将其计入等于是在透支下个月的增长。
在未说明的情况下将 ARR 视为 MRR 乘以 12。 它是一个标准化的年度运行率,而不是收到的现金。请对其进行标注,以免有人将其误读为预订额。
忽略优惠券导致的流失效应。 全额折扣会使订阅用户的数据降至零,这会被解读为流失。标记这些行,而不是以后再去解释。
用流失数除以期初数量。 文档中记录的分母包括在窗口期内新增的订阅用户。这两种版本在相同的数据上会产生不同的流失率。
每个月从头开始重新构建。 定义不会改变,改变的只有导出数据。保留规则并更换文件,这与制作预算与实际对比报告的原则相同。
结论
确定状态列表、决定折扣处理方式、将周期标准化,并报告月末数据。这四个步骤可以制作出一份经得起财务部门质问的 MRR 报告。
最耗费精力的部分不是求和,而是在导出数据格式发生变化时,每个月都必须保持五个定义的稳定。
如果这就是您月末时间的去处,不妨在您的订阅导出数据上尝试使用 Powerdrill Bloom。另请参阅我们关于如何根据您自己的数据设定 KPI 目标的指南。关于用于 SaaS 指标跟踪的最佳 AI 工具汇总和 AI 财务分析页面涵盖了工具方面的内容。
常见问题解答
如何通过订阅导出数据计算 MRR?
将每个订阅标准化为月度金额,然后对符合状态要求的订阅求和。Stripe 的示例为 (100 × $100) + (50 × ($600 / 12)) = $12,500。
如何将 MRR 转换为 ARR?
将月度数据乘以 12。将其标注为标准化的年度运行率,而不是收到的现金,因为年度方案是预先开票的。
是否应该包含基于使用量的收入?
Stripe 在计算 MRR 时会排除按量计费的产品。如果您的收入中有很大一部分是基于使用量的,请将其作为单独的一行进行报告,而不是合并进来。
哪些订阅状态算作活跃?
文档中记录的默认值是 active 加上 past_due。已取消和未付款的订阅被视为流失,并从总数中排除。
为什么我的流失率与计费仪表盘上的不一致?
最常见的原因是分母不同。文档中记录的计算方法是除以 30 天前活跃的订阅用户加上在该窗口期内新增的订阅用户。