The short version
MRR is the sum of what every active subscription is worth per month. In Stripe terms: take each active subscription item, convert its price to a monthly amount, multiply by its quantity, apply the discount the customer actually pays, and add everything up.
Step 1: pick the subscriptions that count
- Count subscriptions with the status
active. Most definitions also keeppast_due: the customer is still subscribed while Stripe retries the payment. - Leave out
canceled,incompleteandincomplete_expiredsubscriptions. - Trials (
trialing) usually don’t count until the first payment. Decide once and stay consistent.
Step 2: convert every price to a monthly amount
A price has an interval and an interval count. Normalize it to one month:
- Monthly, $29 → $29 of MRR.
- Yearly, $290 → $290 ÷ 12 = $24.16 of MRR.
- Every 3 months, $75 → $75 ÷ 3 = $25 of MRR.
- Weekly, $10 → about $10 × 52 ÷ 12 = $43.33 of MRR.
Step 3: quantities and discounts
- Per-seat plans: multiply the monthly amount by the item’s quantity (5 seats × $12 = $60).
- Percentage coupons reduce MRR while they apply (20% off $50 = $40). A fixed-amount coupon on a yearly plan is spread over the months it covers.
- When a coupon expires, MRR goes up without a new customer. That’s expected.
Step 4: what to leave out
- One-time payments, setup fees and invoice items that won’t repeat.
- Metered (usage-based) prices: the amount changes every month, so most founders track them separately.
- Tax added on top of the price. If your prices are tax-inclusive, Stripe Billing counts them as they are; it doesn’t remove the tax.
Step 5: several currencies
If you charge in USD and EUR, convert everything to one currency before adding it up. Use the currency each subscription is actually charged in, not the price’s default currency. Your total will move a little with exchange rates, even when nothing else changes.
Why your number can differ from someone else’s
- Trials and past-due subscriptions included or not.
- Discounts applied or ignored.
- Different exchange rates, or rates from a different day.
- Past months: rebuilt from invoices versus from subscription history.
None of these is wrong. What matters is using the same rules every month, so the trend is real.
Past months
Today’s MRR comes from today’s subscriptions. For past months, you need history: either subscription snapshots you saved over time, or an estimate from the invoices paid each month (yearly invoices spread over 12 months). Invoice-based history is close, but rarely identical to an analytics tool’s.
Skip the spreadsheet
MotionMRR’s Stripe integration applies these rules with a restricted, read-only key: active and past-due items, monthly normalization, quantities and discounts, metered prices left out, currencies converted with ECB reference rates. Then it turns your curve into a video you can post. For what to do with the number, read MRR vs ARR or project it with the MRR growth calculator.