Skip to content

Glide the Medicare premium and spending per enrollee upraters to the Trustees' long-range rates #10656

Open

Description

@MaxGhenis

#10119 adds long_range_growth= to extend_parameter_values and glides the CMS out-of-pocket, employer premium and direct purchase premium upraters to the 2026 Medicare Trustees' long-range rates. set_all_uprating_parameters still repeats the last projected growth rate of three Medicare series every year to 2100:

Series Last projected year Growth it repeats Knots
calibration.gov.hhs.cms.medicare_part_b_premium_per_enrollee 2035 6.529% (2034–2035) MEDICARE_PART_B_PER_ENROLLEE_LONG_RANGE_GROWTH
calibration.gov.hhs.medicare.per_capita_cost 2034 5.428% (2031–2032) MEDICARE_PER_ENROLLEE_LONG_RANGE_GROWTH
calibration.gov.hhs.medicare.part_d.premiums_per_enrollee (#10111) 2035 3.287% (2034–2035) MEDICARE_PART_D_PER_ENROLLEE_LONG_RANGE_GROWTH

Part B premium

The Secretary of Health and Human Services sets the standard premium to cover about 25 percent of average expenditures for beneficiaries aged 65 and over (42 U.S.C. 1395r(a); 2026 Medicare Trustees Report, file page 97), so the premium grows with Part B spending per enrollee. In Table II.D1 (file page 29), Part B spending grows 5.6% a year in 2036–2050 and 4.1% in 2051–2100, and the number of beneficiaries grows 0.4%, so spending per beneficiary grows 5.18% and 3.685%. Each path starts from the series' 2034–2035 growth of 6.529% ($338.50 to $360.60):

Path 2036–2050 2051–2100 2050 monthly premium 2100 monthly premium
Table II.D1 per beneficiary 5.18% 3.685%
Part B knots 5.015% 3.696% $751 $4,612
Per capita health spending knots 5.338% 4.198% $787 $6,149
6.529% every year (main) 6.529% 6.529% $931 $21,998

Both sets of knots miss Table II.D1 by about 0.16 point in 2036–2050, in opposite directions, but in 2051–2100 the Part B knots come within 0.011 point and the per capita knots overshoot by 0.51 point.

Medicare spending per enrollee

For per_capita_cost, keep #10107's growth_years=(2031, 2032), which leaves out the lift from the end of sequestration on August 31, 2033 (file page 209), and glide from that 5.428% rate in 2034 to the knots. Table V.B5's incurred expenditure growth (file page 200), net of Table V.B3's total enrollment growth (file page 196), gives the Trustees' growth per enrollee:

Period Trustees, per enrollee From 2034 at 5.428% From 2035 at Table V.D1's 5.4% (file page 210)
2036–2050 4.498% 4.453% 4.490%
2051–2075 3.662% 3.670% 3.670%
2076–2100 3.655% 3.620% 3.620%

From 2034, the glide misses the Trustees' path by at most 0.045 point and puts spending per enrollee at $60,995 in 2050 and $365,394 in 2100, against $70,189 and $986,356 at a constant 5.428%.

Part D premium, after #10111

In the Inflation Reduction Act of 2022, Congress limited base premium increases to 6% a year from 2024 through 2029. For 2030, it set the premium at the larger of a 6% increase and 20% of the national average monthly bid amount and the estimated catastrophic reinsurance (file page 154). For 2031 and later, the Trustees write, "the base beneficiary premium will be set by the 20 percent formula", so the premium grows with bids and reinsurance per enrollee, which the Part D knots approximate. With the knots, the series reaches $1,239 in 2050 and $8,367 in 2100, against $1,173 and $5,910 at a constant 3.287%.

Done when

  • Each series passes long_range_growth= with its knots, and WIRED_SERIES in tests/core/test_long_range_health_growth.py lists it.
  • A test combines growth_years= with long_range_growth=, with a closed-form expectation and a check against an independent np.interp/np.prod path.
  • The Trustees-consistency test for spending per enrollee starts from the 2034 anchor instead of Table V.D1's 2035 rate.
  • YAML comments, docs-quarto/methodology/ and the tests that assert the constant rule describe the glide.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions