Sparkforge vs ProfitWell vs Stripe: Why MRR Numbers Differ

By Sparkforge Support Team ·Last reviewed May 3, 2026

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 tabSourceIncludesExcludes
SummaryCombined MRRSaaS and Reselling subs created in SparkforgeSubs created outside Sparkforge
SaaSSaaS MRRSaaS subscriptions onlyReselling and external subs
Reselling (coming soon)Reselling MRRReselling subscriptions onlySaaS 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?
Stripe drops MRR at the moment of cancellation, while Sparkforge keeps it until the billing cycle ends. Discounts, refunds, and paused subscriptions are also handled differently.
Are externally billed Stripe subscriptions counted in Sparkforge MRR?
No. Only subscriptions created and managed inside Sparkforge are included.
How are paused subscriptions treated in Sparkforge?
A pause is recorded as Contraction MRR. When the subscription resumes, the increase is recorded as Expansion MRR.
Are free trials counted in MRR?
No. Trials are excluded from MRR until they convert to a paid plan, though they still count as active subscribers in other metrics.

Was this article helpful?