Sparkforge vs ProfitWell vs Stripe: Why MRR Numbers Differ
MRR numbers differ across Sparkforge, ProfitWell, and Stripe because each platform applies different rules for cancellation timing, discount handling, refunds, paused subscriptions, and trials. Sparkforge uses event-based, USD-normalized calculations only on subscriptions managed inside the platform.
If you cross-check MRR across Sparkforge, ProfitWell, and Stripe, the numbers usually differ. Each platform interprets MRR events differently. Here is how Sparkforge calculates it and where the gaps come from.
What Sparkforge counts
| Dashboard tab | Source | Includes | Excludes |
|---|---|---|---|
| Summary | Combined MRR | SaaS and Reselling subs created in Sparkforge | Subs created outside Sparkforge |
| SaaS | SaaS MRR | SaaS subscriptions only | Reselling and external subs |
| Reselling (coming soon) | Reselling MRR | Reselling subscriptions only | SaaS and external subs |
MRR is calculated only from subscriptions created and managed within Sparkforge. Subscriptions originating elsewhere (for example, native Stripe subs not managed in Sparkforge) are excluded.
Side-by-side comparison
Cancellation timing
- Sparkforge: recognizes MRR until the actual cancellation date (end of billing cycle). Scheduled cancellations remain active until the cycle ends.
- ProfitWell: recognizes MRR until the end of the billing cycle.
- Stripe: immediate cancellation removes MRR at the moment of cancellation, even if access continues.
New business and churn in the same month
- Sparkforge: recognizes both new and churn MRR.
- ProfitWell: excludes the customer entirely to avoid double counting.
- Stripe: recognizes both new and churn MRR.
Discounts and credits
- Sparkforge: always subtracts discounts and credits before calculating MRR.
- ProfitWell: subtracts discounts and credits before MRR.
- Stripe: permanent (forever) coupons reduce MRR; limited-time or one-off coupons may not.
One-off refunds
- Sparkforge: ignored from MRR (not recurring). Only recurring price changes affect MRR.
- ProfitWell: ignored unless the refund permanently alters recurring value.
- Stripe: may reduce MRR if the refund cancels or modifies an active subscription.
Paused subscriptions
- Sparkforge: treated as Contraction; resumption is Expansion MRR.
- ProfitWell: sets MRR to $0 while paused, then resumes on reactivation.
- Stripe: sets MRR to $0 while paused, returns when reactivated.
Free plans and trials
- Sparkforge: excluded from MRR until upgraded to paid; still count as active subscribers in other metrics.
- ProfitWell: excluded; only paid recurring counts.
- Stripe: excluded; trial revenue not counted.
Past-due subscriptions
All three treat past-due as active until dunning ends and the subscription cancels or moves to unpaid.
Currency
All amounts are converted to USD before MRR is calculated, so the agency dashboard shows comparable data across global customers. Multi-currency viewing is on the roadmap.
If your MRR looks off
If you spot an unexpected variation — a sub showing higher or lower than Stripe, or an expansion or churn that did not appear — reach out via in-app chat or submit a support ticket. The team can trace events, discounts, and state transitions to confirm the calculation.
Frequently Asked Questions
Why does my Sparkforge MRR look different from Stripe?
Are externally billed Stripe subscriptions counted in Sparkforge MRR?
How are paused subscriptions treated in Sparkforge?
Are free trials counted in MRR?
Was this article helpful?
Thanks for the feedback.