ProfitWell has partnered with Stripe to provide its users with deep insights into their financial metrics. That said, there are few differences in the methodologies around calculating these metrics.
Topic | ProfitWell | Stripe |
Cancellations and Churn | When a customer cancels their subscription, we recognize the MRR of a customer until the end of their billing cycle. | The MRR of a subscription is removed at the time of cancellation. |
New business and Churn in the same month | When a customer signs up and churns in the same calendar month, we ignore them from your metrics entirely to not inflate new + churn. | This revenue is factored into both new MRR and Churn. |
Discounts and Credits | We always subtract discounts and credits before calculating MRR, regardless of frequency. | If you apply a coupon with a forever duration, the discount will apply to your MRR. If you apply a coupon with a finite duration (i.e. once or repeating) to a subscription, your MRR is unaffected. For example, a 50% off coupon that has a duration of quarterly will not affect a subscriptions MRR (like we think it should). |
Refunds | Generally speaking, we ignore refunds. The only exception here is if the refund is for an annual plan and you choose to churn the subscription immediately in Stripe. With the purpose of MRR being a momentum metric, we're focused on events that are recurring. If you offer a customer a one-month full refund, we don't believe that should be classified as churn, and reactivation the next month—or, in the case of a partial refund: a downgrade, and upgrade the next month. It doesn't seem actionable to include these scenarios into your metrics. You can always see refunds in your Cash Flow tab (updates once a week for Metrics basic users, and real-time for Metrics Plus users. | One-off refunds, like one-off discounts, do not affect MRR unless it is due to a change in the Plan’s price. |
Subscriptions on hold | When you pause a subscription, MRR gets downgraded to $0 (only applies to new Stripe integration). | When you pause a subscription, MRR gets downgraded to $0. Payment is not collected while the subscription is paused. While collection is paused, subscriptions still generate invoices. |
Reactivations | If a customer churns and comes back within any period in time, they will be marked as a reactivation. | When a subscription becomes canceled, the most recent unpaid invoice is closed, and no further invoices are generated. A customer.subscription.deleted event is triggered. Since the subscription has been deleted, it cannot be reactivated. Instead, collect updated billing details from your customer, update their default payment method in Stripe, and create a new subscription for their customer record. |
Calculating LTV | Our calculation is roughly ARPU/(1-Retention), but we also apply a smart smoothing algorithm on top of this. In other words, we take a look at more than the current month ARPU and churn rate: we take a look at the whole ARPU (typically stable) and churn (usually volatile) trends, apply some magic (math, really!), and go from there. We also think that upgrades, reactivations, and downgrades should also meaningfully impact your LTV, so instead of simply taking churn, we take 1-Retention as the denominator. | LTV = Average Revenue Per Subscriber (ARPS) / Subscriber Churn Rate. |
Free plans ($0 subscriptions) | We bundle free plans into trials. | Users on free plans/$0 subscriptions are considered as active customers. |
Classifying customers | A customer, by our definition, must be actively paying you for your product or service on a recurring basis. | Any subscription still in a trialing status does not count towards your Monthly Recurring Revenue (MRR). If a subscription transitions from trialing to active, the subscription will then count towards your MRR even if the first invoice is unpaid. Eventually, if the subscription is cancelled or marked unpaid due to the unpaid invoice, the subscription will no longer count towards your MRR. If this customer has no other active subscriptions, it will also count towards your churn. |
Cash flow | ProfitWell only counts fees when payouts happen. This is due to the limitation of the data we receive from Stripe, as we only receive the data on fees when you transfer money out of Stripe. | Stripe deducts fees in real-time. |
Accuracy is, has been, and will always be our top priority. If you have any questions, please reach out to us with an example of a customer that is either missing or reflecting inaccurate subscription activity within ProfitWell. We're happy to help get to the bottom of any discrepancies!