# Vlada Landscape benefit change at county grain, the same members' plan design in year Y and year Y+1, 2023 to 2027

`medicare_semantic.fact_landscape_benefits_county_v2` · Medicare Advantage, Part D, Medicaid · status live

fact_landscape_benefits_v2 with the county in the key (the launch lane's "your county, 2027"): the same cells and the same member-weighted numerator and denominator per metric and weight set (a = the Y design on every September-Y member, b = the Y+1 design on members whose plan continues in their county, r = routed through the crosswalk where held), built by the same SQL with the county kept. A NEW table, never a rewrite of v1 (2026-10-13, the one MOOP rule). v1 was checked 0-diff on 2026-09-30 against the Landscape lane's county, product-type and national CSVs; v2 equals v1 on every key, members, cells and every sum column but the three MOOP metrics, which move only in the cells holding a filed-$0 plan (railed). Tool: get_landscape_benefit_change with group_by county or a county filter (state required).

**Grain.** One row per transition_year (2023 to 2026, partition) x parent x state x county x product_type_y x product_type_y1 x dayone_bucket x truth_class, with cells, members and the same 144 sum columns as fact_landscape_benefits_v2 (24 metrics x 3 weight sets x numerator / denominator). The same rows as fact_landscape_benefits_county_v1, key for key (railed 2026-10-13).

| column | type | meaning |
|---|---|---|
| parent | string |  |
| state | string |  |
| county | string |  |
| product_type_y | string |  |
| product_type_y1 | string |  |
| dayone_bucket | string |  |
| truth_class | string |  |
| cells | bigint |  |
| members | bigint |  |
| a_prem_n | double |  |
| a_prem_d | double |  |
| a_prem0_n | double |  |
| a_prem0_d | double |  |
| a_cprem_n | double |  |
| a_cprem_d | double |  |
| a_cprem0_n | double |  |
| a_cprem0_d | double |  |
| a_dprem_n | double |  |
| a_dprem_d | double |  |
| a_dprem0_n | double |  |
| a_dprem0_d | double |  |
| a_dbasic_n | double |  |
| a_dbasic_d | double |  |
| a_dsupp_n | double |  |
| a_dsupp_d | double |  |
| a_dlis_n | double |  |
| a_dlis_d | double |  |
| a_dlis0_n | double |  |
| a_dlis0_d | double |  |
| a_moop_n | double |  |
| a_moop_d | double |  |
| a_moop5k_n | double |  |
| a_moop5k_d | double |  |
| a_moopmax_n | double |  |
| a_moopmax_d | double |  |
| a_haspd_n | double |  |
| a_haspd_d | double |  |
| a_enh_n | double |  |
| a_enh_d | double |  |
| a_ded_n | double |  |
| a_ded_d | double |  |
| a_ded0_n | double |  |
| a_ded0_d | double |  |
| a_dedstd_n | double |  |
| a_dedstd_d | double |  |
| a_tiernd_n | double |  |
| a_tiernd_d | double |  |
| a_dsnp0_n | double |  |
| a_dsnp0_d | double |  |
| a_fide_n | double |  |
| a_fide_d | double |  |
| a_hide_n | double |  |
| a_hide_d | double |  |
| a_star_n | double |  |
| a_star_d | double |  |
| a_star4_n | double |  |
| a_star4_d | double |  |
| b_prem_n | double |  |
| b_prem_d | double |  |
| b_prem0_n | double |  |
| b_prem0_d | double |  |
| b_cprem_n | double |  |
| b_cprem_d | double |  |
| b_cprem0_n | double |  |
| b_cprem0_d | double |  |
| b_dprem_n | double |  |
| b_dprem_d | double |  |
| b_dprem0_n | double |  |
| b_dprem0_d | double |  |
| b_dbasic_n | double |  |
| b_dbasic_d | double |  |
| b_dsupp_n | double |  |
| b_dsupp_d | double |  |
| b_dlis_n | double |  |
| b_dlis_d | double |  |
| b_dlis0_n | double |  |
| b_dlis0_d | double |  |
| b_moop_n | double |  |
| b_moop_d | double |  |
| b_moop5k_n | double |  |
| b_moop5k_d | double |  |
| b_moopmax_n | double |  |
| b_moopmax_d | double |  |
| b_haspd_n | double |  |
| b_haspd_d | double |  |
| b_enh_n | double |  |
| b_enh_d | double |  |
| b_ded_n | double |  |
| b_ded_d | double |  |
| b_ded0_n | double |  |
| b_ded0_d | double |  |
| b_dedstd_n | double |  |
| b_dedstd_d | double |  |
| b_tiernd_n | double |  |
| b_tiernd_d | double |  |
| b_dsnp0_n | double |  |
| b_dsnp0_d | double |  |
| b_fide_n | double |  |
| b_fide_d | double |  |
| b_hide_n | double |  |
| b_hide_d | double |  |
| b_star_n | double |  |
| b_star_d | double |  |
| b_star4_n | double |  |
| b_star4_d | double |  |
| r_prem_n | double |  |
| r_prem_d | double |  |
| r_prem0_n | double |  |
| r_prem0_d | double |  |
| r_cprem_n | double |  |
| r_cprem_d | double |  |
| r_cprem0_n | double |  |
| r_cprem0_d | double |  |
| r_dprem_n | double |  |
| r_dprem_d | double |  |
| r_dprem0_n | double |  |
| r_dprem0_d | double |  |
| r_dbasic_n | double |  |
| r_dbasic_d | double |  |
| r_dsupp_n | double |  |
| r_dsupp_d | double |  |
| r_dlis_n | double |  |
| r_dlis_d | double |  |
| r_dlis0_n | double |  |
| r_dlis0_d | double |  |
| r_moop_n | double |  |
| r_moop_d | double |  |
| r_moop5k_n | double |  |
| r_moop5k_d | double |  |
| r_moopmax_n | double |  |
| r_moopmax_d | double |  |
| r_haspd_n | double |  |
| r_haspd_d | double |  |
| r_enh_n | double |  |
| r_enh_d | double |  |
| r_ded_n | double |  |
| r_ded_d | double |  |
| r_ded0_n | double |  |
| r_ded0_d | double |  |
| r_dedstd_n | double |  |
| r_dedstd_d | double |  |
| r_tiernd_n | double |  |
| r_tiernd_d | double |  |
| r_dsnp0_n | double |  |
| r_dsnp0_d | double |  |
| r_fide_n | double |  |
| r_fide_d | double |  |
| r_hide_n | double |  |
| r_hide_d | double |  |
| r_star_n | double |  |
| r_star_d | double |  |
| r_star4_n | double |  |
| r_star4_d | double |  |
| next_year | int |  |
| enrollment_month | date |  |
| l0_edition | string |  |
| l1_edition | string |  |
| crosswalk_held | boolean |  |
| built_at | string |  |

Tools that read it: get_landscape_benefit_change

Query it: `query_substrate` with `SELECT ... FROM medicare_semantic.fact_landscape_benefits_county_v2 WHERE ... LIMIT 100`; read `describe_data_source("medicare_semantic.fact_landscape_benefits_county_v2")` first.
