Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discrepancy against KFF in SLCSP premium calculations for 2025 #5637

Open
MaxGhenis opened this issue Feb 24, 2025 · 2 comments
Open

Discrepancy against KFF in SLCSP premium calculations for 2025 #5637

MaxGhenis opened this issue Feb 24, 2025 · 2 comments
Assignees
Labels
bug Something isn't working documentation Improvements or additions to documentation

Comments

@MaxGhenis
Copy link
Contributor

Issue Description

There is a significant discrepancy between our model's calculated SLCSP premium and KFF's calculator for ZIP code 90210 (Beverly Hills, CA) in 2025:

  • Our model calculates: .45/month for a 40-year-old
  • KFF calculator shows: .00/month for the same person

Technical Details

  1. Our calculation:

    • ZIP 90210 → three-digit prefix 902 → rating area 16 in CA
    • Base premium for CA rating area 16: .00/month at age 0
    • Age multiplier for age 40: 1.6706 (from default age curve)
    • Result: .00 × 1.6706 = .45/month
  2. KFF calculation:

    • .00/month (recently updated on Oct 29, 2024)

Potential Causes

  1. Outdated or incorrect base premium data in our model
  2. Different handling of ZIP code to rating area mapping
  3. Special adjustments for California not captured in our model
  4. Different age curve being applied

Recommendation

  1. Verify our base premium value for CA rating area 16 against the most recent CMS or Covered California data
  2. Confirm that California uses the default federal age curve (1.6706 for age 40)
  3. Check if our ZIP code to rating area mapping is current
  4. Update our parameters as needed to match the official 2025 values

Note: There doesn't appear to be an automated method to update SLCSP data in the codebase; values are stored in

@MaxGhenis MaxGhenis added bug Something isn't working documentation Improvements or additions to documentation labels Feb 24, 2025
@MaxGhenis
Copy link
Contributor Author

Code Used for Verification

I've created a Python script to calculate and compare SLCSP values for 2022 and 2025. The script creates a simulation for a 40-year-old in ZIP code 90210 with ,000 income, for both 2022 and 2025, and compares the results.

The output confirms that our model:

  • Uses the correct rating area (16) for Beverly Hills
  • Uses a base SLCSP value of .00/month for age 0
  • Applies an age multiplier of 1.6706 for age 40
  • Calculates .45/month for a 40-year-old in 2025

This is significantly higher than KFF's /month estimate, suggesting our base premium data may be outdated compared to KFF's recently updated data from October 29, 2024.

The key parameters used:

  1. CA rating area 16 base premium: .00/month (from state_rating_area_cost.yaml)
  2. Age 40 multiplier: 1.6706 (from age_curves/default.yaml)
  3. ZIP code 902xx mapping to rating area 16 (from la_county_rating_area.yaml)

The full script with detailed outputs is too large to paste here but can be added if needed.

@MaxGhenis
Copy link
Contributor Author

Code Used for Verification

I've created GitHub Gists with the code used for the verification and information about the key parameter files:

  1. ACA Premium Tax Credit Calculator Script - Python script that compares the ACA PTC calculation for 2022 vs 2025
  2. Key Parameter Files Information - Details about the YAML parameter files used in the calculation

Output from the script:

This confirms our finding that the model is using a premium of .45/month, which differs significantly from KFF's /month. The issue appears to be with the base premium data in our parameters, not with the calculation logic itself.

@MaxGhenis MaxGhenis changed the title Discrepancy in SLCSP premium calculations for 2025 Discrepancy against KFF in SLCSP premium calculations for 2025 Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants