Monthly recurring revenue
Monthly Recurring Revenue (MRR) is the most important metric for understanding your app’s financial health and growth trajectory.
One of the most common questions we get at Mantle is about the difference between our MRR numbers and the Earnings report in the Shopify Partner Dashboard. Here’s the key distinction: the Earnings report is a cash flow metric showing money that has actually moved, while MRR is a predictive KPI showing the total value of your active subscription contracts.
Think of MRR like a stack of paper contracts - each one representing a promise of future revenue unless something happens to end that agreement. While Earnings tells you what happened in the past, MRR helps you understand what reliable revenue you can expect going forward. This makes MRR invaluable for planning, forecasting, and measuring the actual growth trajectory of your business.
What this report shows

The MRR report gives you a complete picture of your recurring revenue through four key visualizations under ‘Recurring Revenue’:
- Current MRR shows how much you can expect to bill if all your monthly subscriptions renewed today
- ARR (Annual Recurring Revenue) provides the annualized view of your recurring revenue
- MRR Growth Rate tracks your month-to-month revenue trajectory
- Top Plans by MRR reveals which pricing tiers drive your revenue
Below these, the MRR Changes visualization breaks down exactly what’s driving your MRR movements - from new customers and upgrades to churns and downgrades.
Drilling into MRR changes
When you click on any expansion or contraction in your MRR changes, you’ll see a detailed breakdown panel that shows exactly what happened on that specific date. This panel includes:
- Plan - The subscription plan involved in the change
- Change - The dollar amount and direction of the MRR impact (+ for increases, - for decreases)
- Type - The category of change (New, Upgrade, Downgrade, Churn, etc.)
- Customer - The specific customer associated with the change
- Occurred On - The date when the event actually happened (e.g., when the customer upgraded)
- Effective Date - The date when the charge is expected to start affecting your MRR, typically after any trial period
At the bottom, you’ll see a summary showing the total number of events and net MRR impact for that date. This detailed view helps you understand not just that your MRR changed, but exactly which customers and plans drove those changes.
Understanding your numbers
MRR isn’t just a single number - it’s a story told through various revenue movements. When you’re growing, that growth comes from:
- New customers starting their first subscriptions
- Previous customers returning after cancellation (reactivation)
- Existing customers upgrading to higher-value plans (expansion)
- Frozen shops becoming active again (unfrozen)
On the flip side, MRR can decrease through:
- Customers canceling their subscriptions (churn)
- Customers downgrading to lower-value plans (contraction)
- Shops freezing their Shopify accounts (frozen)
What makes the cut
Mantle’s MRR calculations are precise about what counts as recurring revenue. We include:
- Active subscriptions at the amount they are billed at the start of each app billing cycle
- Annual subscriptions divided by 12 to show monthly impact
- Optionally, usage charges based on a trailing 30-day window (e.g., May 20’s usage MRR includes charges from April 19 to May 19)
But we exclude:
- Trial subscriptions (until they convert)
- Frozen shop subscriptions
- One-time charges
- Raw annual amounts (we normalize to monthly)
Making the most of this report
Diving deeper
The real power of the MRR report comes from how it connects with other Mantle features. Use filters to slice your data by:
- Individual apps or your entire portfolio
- Billing providers (Shopify/Stripe)
- Custom time ranges
- Customer segments
When you spot interesting trends, Mantle’s suite of reports helps you investigate:
- High churn? Check the Churn Report for patterns
- Slow growth? The Funnel Report shows where prospects drop off
- Many frozen shops? Traffic Source Attribution might reveal targeting opportunities
- Strong trial numbers? The Trials Report previews potential MRR
Setting up for success
To get the most accurate picture of your MRR, proper configuration is crucial. Take time to set up:
- Trial settings - both global defaults and plan-specific variations
- Discount tracking - ensure both promotional and custom discounts are captured
- Plan billing frequencies - especially important for annual plans
- Usage charge preferences - decide if and how to include usage revenue
Pro strategies
The most successful teams use the MRR report as their compass for growth decisions. Here’s how:
Track your positive-to-negative MRR ratio. If new revenue (from new customers, reactivations, and expansions) consistently outpaces losses (from churn, contractions, and frozen shops), you’re on a healthy growth trajectory.
Use segments to understand MRR patterns across different customer groups. This can reveal which types of customers have the highest lifetime value or which are most likely to upgrade.
Monitor your frozen shop rate. A high number of frozen shops might indicate targeting issues - you might be attracting customers who aren’t ready for long-term Shopify success.
The MRR report isn’t just about tracking numbers - it’s about understanding your business’s health and identifying exactly where to focus for sustainable growth.
Frequently asked questions
Calculations and Data
Why do my MRR chart and movement breakdown show different numbers?
You might notice that the total MRR shown in your chart differs slightly from the total in your MRR movement breakdown table. This is completely normal and expected behavior.
Here's why this happens:
• MRR Chart: Shows the total value of all active subscriptions at each point in time
• Movement Breakdown Table: Tracks the sum of all subscription changes (new, churn, upgrades, etc.) that happened within your selected date range
The difference usually comes from timing issues with frozen/unfrozen shops. For example, if a shop was frozen in a previous month but unfrozen in your current date range, the movement table shows the +MRR from unfreezing, but doesn't account for the original -MRR from when it was frozen (since that happened outside your current view).
Both numbers are "correct" but they're measuring different things - one shows your current state, the other shows the changes that got you there within a specific timeframe.
What does 'Occurred On' vs 'Effective Date' mean in the drilldown details?
When you click into MRR changes, you'll see two dates that might be different:
• Occurred On: When the customer actually took the action (like upgrading their plan)
• Effective Date: When the charge starts affecting your MRR (typically after any trial period)
For example, if someone upgrades during a trial, the 'Occurred On' date is when they clicked upgrade, but the 'Effective Date' is when their trial ends and billing begins.
How do annual plans affect my MRR calculations?
Annual plans are automatically normalized to show monthly impact. If you have a $120/year plan, it contributes $10 to your MRR calculation. You can toggle annual plans on/off using the 'Annual plans' option in the additional revenue types filter.
What’s Included
What counts as 'Usage charges' in MRR?
Usage charges use a trailing 30-day window to estimate monthly impact. For example, May 20's usage MRR includes actual usage charges from April 19 to May 19. This gives you a realistic picture of expected usage revenue, though actual usage will vary month to month.
Why might I want to include or exclude trials from MRR?
Including trials shows your total committed revenue (including customers who haven't started paying yet). Excluding trials shows only revenue from customers who are actually paying. Most investors and financial analysis focus on paying customers only, but trials can be useful for forecasting.
What's the difference between 'Frozen' and 'Churn' in MRR changes?
• Frozen: Customer's Shopify account was suspended/frozen - they didn't choose this and often come back when reactivated
• Churn: Customer actively chose to cancel their subscription - a deliberate business decision
Frozen shops often return as 'Unfrozen' MRR, while churned customers typically return as 'Reactivation' if they come back.
Using the Interface
How do I drill down into specific MRR changes?
Click any dollar amount in the MRR breakdown table to see exactly which customers and plans drove that change. You'll get a detailed popup showing the specific subscription events, customer names, plan details, and timing for that date.
What's the difference between viewing by dates vs types?
• By dates: Shows each type of change (New, Churn, etc.) as columns, with dates as rows - good for seeing patterns over time
• By types: Shows dates as columns, with change types as rows - good for comparing different types of MRR movement
Use the filter in the MRR changes section to switch between these views.