{
  "name": "SaaS Benchmark Dataset",
  "version": "1.0",
  "generated": "2026-11-04",
  "license": "CC BY 4.0",
  "license_url": "https://creativecommons.org/licenses/by/4.0/",
  "homepage": "https://optimetricshub.com/benchmarks/dataset",
  "citation": "SaaS Metrics Calculators, 2026-11-04 edition: \"SaaS Benchmark Dataset\" v1.0, https://optimetricshub.com/benchmarks/dataset",
  "metrics": {
    "ltvCac": {
      "label": "LTV:CAC ratio",
      "unit": "ratio (x)",
      "definition": "Customer lifetime value computed on a gross-profit basis, divided by customer acquisition cost.",
      "direction": "higher_is_better",
      "how_to_read": "Below 1x every customer loses money. Roughly 3x is the long-standing convention; far above 5x usually means acquisition is underfunded."
    },
    "mrrGrowth": {
      "label": "MRR growth rate",
      "unit": "percent per month",
      "definition": "Month-over-month growth in monthly recurring revenue.",
      "direction": "higher_is_better",
      "how_to_read": "Growth decays predictably with scale, so the band is keyed to MRR rather than compared across stages."
    },
    "churn": {
      "label": "Monthly customer churn",
      "unit": "percent per month",
      "definition": "Customers lost during the month divided by customers at the start of the month. Logo churn, not revenue churn.",
      "direction": "lower_is_better",
      "how_to_read": "Per month, not per year. Annual figures are roughly twelve times the monthly rate at low churn and considerably less at high churn, because of compounding."
    },
    "runway": {
      "label": "Cash runway",
      "unit": "months",
      "definition": "Cash on hand divided by net monthly burn.",
      "direction": "higher_is_better",
      "how_to_read": "A business whose revenue covers its costs has no runway limit; the row is marked unbounded rather than given an arbitrary number."
    },
    "cacPayback": {
      "label": "CAC payback period",
      "unit": "months",
      "definition": "Customer acquisition cost divided by monthly gross profit per customer.",
      "direction": "lower_is_better",
      "how_to_read": "Months of gross profit needed to repay acquisition cost. Under 12 months growth is broadly self-funding."
    },
    "quickRatio": {
      "label": "SaaS quick ratio",
      "unit": "ratio (x)",
      "definition": "(new MRR + expansion MRR) divided by (churned MRR + contraction MRR). Not the accounting quick ratio.",
      "direction": "higher_is_better",
      "how_to_read": "A threshold framework rather than a per-segment table: 4.0 and above is the published target, below 1.0 means the business is shrinking while sales keep closing."
    }
  },
  "rows": [
    {
      "metric": "ltvCac",
      "metric_label": "LTV:CAC ratio",
      "segment": "Early-stage B2B SaaS",
      "unit": "ratio (x)",
      "typical_text": "2.5x - 3x",
      "value_low": 2.5,
      "value_high": 3.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "4x+",
      "best": {
        "low": 4.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Customer lifetime value computed on a gross-profit basis, divided by customer acquisition cost.",
      "note": "Often noisy while the customer base is small; track the trend, not a single month."
    },
    {
      "metric": "ltvCac",
      "metric_label": "LTV:CAC ratio",
      "segment": "Growth-stage B2B SaaS",
      "unit": "ratio (x)",
      "typical_text": "3x - 4x",
      "value_low": 3.0,
      "value_high": 4.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "5x+",
      "best": {
        "low": 5.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Customer lifetime value computed on a gross-profit basis, divided by customer acquisition cost.",
      "note": "The range most boards and Series A investors expect to see."
    },
    {
      "metric": "ltvCac",
      "metric_label": "LTV:CAC ratio",
      "segment": "Self-serve / PLG products",
      "unit": "ratio (x)",
      "typical_text": "3x - 4.5x",
      "value_low": 3.0,
      "value_high": 4.5,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "5x+",
      "best": {
        "low": 5.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Customer lifetime value computed on a gross-profit basis, divided by customer acquisition cost.",
      "note": "Lower CAC pushes the ratio up, but the denominator is easy to under-state."
    },
    {
      "metric": "ltvCac",
      "metric_label": "LTV:CAC ratio",
      "segment": "Enterprise SaaS",
      "unit": "ratio (x)",
      "typical_text": "3x - 5x",
      "value_low": 3.0,
      "value_high": 5.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "6x+",
      "best": {
        "low": 6.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Customer lifetime value computed on a gross-profit basis, divided by customer acquisition cost.",
      "note": "Long sales cycles mean CAC is lumpy; use a rolling 12-month figure."
    },
    {
      "metric": "ltvCac",
      "metric_label": "LTV:CAC ratio",
      "segment": "Marketplaces & consumer subscriptions",
      "unit": "ratio (x)",
      "typical_text": "2x - 3x",
      "value_low": 2.0,
      "value_high": 3.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "4x+",
      "best": {
        "low": 4.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Customer lifetime value computed on a gross-profit basis, divided by customer acquisition cost.",
      "note": "High churn compresses LTV; payback speed matters more than the ratio here."
    },
    {
      "metric": "mrrGrowth",
      "metric_label": "MRR growth rate",
      "segment": "Pre-$10k MRR",
      "unit": "percent per month",
      "typical_text": "10% - 25%",
      "value_low": 10.0,
      "value_high": 25.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "30%+",
      "best": {
        "low": 30.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Month-over-month growth in monthly recurring revenue.",
      "note": "Small bases move fast. Growth here says more about distribution than product."
    },
    {
      "metric": "mrrGrowth",
      "metric_label": "MRR growth rate",
      "segment": "$10k - $50k MRR",
      "unit": "percent per month",
      "typical_text": "8% - 15%",
      "value_low": 8.0,
      "value_high": 15.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "20%+",
      "best": {
        "low": 20.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Month-over-month growth in monthly recurring revenue.",
      "note": "The stage where repeatable acquisition channels should be emerging."
    },
    {
      "metric": "mrrGrowth",
      "metric_label": "MRR growth rate",
      "segment": "$50k - $250k MRR",
      "unit": "percent per month",
      "typical_text": "5% - 10%",
      "value_low": 5.0,
      "value_high": 10.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "15%+",
      "best": {
        "low": 15.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Month-over-month growth in monthly recurring revenue.",
      "note": "Churn starts to be a visible drag on the net figure."
    },
    {
      "metric": "mrrGrowth",
      "metric_label": "MRR growth rate",
      "segment": "$250k - $1M MRR",
      "unit": "percent per month",
      "typical_text": "4% - 8%",
      "value_low": 4.0,
      "value_high": 8.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "12%+",
      "best": {
        "low": 12.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Month-over-month growth in monthly recurring revenue.",
      "note": "Sustaining 10%+ here is what separates top-decile companies."
    },
    {
      "metric": "mrrGrowth",
      "metric_label": "MRR growth rate",
      "segment": "$1M+ MRR",
      "unit": "percent per month",
      "typical_text": "3% - 6%",
      "value_low": 3.0,
      "value_high": 6.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "8%+",
      "best": {
        "low": 8.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Month-over-month growth in monthly recurring revenue.",
      "note": "Compounding 5% a month still triples MRR in about 22 months."
    },
    {
      "metric": "churn",
      "metric_label": "Monthly customer churn",
      "segment": "SMB self-serve (< $50/mo)",
      "unit": "percent per month",
      "typical_text": "3% - 7%",
      "value_low": 3.0,
      "value_high": 7.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 3%",
      "best": {
        "low": null,
        "high": 3.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customers lost during the month divided by customers at the start of the month. Logo churn, not revenue churn.",
      "note": "Low switching costs and card-optional trials drive the high end."
    },
    {
      "metric": "churn",
      "metric_label": "Monthly customer churn",
      "segment": "SMB sales-assisted ($50 - $500/mo)",
      "unit": "percent per month",
      "typical_text": "2% - 4%",
      "value_low": 2.0,
      "value_high": 4.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 2%",
      "best": {
        "low": null,
        "high": 2.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customers lost during the month divided by customers at the start of the month. Logo churn, not revenue churn.",
      "note": "The band most bootstrapped and seed-stage SaaS companies sit in."
    },
    {
      "metric": "churn",
      "metric_label": "Monthly customer churn",
      "segment": "Mid-market ($500 - $2k/mo)",
      "unit": "percent per month",
      "typical_text": "1% - 2%",
      "value_low": 1.0,
      "value_high": 2.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 1%",
      "best": {
        "low": null,
        "high": 1.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customers lost during the month divided by customers at the start of the month. Logo churn, not revenue churn.",
      "note": "Onboarding quality shows up here more than pricing does."
    },
    {
      "metric": "churn",
      "metric_label": "Monthly customer churn",
      "segment": "Enterprise (> $2k/mo)",
      "unit": "percent per month",
      "typical_text": "0.5% - 1.5%",
      "value_low": 0.5,
      "value_high": 1.5,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 0.5%",
      "best": {
        "low": null,
        "high": 0.5,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customers lost during the month divided by customers at the start of the month. Logo churn, not revenue churn.",
      "note": "Measured annually in most enterprises; monthly figures get noisy."
    },
    {
      "metric": "churn",
      "metric_label": "Monthly customer churn",
      "segment": "Annual contracts (any size)",
      "unit": "percent per month",
      "typical_text": "0.5% - 1%",
      "value_low": 0.5,
      "value_high": 1.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 0.5%",
      "best": {
        "low": null,
        "high": 0.5,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customers lost during the month divided by customers at the start of the month. Logo churn, not revenue churn.",
      "note": "Renewal-date clustering makes monthly numbers spiky — read the yearly figure."
    },
    {
      "metric": "runway",
      "metric_label": "Cash runway",
      "segment": "Pre-seed / bootstrapped",
      "unit": "months",
      "typical_text": "6 - 12 months",
      "value_low": 6.0,
      "value_high": 12.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "18+ months",
      "best": {
        "low": 18.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Cash on hand divided by net monthly burn.",
      "note": "Default-alive beats a rushed raise. Cut scope before you cut the team."
    },
    {
      "metric": "runway",
      "metric_label": "Cash runway",
      "segment": "Seed",
      "unit": "months",
      "typical_text": "18 - 24 months",
      "value_low": 18.0,
      "value_high": 24.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "24+ months",
      "best": {
        "low": 24.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Cash on hand divided by net monthly burn.",
      "note": "Enough time to find repeatable acquisition and still raise on milestones."
    },
    {
      "metric": "runway",
      "metric_label": "Cash runway",
      "segment": "Series A",
      "unit": "months",
      "typical_text": "18 - 24 months",
      "value_low": 18.0,
      "value_high": 24.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "24 - 30 months",
      "best": {
        "low": 24.0,
        "high": 30.0,
        "low_inclusive": true,
        "high_inclusive": true,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Cash on hand divided by net monthly burn.",
      "note": "Start the next raise with 9 months of cash in the bank."
    },
    {
      "metric": "runway",
      "metric_label": "Cash runway",
      "segment": "Series B+",
      "unit": "months",
      "typical_text": "24 - 36 months",
      "value_low": 24.0,
      "value_high": 36.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "30+ months",
      "best": {
        "low": 30.0,
        "high": null,
        "low_inclusive": true,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "higher_is_better",
      "definition": "Cash on hand divided by net monthly burn.",
      "note": "Longer cycles, larger teams, slower course corrections."
    },
    {
      "metric": "runway",
      "metric_label": "Cash runway",
      "segment": "Profitable / cash-flow positive",
      "unit": "months",
      "typical_text": "Unlimited",
      "value_low": null,
      "value_high": null,
      "low_inclusive": false,
      "high_inclusive": false,
      "unbounded": true,
      "best_text": "Unlimited",
      "best": {
        "low": null,
        "high": null,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": true
      },
      "direction": "higher_is_better",
      "definition": "Cash on hand divided by net monthly burn.",
      "note": "With net burn at or below zero there is no runway limit — the constraint becomes growth, not survival."
    },
    {
      "metric": "cacPayback",
      "metric_label": "CAC payback period",
      "segment": "SMB self-serve",
      "unit": "months",
      "typical_text": "6 - 12 months",
      "value_low": 6.0,
      "value_high": 12.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 6 months",
      "best": {
        "low": null,
        "high": 6.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customer acquisition cost divided by monthly gross profit per customer.",
      "note": "Short payback is what makes self-serve growth self-funding."
    },
    {
      "metric": "cacPayback",
      "metric_label": "CAC payback period",
      "segment": "SMB sales-assisted",
      "unit": "months",
      "typical_text": "12 - 18 months",
      "value_low": 12.0,
      "value_high": 18.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 12 months",
      "best": {
        "low": null,
        "high": 12.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customer acquisition cost divided by monthly gross profit per customer.",
      "note": "Most seed and Series A companies land here."
    },
    {
      "metric": "cacPayback",
      "metric_label": "CAC payback period",
      "segment": "Mid-market",
      "unit": "months",
      "typical_text": "12 - 24 months",
      "value_low": 12.0,
      "value_high": 24.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 12 months",
      "best": {
        "low": null,
        "high": 12.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customer acquisition cost divided by monthly gross profit per customer.",
      "note": "Longer contracts justify longer payback, provided retention holds."
    },
    {
      "metric": "cacPayback",
      "metric_label": "CAC payback period",
      "segment": "Enterprise",
      "unit": "months",
      "typical_text": "18 - 30 months",
      "value_low": 18.0,
      "value_high": 30.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 18 months",
      "best": {
        "low": null,
        "high": 18.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customer acquisition cost divided by monthly gross profit per customer.",
      "note": "Up-front implementation cost inflates CAC; count it in the denominator."
    },
    {
      "metric": "cacPayback",
      "metric_label": "CAC payback period",
      "segment": "Consumer subscription",
      "unit": "months",
      "typical_text": "3 - 12 months",
      "value_low": 3.0,
      "value_high": 12.0,
      "low_inclusive": true,
      "high_inclusive": true,
      "unbounded": false,
      "best_text": "< 3 months",
      "best": {
        "low": null,
        "high": 3.0,
        "low_inclusive": false,
        "high_inclusive": false,
        "unbounded": false
      },
      "direction": "lower_is_better",
      "definition": "Customer acquisition cost divided by monthly gross profit per customer.",
      "note": "High churn means payback must be fast or the cohort never breaks even."
    }
  ],
  "thresholds": [
    {
      "metric": "quickRatio",
      "metric_label": "SaaS quick ratio",
      "unit": "ratio (x)",
      "definition": "(new MRR + expansion MRR) divided by (churned MRR + contraction MRR). Not the accounting quick ratio.",
      "band": ">= 4.0",
      "min": 4.0,
      "max": null,
      "verdict": "Excellent"
    },
    {
      "metric": "quickRatio",
      "metric_label": "SaaS quick ratio",
      "unit": "ratio (x)",
      "definition": "(new MRR + expansion MRR) divided by (churned MRR + contraction MRR). Not the accounting quick ratio.",
      "band": "2.0 - 4.0",
      "min": 2.0,
      "max": 4.0,
      "verdict": "Good"
    },
    {
      "metric": "quickRatio",
      "metric_label": "SaaS quick ratio",
      "unit": "ratio (x)",
      "definition": "(new MRR + expansion MRR) divided by (churned MRR + contraction MRR). Not the accounting quick ratio.",
      "band": "1.0 - 2.0",
      "min": 1.0,
      "max": 2.0,
      "verdict": "Leaking"
    },
    {
      "metric": "quickRatio",
      "metric_label": "SaaS quick ratio",
      "unit": "ratio (x)",
      "definition": "(new MRR + expansion MRR) divided by (churned MRR + contraction MRR). Not the accounting quick ratio.",
      "band": "< 1.0",
      "min": null,
      "max": 1.0,
      "verdict": "Shrinking"
    }
  ]
}
