Download the benchmarks, embed the calculator

The per-patient-day benchmarks behind every state page are one free CSV or JSON file: 59 rows covering the US, 50 states, three types of control and four size bands. The valuation calculator can run on your own site.

The file

DatasetRowsCoversDownload
SNF per-patient-day benchmarks25th, 50th and 75th percentile of each measure, per group 59 Cost reports for fiscal years ending August 2024 to August 2025 CSV (14 KB) · JSON (72 KB)

Each row is one group: group_type says which kind (us, us-prior-file, state, control, size) and group names it. The us-prior-file row is the same measures from the CMS file before this one, so you can see the year's change. manifest.json lists the file with its source and column dictionary.

Where it comes from

Every figure is computed from the CMS Skilled Nursing Facility Cost Report data, CMS's "2024-01-02" release posted October 2026: 13,092 usable full-year reports out of 14,587. The methodology explains which reports count and how each measure is built. Two cautions carry over from the state pages. The reported margin subtracts building and related-party costs, so it runs far below the EBITDAR an underwriter would use. And California and Vermont reports leave the Medicaid day column nearly empty, so their payer mix is flagged in payer_mix_caveat instead of being compared.

Columns

ColumnWhat it holds
group_typeus, us-prior-file, state, control (type of control) or size (bed band).
groupUS, a two-letter state, a control type or a bed band.
reportsUsable full-year cost reports in the group.
occupancy_pct_p25Occupancy, percent (patient days / bed days available): 25th percentile.
occupancy_pct_medianOccupancy, percent (patient days / bed days available): median.
occupancy_pct_p75Occupancy, percent (patient days / bed days available): 75th percentile.
net_revenue_ppd_p25Net patient revenue per patient day, dollars: 25th percentile.
net_revenue_ppd_medianNet patient revenue per patient day, dollars: median.
net_revenue_ppd_p75Net patient revenue per patient day, dollars: 75th percentile.
operating_expense_ppd_p25Total operating expense per patient day, dollars: 25th percentile.
operating_expense_ppd_medianTotal operating expense per patient day, dollars: median.
operating_expense_ppd_p75Total operating expense per patient day, dollars: 75th percentile.
operating_margin_pct_p25Operating margin as reported, percent (net patient revenue less total operating expense): 25th percentile.
operating_margin_pct_medianOperating margin as reported, percent (net patient revenue less total operating expense): median.
operating_margin_pct_p75Operating margin as reported, percent (net patient revenue less total operating expense): 75th percentile.
medicare_days_pct_p25Medicare share of patient days, percent: 25th percentile.
medicare_days_pct_medianMedicare share of patient days, percent: median.
medicare_days_pct_p75Medicare share of patient days, percent: 75th percentile.
medicaid_days_pct_p25Medicaid share of patient days, percent: 25th percentile.
medicaid_days_pct_medianMedicaid share of patient days, percent: median.
medicaid_days_pct_p75Medicaid share of patient days, percent: 75th percentile.
other_payer_days_pct_p25Other payers' share of days (private pay, managed care, VA and others), percent: 25th percentile.
other_payer_days_pct_medianOther payers' share of days (private pay, managed care, VA and others), percent: median.
other_payer_days_pct_p75Other payers' share of days (private pay, managed care, VA and others), percent: 75th percentile.
medicare_pps_per_medicare_day_p25Medicare PPS payment per Medicare day, dollars: 25th percentile.
medicare_pps_per_medicare_day_medianMedicare PPS payment per Medicare day, dollars: median.
medicare_pps_per_medicare_day_p75Medicare PPS payment per Medicare day, dollars: 75th percentile.
medicare_pps_per_medicare_day_reportsReports with a value for medicare_pps_per_medicare_day (fewer than reports).
contract_labor_pct_p25Contract labor share of labor cost, percent: 25th percentile.
contract_labor_pct_medianContract labor share of labor cost, percent: median.
contract_labor_pct_p75Contract labor share of labor cost, percent: 75th percentile.
contract_labor_pct_reportsReports with a value for contract_labor_pct (fewer than reports).
beds_p25Beds per facility: 25th percentile.
beds_medianBeds per facility: median.
beds_p75Beds per facility: 75th percentile.
payer_mix_caveattrue where the state's reports leave the Medicaid day column nearly empty (payer mix not comparable).
prior_occupancy_medianStates: median occupancy in the prior CMS file.
prior_net_revenue_ppd_medianStates: median net revenue per patient day in the prior file.
prior_operating_expense_ppd_medianStates: median operating expense per patient day in the prior file.
prior_operating_margin_medianStates: median reported margin in the prior file.

Put the valuation calculator on your site

The valuation and coverage calculator also runs inside a frame on any page, with the same math and the same state benchmarks. Set st to a two-letter state to start it on that state's medians, or leave it off for the US. It needs about 1,250 pixels of height on a phone and less on a wide screen; the frame scrolls if you give it less. A small "Powered by Per Patient Day" line links back to the full tool.

<iframe src="https://fhaskillednursing.loan/embed/snf-valuation-calculator/?st=TX" width="100%" height="1250" style="border:0" title="SNF valuation calculator from Per Patient Day" loading="lazy"></iframe>

Open the framable version to see exactly what your visitors get.

Rate ticker and JSON endpoint

/api/live?ids=UST10,UST7,SOFR returns the latest Treasury par yields and SOFR with their dates, a week-ago and month-ago reading, a freshness flag and the publisher's citation, open to requests from any origin. Add &history=60 for the last 60 readings. The ticker below shows the same figures; change ids for other series (UST1M to UST30, SOFR30, SOFR90, EFFR, PRIME, PMMS30) or add &theme=dark.

<iframe src="https://fhaskillednursing.loan/embed/rates?ids=UST10,UST7,SOFR" width="100%" height="150" style="border:0" title="Rates from Per Patient Day" loading="lazy"></iframe>

License

CMS cost report data is public domain. Our compilation (the cleaned reports, the groups and the percentiles) is yours to use under Creative Commons Attribution 4.0: credit it as "Data: Per Patient Day (fhaskillednursing.loan)" with a link to this page. The calculator embed is free to place on any site as long as the attribution line stays. SOFR in the ticker comes from the Federal Reserve Bank of New York under its terms of use. No warranty: cost reports are self-reported and can be amended, and the calculator is an estimate, not an appraisal or a loan offer. For a bulk feed or licensing on other terms, write to desk@janover.co.

Per Patient Day is not affiliated with or endorsed by CMS, HUD or FHA.