Get Star Risk
get_star_riskStar Risk: odds a star falls, holds or rises next year. For one Medicare Advantage contract and origin rating year, for the Overall, Part C and Part D summaries, scored on the forecast year's own rules (the final rule's measure set and weights, named in the answer): Down / Same / Up for next year's star, the chance it falls below this year's star (chance to drop), the chance it lands below 4.0 (the quality bonus line; for a contract at 4.0 the same event and the same number as dropping, for one at 3.5 one minus the chance of rising) and the chance it rises (Upside), each with a status saying what it is worth. The Overall headline is a blend of Vlada's simulation (70%) and a statistical model of the outcome with benefit and growth changes (30%), the model locked on 2026-10-13; the simulation's own odds ride beside it, labeled. Also: the expected star and its distribution (simulated), Star Distance (typical years of movement between the score before rounding and the line it earned), the raw score and the reward factor apart (and the chance the reward factor drops), three layers of distance (each measure to its own line, a cut point or for survey measures a modeled effective line; the score before rounding to its half-star lines; the raw mean and spread to the reward factor's thresholds), the Effective Star Cushion and Reach (descriptive), the cheapest sets of measure gains that reach the next half star (up paths), the per-contract Focus list (context) and the protect list (measures with the fewest score points above the line that keeps their star). With parent instead: the parent organization's book, the measures where contracts that improved moved up a star more often (expected members gaining a star, contracts helped; the top 3 are the held-out tested list), its protect list, and each of its contracts' Down / Same / Up.
ARGUMENTS: contract_id (e.g. H5216; H or R contracts, employer direct E contracts are not scored) or parent (a parent organization name such as Humana, or a contract id to use its parent); exactly one. part (Overall, C or D; default all three; contract only), rating_year (the origin rating year; default the newest scored), limit (rows, default 60).
RETURNS for a contract value.summary (contract, rating_year, forecast_year, engine version and runs, the headline model, the rule set, parts: one block per summary, each probability with a _status, down_same_up, and the simulation's own odds under simulation) and value.measures (one row per measure: star, weight this year and next, removed next year, weight share, distances down and up in score points and in typical years, the line they are measured to, lift per typical year); for a parent value.summary (parent, book, focus, protect) and value.contracts (each contract's stars and odds).
WHAT EACH NUMBER IS WORTH, as the answer says: on held-out years 2024-2027, the locked blend's chance to drop ranks contracts well (AUC 0.746) and is sharper than history (Brier skill +0.034, 90% interval +0.014 to +0.051); its odds sit somewhat too close to average (calibration slope 1.33): by origin star it predicted 14% Down for 3.0 contracts against 10% actual, 37% for 4.0 against 41% and 46% for 5.0 against 65%; below 4.0 is tested for contracts within half a star of the line (skill +0.059) and is context further from it; Upside is tested (from 3.5 it is the chance of reaching 4.0); Down / Same / Up is tested as one forecast; the simulation's own odds are shown only for comparison; Part C and Part D are simulated shares, uncalibrated and untested; the expected star is simulated and runs low; the parent focus list is an association tested on held-out years (top 3 only), never a promise of a star; the per-contract focus list did not pass its test and is context only; the protect list is a ranking rule, not a tested prediction, and never lists a measure CMS removes next year; slip paths are not served; the Effective Star Cushion and Reach are descriptive, never predictive; where the path engine does not reproduce CMS's published star its paths are flagged untrusted. Every number is a model forecast, not an observed rating.
SOURCE: CMS Part C and D Star Ratings Data Tables, Technical Notes, cut points and the forecast year's final rule, through Vlada's Star Risk engine (simulation on CMS's exact summary arithmetic, calibrated on development years, blended with a statistical model fitted on development years, judged on held-out years).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| part | No | ||
| limit | No | ||
| parent | No | ||
| contract_id | No | ||
| rating_year | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | ||
| as_of | No | ||
| value | Yes | ||
| source | Yes | ||
| status | No | complete | |
| caveats | No | ||
| failure | No | ||
| quality | No | ||
| refusal | No | ||
| vintage | No | as_restated | |
| audit_id | Yes | UUID; ties to medicare_silver.audit_log row. | |
| signature | No | ||
| tenant_id | No | Calling tenant slug, resolved by the binding and stamped via the per-call tenant context. Defaults to the bootstrap 'internal' tenant for local/in-process callers. | |
| timestamp | Yes | ||
| confidence | No | ||
| data_as_of | No | ||
| request_id | Yes | ||
| methodology | No | ||
| snapshot_set | Yes | {table_fqn → iceberg_snapshot_id (int64)}. Per M-2 §2.2. | |
| tool_version | Yes | ||
| response_hash | Yes | SHA-256 of canonicalized form per M-2 §2.4. | |
| result_status | Yes | ||
| vintage_basis | No | default_unmeasured | |
| as_of_asserted | No | ||
| as_of_observed | No | ||
| parse_revision | No | ||
| as_of_effective | No | ||
| freshness_state | No | unknown | |
| methodology_era | No | ||
| confidence_basis | No | ||
| semantic_version | Yes | ||
| invariants_applied | No | ||
| finality_confidence | No | ||
| cms_vintage_sequence | Yes | ||
| parser_artifact_hash | Yes | ||
| methodology_blend_factors | No | ||
| parser_artifact_hash_basis | No | not_evaluated |