Pro Plan10 minutesintermediate

MRR Tracking for SaaS

Track Monthly Recurring Revenue in Zenovay - monitor MRR growth, churn, expansions, and subscription metrics.

mrrsaassubscriptionsrevenue
Last updated: January 15, 2025
Pro Plan

Track SaaS subscription metrics in Zenovay - MRR, churn, expansion, and recurring revenue analytics.

SaaS Revenue Metrics

Key Metrics

MetricDescription
MRRMonthly Recurring Revenue
ARRAnnual Recurring Revenue
New MRRFrom new customers
Expansion MRRFrom upgrades
Churn MRRLost from cancellations
Net MRRNew + Expansion - Churn

MRR Dashboard

MRR Overview

Current MRR: $85,400
New MRR: +$8,200
Expansion: +$3,400
Churn: -$2,100
Net Change: +$9,500 (+11%)

ARR: $1,024,800

Tracking Subscriptions

Subscription Events

Track subscription lifecycle:

// New subscription
zenovay('track', 'subscription',{
  action: 'new',
  plan: 'pro',
  value: 49,
  interval: 'monthly',
  subscription_id: 'sub_12345',
  user_id: 'user_789'
});

// Upgrade
zenovay('track', 'subscription',{
  action: 'upgrade',
  from_plan: 'pro',
  to_plan: 'scale',
  value_change: 50,  // Additional MRR
  subscription_id: 'sub_12345'
});

// Downgrade
zenovay('track', 'subscription',{
  action: 'downgrade',
  from_plan: 'scale',
  to_plan: 'pro',
  value_change: -50,
  subscription_id: 'sub_12345'
});

// Cancellation
zenovay('track', 'subscription',{
  action: 'cancel',
  plan: 'pro',
  value: 49,
  subscription_id: 'sub_12345',
  reason: 'too_expensive'
});

Event Types

ActionMRR Impact
new+ New MRR
upgrade+ Expansion
downgrade- Contraction
cancel- Churn
reactivate+ Reactivation

MRR Breakdown

MRR Components

View MRR by component:

ComponentAmount%
New$8,20010%
Expansion$3,4004%
Reactivation$9001%
Churn-$2,100-2%
Contraction-$800-1%
Net Change+$9,600+11%

MRR by Plan

PlanMRRCustomersARPU
Basic$12,400620$20
Pro$42,800856$50
Scale$24,700247$100
Enterprise$5,50011$500

Trial Tracking

Trial Events

Track trial lifecycle:

// Trial started
zenovay('track', 'trial',{
  action: 'start',
  plan: 'pro',
  duration_days: 14,
  user_id: 'user_789'
});

// Trial converted
zenovay('track', 'trial',{
  action: 'convert',
  plan: 'pro',
  trial_id: 'trial_123',
  days_to_convert: 7
});

// Trial expired
zenovay('track', 'trial',{
  action: 'expire',
  plan: 'pro',
  trial_id: 'trial_123'
});

Trial Metrics

MetricValue
Trials Started450
Trials Converted135
Conversion Rate30%
Avg Days to Convert8.2
Trial Revenue$6,750

Churn Analysis

Churn Metrics

MetricValue
MRR Churn$2,100
Churn Rate2.5%
Customers Churned42
Avg Churned ARPU$50

Churn by Reason

ReasonCountMRR Lost
Too expensive15$850
Switched competitor12$620
No longer needed8$380
Poor experience5$200
Other2$50

Churn by Cohort

CohortMonth 1Month 3Month 6
Jan 20255%12%18%
Dec 20244%11%20%
Nov 20246%14%22%

Expansion Revenue

Expansion Tracking

// Seat expansion
zenovay('track', 'expansion',{
  type: 'seats',
  from: 5,
  to: 10,
  mrr_change: 25,
  subscription_id: 'sub_12345'
});

// Plan upgrade
zenovay('track', 'expansion',{
  type: 'plan',
  from_plan: 'pro',
  to_plan: 'scale',
  mrr_change: 50,
  subscription_id: 'sub_12345'
});

// Add-on
zenovay('track', 'expansion',{
  type: 'addon',
  addon: 'extra_storage',
  mrr_change: 10,
  subscription_id: 'sub_12345'
});

Expansion Metrics

TypeMRR% of Expansion
Plan Upgrades$2,10062%
Seat Additions$90026%
Add-ons$40012%

Attribution for SaaS

Trial to Paid Attribution

Track which sources drive converting trials:

SourceTrialsConversionsRateMRR
Organic1806335%$3,150
Content1204235%$2,100
Paid901820%$900
Referral601220%$600

LTV by Source

Enterprise Plan
SourceAvg LTVChurn Rate
Organic$8502.1%
Referral$9201.8%
Content$7802.4%
Paid$6203.2%

Cohort Analysis

Revenue Cohorts

Enterprise Plan

Track revenue retention by cohort:

CohortMonth 0Month 3Month 6Month 12
Q1 2025$10,000$9,200$8,800-
Q4 2024$8,500$7,900$7,500$7,100
Q3 2024$9,200$8,400$8,000$7,600

Net Revenue Retention

Calculate NRR:

NRR = (Start MRR + Expansion - Churn) / Start MRR × 100

Example:
Start: $80,000
Expansion: $5,000
Churn: $3,000
NRR = ($80,000 + $5,000 - $3,000) / $80,000 = 102.5%

Integration with Billing

Stripe Integration

Pro Plan

Connect Stripe for automatic tracking:

  1. Go to your domain settings → Integrations tab
  2. Connect Stripe
  3. Map plans
  4. Data syncs automatically

Webhook Setup

Receive billing webhooks:

// Handle Stripe webhook
app.post('/webhooks/stripe', (req, res) => {
  const event = req.body;

  switch (event.type) {
    case 'customer.subscription.created':
      zenovay('track', 'subscription',{
        action: 'new',
        // Map Stripe data
      });
      break;
    // Handle other events
  }
});

SaaS Dashboard

Custom Dashboard

Create SaaS-specific view:

  • MRR trend widget
  • Churn rate gauge
  • Trial conversion funnel
  • Revenue by plan chart

Key Widgets

WidgetShows
MRR TrendMonthly MRR over time
Net MRRBreakdown of changes
Churn RateMonthly churn trend
Trial FunnelTrial to paid conversion

Alerting

MRR Alerts

Set up alerts for:

  • MRR drops below threshold
  • Churn rate increases
  • Trial conversion drops
  • Revenue targets

Example Alert

Alert: High Churn Day
Trigger: Daily churn > $500
Action: Email + Slack

Best Practices

Track Everything

Capture all subscription events:

  • New subscriptions
  • Upgrades/downgrades
  • Cancellations
  • Reactivations

Segment by Plan

Analyze each plan separately:

  • Different churn rates
  • Different LTV
  • Different acquisition costs

Monitor Leading Indicators

Watch for:

  • Trial conversion changes
  • Time to value
  • Feature adoption
  • Support tickets

Next Steps

Was this article helpful?