Super Sale WeekClaude Skills — 20% OFF
Tips

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

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

订阅导出数据会为您提供以下行:客户、方案、金额、周期、状态、开始日期。而 MRR 报告每月只需要一个数字。从前者到后者的过程看似是算术,但实际上主要取决于定义。

最终报告中的每个数据都由两个选择决定:哪些订阅被视为活跃订阅,以及折扣是否从金额中扣除。

只要其中任何一个选错,报告在内部依然能保持平衡。但它就是会与财务数据、计费仪表盘以及上个月的版本对不上。

本指南将介绍需要首先确定的事项、三种手动计算路径,以及每种路径在何处会失效。

开始之前需要准备什么

您需要每个订阅占一行的导出数据,而不是每个账单占一行。账单告诉您已开票的金额,而订阅告诉您循环发生的金额。

您需要每一行都包含计费周期。在将年度方案进行标准化之前,无法将月度方案和年度方案进行相加。

您还需要状态列。Stripe 的计费分析文档将 MRR 定义为月度标准化金额的总和。它仅计算状态为 activepast_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 都会显现出来。

在 Powerdrill Bloom 中上传订阅导出数据以构建 MRR 和 ARR 报告

步骤 2:用自然语言说明定义

描述规则,而不是构建规则。说明哪些状态算作活跃、金额是否扣除折扣,以及您报告的是哪个月末。

然后在同一次操作中要求进行检查。询问哪些行的周期不符合预期,以及哪些订阅在扣除折扣后为零。接着询问月度总计是否与计费摘要一致。

步骤 3:导出图表、报告或幻灯片

导出月度趋势、按组成部分划分的变动表,或者包含数据和定义的、可直接向董事会汇报的幻灯片。

从 Powerdrill Bloom 导出月度 MRR 趋势和变动表

为什么这比每月重新构建更好

手动路径 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 天前活跃的订阅用户加上在该窗口期内新增的订阅用户。