Risk-adjustment scores exist to answer one question: given what's known about a patient, how much should they cost? The honest way to check whether a score is doing that job is to compare it, condition by condition, against what patients with that condition actually spent. That's the question behind this one:
"Pick 5-10 HCCs. Then for people with these conditions, create predictive ratios which is a ratio of average normalized concurrent risk score (weighted) to average normalized weighted total expenditure."
An HCC (Hierarchical Condition Category) is a diagnosis grouping that risk-adjustment models — Medicare Advantage, ACA marketplace transfers — use to price how sick a patient population is. A predictive ratio of 1.0 for a given HCC means the average risk score for people with that condition lines up exactly with what they actually cost. VerbaGPT picked ten HCCs spanning diabetes, heart failure, COPD, kidney disease, and major depression, joined MEPS's condition-flag table to its risk-and-spending table in Snowflake on person ID and year, and computed weighted averages using each record's survey person-weight (six of the ten HCCs had enough flagged patients in the pooled 2019–2023 sample to produce a ratio):
| HCC | Condition | Avg. Weighted Risk | Avg. Weighted Expenditure | Predictive Ratio |
|---|---|---|---|---|
| HCC021 | Diabetes, no complications | 2.898 | 2.815 | 1.030 |
| HCC112 | COPD with acute exacerbation | 5.815 | 5.686 | 1.023 |
| HCC130 | Heart failure | 4.072 | 4.021 | 1.013 |
| HCC115 | Chronic kidney disease, stage 4 | 4.455 | 4.510 | 0.988 |
| HCC019 | Diabetes with acute complications | 2.568 | 2.613 | 0.983 |
| HCC088 | Major depressive disorder / bipolar | 2.259 | 2.301 | 0.982 |
Zoom out and the headline is reassuring: six clinically unrelated conditions — metabolic, respiratory, cardiac, renal, psychiatric — all land within 3% of a perfect 1.0. A risk-adjustment model being well-calibrated in aggregate is expected; that's what the calibration process is built to guarantee. Holding up this tightly when you slice the same model condition-by-condition is a stronger, less automatic result.
The interesting part isn't that the ratios are close to 1.0 — it's which direction they miss in, and one pair in this table controls for everything except severity. HCC021 and HCC019 are both diabetes. HCC021 is diabetes with no complications; HCC019 is diabetes with acute complications — the sicker tier of the same underlying disease. The risk score overpays the mild tier by 3.0% and underpays the severe tier by 1.7%. Same disease, same model, same data pull — opposite sign.
That's not just noise landing on either side of 1.0 by chance. It's the one comparison in the table where severity is the only thing that changed, and the error moved with it: the model has an easier time pricing the routine version of a condition than the version stacked with complications. Whether that pattern holds across other disease ladders in this data — diabetes has a third tier, chronic complications, that didn't have enough flagged patients in this pull to produce its own ratio — is a natural next question, and exactly the kind of follow-up a one-sentence prompt against the same tables could answer.
Worth saying plainly: six HCCs from a household survey is not a regression study, and nothing here proves the pattern generalizes past this one pair. But it's a real, checkable number pulled from real claims-adjacent data, and it's the kind of asymmetry — mild tiers overpriced, severe tiers underpriced — that shows up often enough in risk-adjustment critiques to be worth a second look whenever a model like this prices a disease with more than one severity code.
The ratio in that table only means something because both sides share a denominator: MEPS's NORM_CONC_RISK_SCORE and NORM_TOTEXP are both normalized to the same population baseline (7,621.94). A different risk field in this data, RA_SCORE — the ACA regulatory score, a different concept entirely — doesn't share that denominator, and a ratio built on it wouldn't mean anything. VerbaGPT didn't work that out fresh this time. A near-identical question had been asked before, and someone had corrected an earlier run that reached for RA_SCORE. That correction had been captured as a standing guideline, and it matched this prompt closely enough (a 0.904 similarity score against the stored correction) to get pulled into context automatically. Separately, the working code from that earlier, thumbs-up-approved run matched this prompt at 99%+ similarity and was reused directly rather than generated from scratch. Neither of those is a generic feature of the underlying model — Gemma 4 31b, which wrote this query, has no idea what NORM_CONC_RISK_SCORE means on its own. It's VerbaGPT's memory of a past correction doing the work.
The rest of the run was ordinary: schema resolution against MEPS's 599 cached column embeddings ran on gpt-oss-120b in 1.6 seconds, code generation on Gemma 4 31b, both on Cerebras; the SQL join and weighted-average computation executed in 2.6 seconds; a review pass checked the answer before it reached the chat. Prompt to finished table, about 20 seconds.
None of that memory is scoped to MEPS or to diabetes. The same mechanism — a correction made once, on any dataset, turning into a guideline the next similar question reuses without anyone re-explaining it — is what would catch your own team's equivalent of "no, use the normalized score" the second time it comes up, not just the first.
Data source: Medical Expenditure Panel Survey (MEPS), person-level HCC flags joined to normalized risk scores and expenditures, pooled 2019–2023 (AHRQ). Risk scores are ACA HHS-HCC concurrent model scores, normalized to a population mean baseline. One of VerbaGPT's built-in sample datasources.
Ask your own question about this dataset → The MEPS datasource is live and open — no signup required for a few questions.
This Group Has the Highest Average Health Spending and the Lowest Typical Spending
Back Pain Diagnoses Dropped in 2020. Anxiety Diagnoses Never Paused.
Healthcare Spending Doesn't Scale Linearly: A Decile Analysis
One of the Top 10 "Asthma Drugs" in This Query Wasn't a Drug At All