{
  "slug": "hotel-star-report-penetration-index",
  "title": "Hotel Market Penetration Index Calculator",
  "heading": "Market Penetration Index Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/hotel-star-report-penetration-index",
  "summary": "Compare your occupancy and RevPAR performance against your STR comp set.",
  "description": "Penetration indices from STR (now CoStar) reports tell you whether a hotel is over- or under-performing its fair share of the competitive market, independent of whether the whole market is up or down. MPI (market penetration index) compares your occupancy to the comp set's occupancy; ARI (average rate index) compares ADR; RGI (revenue generation index) compares RevPAR. An index of 100 means you're performing exactly at your fair share; above 100 means you're outperforming. This calculator computes all three from your property's and the comp set's occupancy and ADR figures.",
  "formula": "MPI = (Your Occupancy ÷ Comp Set Occupancy) × 100. ARI = (Your ADR ÷ Comp Set ADR) × 100. RGI = (Your RevPAR ÷ Comp Set RevPAR) × 100.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=hotel-star-report-penetration-index",
  "inputs": [
    {
      "id": "yourOcc",
      "label": "Your occupancy",
      "kind": "number",
      "hint": null,
      "default": 71,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "compOcc",
      "label": "Comp set occupancy",
      "kind": "number",
      "hint": null,
      "default": 66,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "yourAdr",
      "label": "Your ADR",
      "kind": "number",
      "hint": null,
      "default": 138,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "compAdr",
      "label": "Comp set ADR",
      "kind": "number",
      "hint": null,
      "default": 150,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "rgi",
      "label": "Revenue Generation Index (RGI)",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "mpi",
      "label": "Market Penetration Index (MPI)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "ari",
      "label": "Average Rate Index (ARI)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "yourRevpar",
      "label": "Your RevPAR",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Your occupancy: 71 %",
      "Comp set occupancy: 66 %",
      "Your ADR: 138 $",
      "Comp set ADR: 150 $"
    ],
    "outputs": [
      "Revenue Generation Index (RGI): 99",
      "Market Penetration Index (MPI): 107.6",
      "Average Rate Index (ARI): 92",
      "Your RevPAR: $97.98"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter your occupancy (%).",
      "Enter comp set occupancy (%).",
      "Enter your adr ($).",
      "Enter comp set adr ($).",
      "Read your revenue generation index (rgi) on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "yourOcc": 43,
        "compOcc": 40,
        "yourAdr": 83,
        "compAdr": 90
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "yourOcc": 71,
        "compOcc": 66,
        "yourAdr": 138,
        "compAdr": 150
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "yourOcc": 100,
        "compOcc": 100,
        "yourAdr": 221,
        "compAdr": 240
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What does an RGI of 95 actually mean?",
      "a": "It means your property generated 95% of the RevPAR its fair market share would predict — you're underperforming the comp set by 5%. Fair share is defined by your proportion of total comp-set room inventory, so RGI isolates performance from raw size."
    },
    {
      "q": "Should I focus on MPI or ARI if RGI is low?",
      "a": "Decompose it: if MPI is strong (100+) but ARI is weak, you're winning occupancy by underpricing — you likely have room to raise rate. If ARI is strong but MPI is weak, you're pricing at or above market but losing bookings, which usually points to distribution, reviews, or product issues."
    },
    {
      "q": "Where do I get comp set occupancy and ADR numbers?",
      "a": "Subscribe to an STR/CoStar comp-set report, which benchmarks your property against 4-8 competitors you select and STR approves. Independent hotels without an STR subscription can approximate using visible OTA pricing and local tourism board occupancy data, though it's far less precise."
    },
    {
      "q": "How often should penetration indices be reviewed?",
      "a": "Monthly at minimum, tied to your STR report cycle, with a rolling 12-month trailing view to smooth out one-off events like a competitor's renovation closure or a local convention that temporarily skews the comp set."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/hotel-revpar-calculator",
    "https://www.revenuelab.fyi/toolbox/hotel-adr-occupancy-calculator",
    "https://www.revenuelab.fyi/toolbox/hotel-goppar-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Hotel Market Penetration Index Calculator (https://www.revenuelab.fyi/toolbox/hotel-star-report-penetration-index)"
}