Skip to content

Decide NJ Health Plan Savings' 600% ceiling on the exact FPL ratio and follow DOBI's band edges - #10323

Draft
MaxGhenis wants to merge 1 commit into
mainfrom
nj-njhps-exact-fpl-ratio
Draft

MaxGhenis wants to merge 1 commit into
mainfrom
nj-njhps-exact-fpl-ratio

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Draft. Done: the fix and YAML cases. Pending: full-file impact, Axiom parity line, GPT-6.1 Sol review.

Bug

DOBI's 2027 Rate Filing Requirements, section 7 tell carriers to file "based on the subsidy amounts from plan year 2026 as shown in the table below", and the table's "Federal Poverty Level Range" column reads: "Less than 150% FPL" $20; "At least 150% FPL but less than 200% FPL" $40; "At least 200% FPL but less than 250% FPL" $50; "At least 250% FPL but less than 400% FPL" $100; four $50 rows from "At least 400% FPL" to "At least 550% FPL but less than or equal to 600% FPL"; "Above 600% FPL" $0. Two defects followed from comparing the truncated aca_magi_fraction:

  1. 600% ceiling. nj_njhps_member_eligible and nj_njhps_eligible compared the fraction with <= 6.0, and truncation maps 600.00%-600.99% to 6.00, so all of it passed. NJHPS does not require federal PTC eligibility (the federal credit ends at 400%), so this changed results end to end.
  2. Band edges. pmpm used thresholds 1.5001, 2.0001, 2.5001 and 4.0001 (upper-inclusive, from the 2021 Treasury addendum's "From 150% through 200%" wording, which assigns 150% to two bands). Income exactly at 150%, 200%, 250% or 400% took the lower band, and truncation stretched that to the whole point above each edge. DOBI's table puts all of those in the higher band.

No source prescribes truncating the percentage. The 138% floor (">=") is unaffected by truncation.

Executed on main (645fcd3; these files are unchanged at 740e1eb), single member in New Jersey, 2026, 2025 one-person guideline $15,650:

Income Exact % of FPL aca_magi_fraction Main Here
$23,475 150.000% 1.50 $20/mo $40/mo
$23,630.56 150.994% 1.50 $20/mo $40/mo
$93,900 600.000% 6.00 eligible, $50/mo eligible, $50/mo
$93,900.47 600.003% 6.00 eligible ineligible
$94,055.56 600.994% 6.00 eligible ineligible

Fix

  • Both eligibility gates read the exact ratio max(aca_magi, 0) / tax_unit_fpg(period.last_year), the pattern of Decide CA Premium Subsidy eligibility on the exact FPL ratio and adopt the Final 2027 design #10305.
  • pmpm thresholds become the bands' lower edges (1.5, 2, 2.5, 4), as DOBI tabulates them, and cite that table. The lookup keeps reading the truncated fraction, which is exact for lower-inclusive whole-percentage edges (floor(100r)/100 >= L holds exactly when r >= L). The 1.3799 base band (a float32 workaround for the 138% floor) and the 6.0001 top band are unchanged; the gate excludes everything above 600%.

Invariants

For every input, r = max(MAGI, 0) / FPG(prior year):

  1. Eligibility = schedule. With a premium-paying, non-MFS member and the program in effect, eligible if and only if 1.38 <= r <= 6.
  2. Bands = DOBI. For eligible units the per-member amount is $20 for r < 1.5, $40 for 1.5 <= r < 2, $50 for 2 <= r < 2.5, $100 for 2.5 <= r < 4, $50 for 4 <= r <= 6.
  3. Where results move. Eligibility can only be lost, and only for r in (6.00, 6.01). The per-member amount changes only for r in [1.50, 1.51) (+$20), [2.00, 2.01) (+$10), [2.50, 2.51) (+$50) and [4.00, 4.01) (−$50), before the cap at the post-APTC premium.

No Hypothesis test is added: the YAML cases hit each edge exactly and the slivers above them with the real guideline, and the existing cases cover each band's interior. The repo's test-design rules keep such cases in YAML.

Tests

  • Every case in the four NJHPS YAML files that supplied aca_magi_fraction now supplies aca_magi against a prior-year tax_unit_fpg of $10,000, so it still drives the gates and bands.
  • nj_njhps.yaml Cases 6, 8, 10, 12 and 26 and integration.yaml Scenarios 1 and 8 asserted the lower band at exactly 150%, 200%, 250% and 400%. They now follow DOBI: 150% $240 → $480 a year, 200% $480 → $600, 250% $600 → $1,200, 400% $1,200 → $600 (Cases 26 and Scenario 8 are capped at the $500 residual either way; only their comments change). New Case 32: $23,630.56 (150.994%) gets $40.
  • Member and tax-unit eligibility: $93,900 (600%) and $21,597 (138%) eligible; $93,900.47 (600.003%) and $94,055.56 (600.994%) ineligible.
  • Mutation check: main's variables and parameter fail exactly the five band-edge cases and the four above-600% cases.
  • Local differential sweep (a script, not committed, per the repo's test-design rules): 256 tax units per year, 60% with income in cents within $2 of an edge and the rest uniform, guidelines $10,000-$80,000 including $20 multiples, comparing both eligibility gates with an exact-rational reading of the source on the float32 values the model receives. 0 mismatches here; on main the same draws give 35 (tax unit) and 42 (member) mismatches, all in the truncation sliver.
  • Local run: the NJHPS YAML folder, 73 passed.

Impact

Pending: full-file microsimulation via the US hub impact queue, 2026 and 2027.

Coordination

axiom: pending

🤖 Generated with Claude Code

… bands

DOBI's 2027 Rate Filing Requirements tabulate the plan year 2026 New
Jersey Health Plan Savings amounts by "Federal Poverty Level Range":
"Less than 150% FPL", "At least 150% FPL but less than 200% FPL", ...,
"At least 550% FPL but less than or equal to 600% FPL", "Above 600% FPL".

- The eligibility gates compared the truncated aca_magi_fraction with 6.0,
  so every income from 600.00% to 600.99% passed. Test the exact ratio of
  nonnegative ACA MAGI to the prior-year guideline instead.
- The per-member schedule used upper-inclusive "x.0001" thresholds from
  the 2021 Treasury addendum's "from X% through Y%" wording, so income at
  exactly 150%, 200%, 250% or 400% (and, with truncation, up to 0.99
  points above) took the lower band. Its thresholds are now the bands'
  lower edges, as DOBI's table has them; the truncated fraction is exact
  for lower-inclusive whole-percentage edges.

Tests that supplied aca_magi_fraction now supply aca_magi against a
prior-year guideline of $10,000; the exactly-at-edge band cases follow
DOBI; new cases use the real 2025 guideline at 138%, 150.994% and 600%.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant