# 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_v1` · Medicare Advantage, Part D, Medicaid · status live · 419,954 rows

fact_landscape_benefits_v1 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. Checked 0-diff on 2026-09-30 three ways per transition: every county x product type x parent row of the Landscape lane's county CSV (members, continue, departing, D1 to D5; 43,211 rows for 2026), every metric of the product-type and national CSVs to the 4th decimal, and every one of the 144 sums against fact_landscape_benefits_v1 at product type x Day-One bucket. 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_v1 (24 metrics x 3 weight sets x numerator / denominator). 419,954 rows over four transitions, the row count of fact_landscape_disposition_v1 partition for partition (measured 2026-09-30).

| 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 |  |

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