Choosing Your Obamacare Plan – With Math!

Last updated: December 2, 2023

One of the many stunning mineral displays at the Perot Museum

A few years back I created a post titled “Choosing Your Health Insurance Plan – With Math!”. Back then we were deciding between a high deductible and a standard plan at Mrs. EYFI’s employer (back when she was still full time).

This year we faced another tough health insurance decision: picking an Obamacare plan. Otherwise known as Affordable Care Act (ACA) Health Insurance. I’ll mostly use “ACA” below because it’s shorter/easier.

We’re now in the open enrollment window, which is November 1 to December 15, so I really wanted to get a post out about how we tackled this decision while folks are still looking at options. Of course you can sign up for ACA at other times if you have a “life event” like losing employer-provided health insurance.

Note: the focus of this post is on how to select your health insurance for a given income level, and not how to tune your income to maximize your subsidies. I’ve covered that topic previously.

Why We’re Signing Up For Obamacare

Unfortunately Mrs. EYFI’s company is ending the special program where they offered health insurance for half-time employees, starting at the beginning of next year. Booo! But we’ve seen this coming for a while.

We’ve also had our kids on her health insurance since they were born. So we needed to figure out insurance options for them as well.

One option is to add Mrs. EYFI and our kids to my employer’s health insurance plan, where I currently have coverage (my employer does offer coverage for half-time employees). Unfortunately, it’s crazy expensive to add her and our kids to my plan – to the tune of over $11K per year. Ouch!

Initially I thought we might not have a choice though. I thought that if employer-provided insurance was available at all, you had to take it (or rather, you would not be eligible for any ACA subsidies, so no reason to pick an ACA plan over the employer plan).

Then I encountered some great news: the “family glitch” had been fixed!

Family Glitch Fixed

What is the “family glitch”? Before they fixed it starting in 2023, if your employer-provided insurance premiums were considered “affordable” (as defined by the IRS) for just you, then no one in your household was eligible for subsidies. Even if adding them to your policy meant that your premiums were no longer “affordable” for your household income.

Of course that makes no sense, which is why it was called a “glitch”. Fortunately it’s now fixed!

So now even though I have access to employer-provided health insurance, which is considered affordable for just me, we can still get an ACA plan with subsidies for Mrs. EYFI and the kids. Which will save us probably around $10K per year.

The affordability calculator on is excellent for figuring out whether your family will be eligible for ACA subsidies – just plug in your household income, the cost (premiums) of employee-only coverage, and the cost (premiums) of family coverage (total premium minus employee-only premium).

Application Part 1: Determining Eligibility and Subsidy Amount

There are two primary parts of the ACA application: determining your eligibility for subsidies (and thus your subsidy amount), and then selecting your plan. 

We’ll start with the subsidy eligibility portion. Most of this part of the ACA application is pretty straightforward. If you’ve ever used a good tool like FreeTaxUSA to do your taxes, this application will feel very similar. 

Gather Your Info

The primary info you’ll need is your income, as well as an estimate for your income the following year. Fortunately as someone who is FI or on their way to FI, you have a ton of flexibility to modify your income via actions such as retirement account contributions (decreasing income) or capital gain harvesting (increasing income). 

Again, see my previous post on how to optimize your income for ACA subsidies. 

Avoiding CHIP – Why

The primary topic I want to discuss for this part of the application is the Children’s Health Insurance Program (CHIP), and how to ensure you don’t lose all ACA subsidies for your kids because they’re eligible for CHIP.

But why avoid CHIP? On the surface, CHIP sounds great: you’ll nominally pay little to sign up for it, a lot of services are included, and copays are minimal. 

Here in Texas: “Enrollment fees are $50 or less per family, per year. Co-pays for doctor visits and medicine range from $3 to $5 for lower-income families and $20 to $35 for higher-income families.”

That sounds really nice! So what’s the catch?

First, from my own limited research in our area, a LOT of doctors / orgs do not seem to take CHIP at all. Insurance isn’t very useful if it’s not taken by most folks!

Second, and more scary to me, is that apparently the application and approval process for CHIP can take months, well past the first of the year. So you end up in this crazy limbo state where your kids don’t nominally have health insurance for months, but then when (and IF) you’re approved for CHIP the coverage apparently is retroactive back to the first of the year. Bleh!!!

The first time I read about how this works was way back in 2016 from Justin at Root of Good, when he wrote a post about getting coverage for his family, including his kids. I’ve read and heard similar stories from other folks since then as well. 

SO, we decided we really did not want our kids on CHIP if we could all help it. 

But if you’ve had a good experience with CHIP, please let me know. Especially if you found that most medical places/doctors do actually take it, and especially if you did not have to go through some kind of crazy limbo period where your kids potentially did not have coverage. And especially if you also live in Texas (since CHIP is run by each state).

Avoiding CHIP – How

The most important thing I learned while doing this application: the ACA application uses your current month’s income for determining whether your kids are eligible for CHIP, and thus NOT eligible for ACA subsidies.

It does NOT use the number you plug in for expected income for the next calendar year. It uses that estimated income number for computing your subsidies, but it uses your current month’s income for determining CHIP eligibility.

So how do you ensure you’re not eligible for CHIP, and thus you’ll get ACA subsidies for your kids?

You need to make sure your household income is above a certain threshold. That threshold is computed from two main factors: 

  • the Federal Poverty Level (FPL), which depends on how many people are in your household
  • what state you live in

The FPL is updated every year, and depends on where you live (48 contiguous states and DC, or Alaska, or Hawaii) and how many people are in your household.

So here in Texas, for a family of four, the FPL is $30K for 2023. A family of 8 in Alaska would have a FPL of $63,220!

Note that even though you’re looking at ACA coverage for the following year, the CHIP eligibility calculations use the current year’s FPL. So here in the fall of 2023, we should use 2023 FPL values, not 2024.

Once you have your FPL value in hand, you need to look at the CHIP eligibility threshold for your state, which is a function of the FPL.

Here in Texas, the CHIP eligibility limit is 206% of the FPL. If you have a family of four, your CHIP eligibility limit is $30,000 * 2.06 = $61,800.

If you live in Colorado as a family of four, your limit is $30,000 * 2.65 = $79,500. Quite a bit more than Texas. So if we moved from Austin to Colorado, we’d have to ensure our income was at least $79,500 to avoid having the kids in CHIP – losing a TON of subsidies as a result!

If we moved to New York, the limit would be a whopping $30,000 * 4.05 = $121,500! I think at that point we’d have to just bite the bullet and deal with CHIP.

[Begin Rant]

Overall it seems crazy how instead of providing more support to people with more kids and those living in more expensive states (which I think is the intent), folks are actually PENALIZED for having more kids and living in more expensive states because they’re forced into these government health insurance programs that eliminate all ACA subsidies! 

I wish people had a CHOICE – they could sign up for the government insurance program that has more bureaucracy and less coverage but probably costs less, OR they could sign up for an ACA plan and get all relevant subsidies.

So we now have yet another reason to not move out of Texas while we have kids at home (besides having family here and not wanting to switch schools on our kids): I suspect we’d pay a lot more for health insurance, or be forced to use CHIP.

[End Rant]

Note: for some reason the above linked Medicaid page is not consistent with the page in terms of the limits for each state. says 201% for Texas, while KFF says 206%. For Colorado, it’s 260% vs 265%. From what I can tell, I believe KFF is more accurate than the site, ironically.

If you REALLY want to be sure you’ve got the limit correct for your household, I recommend using the plan and price estimator at You can increase or decrease the income you put into this calculator until you identify the limit where your kids still receive subsidies. 

Now what if you’re doing open enrollment in November, but your income for that month is below the CHIP eligibility threshold?

I see a couple main options:

  • Wait until December (open enrollment is Nov 1 to Dec 15 for coverage starting Jan 1), when your income might be higher. E.g., our quarterly dividends from Vanguard arrive in December.
  • Generate some additional income by doing some cap gains harvesting (which should hopefully be in the 0% LT cap gains bracket). Remember that they still compute your subsidies based on your estimated annual income for the following year, so that cap gain harvesting can be just part of your overall strategy for generating the proper total annual income you’re shooting for.

Use All Your Credit

Finally, at some point after it determines your subsidy amount (“monthly tax credit”), it will ask you if you want to use all of it. 

I believe they’re asking this because some people are so afraid of owing the IRS money come tax return time (which might happen if you earn more than expected and thus you have to pay back some of the subsidy) that they’re willing to not even use all the subsidy they’ve been granted.

Fortunately as someone who is FI or on their way to FI and thus have some decent savings, there is zero reason to do this – even if you end up needing to pay back some of the subsidies to the IRS, you’ve received an interest free loan from the IRS you can invest! 

Of course, this is true only within reason – if you’re consistently getting WAY more subsidies than you should by lying every year about how much money you expect to earn, the IRS is likely to get after you. But as long as you’re giving your best estimate in good faith about how much you expect to earn, I see no reason for someone with a decent amount of assets to not use all of the subsidy provided every month. 

Application Part 2A: Look At Coverage For Available Plans

Alrighty, now that we’ve navigated the choppy waters of subsidy eligibility (though I didn’t even cover the need to stay above the FPL in states that haven’t expanded Medicaid such as Texas, but I suspect that’s not a huge deal for a FI/FIRE audience), now we can maneuver our insurance selection boat into hopefully calmer water.

Ha! Just kidding, now we get to tackle the challenge of figuring out what insurance plan you’ll get! Back to the rapids it seems.

The first step to narrow down your options is to create a list of all your doctors and prescriptions and then figure out what insurance companies / plans support those doctors and prescriptions. You particularly want to make sure that your doctors are in-network with whatever plan you select. 

I took extensive advantage of the plan and price estimator at to see what companies were available for us before going through the full application, but you can also just do the full application and then look at the companies/options when you get to that step.

One benefit of waiting until you do the application is that you can find and add your doctors and Rx pretty easily within the application site, and it shows if those doctors / Rx are in-network / covered by the different plans you’re considering. But, it’s not perfect – I encountered several examples where it was wrong. Double check everything. 

For example, it was very important to us to pick a company/plan that was accepted at Austin Regional Clinic, which is our go-to organization for most of our medical needs here in Austin.

Application Part 2B: Potentially Throw Out All Silver Plans

After reducing your list of potential insurance companies based on who your doctors are in-network with, next you might be able to further reduce your list depending on what state you live in. 

If your state mandates something called “Silver Loading”, which includes Texas, New Mexico, and potentially Colorado, Maryland, Virginia, and Pennsylvania, then odds are the silver plans you see on the ACA marketplace will be total garbage.

Describing in full detail what Silver Loading is would make this already-too-long post even longer, so here’s a brief summary. When the Trump administration cut funding for cost sharing reductions (CSRs) required on silver plans, the insurance companies just increased the premiums to offset that loss. But some states such as Texas passed laws that require that insurance companies put that entire premium increase on just the silver plans – hence the name “silver loading”. And because the tax credit subsidies are based on the second-cheapest silver plan available in your area, that meant that the subsidies went up by quite a bit for all plans, including bronze and gold! 

As a result, bronze and gold are now the only reasonable plans in Texas and New Mexico, and potentially the other states listed above. And from what I could tell you should choose bronze only if you really want to pay as little as possible for coverage – gold seems a much better balance of premium vs coverage. So in our search, we only considered gold plans. 

Application Part 2C: Run the Numbers For Remaining Plans

Now let’s actually look at some numbers! Finally! 

For the remaining plans you’re considering, let’s see how much you’ll actually pay for a range of medical expenses. 


Doing this comparison entirely in your head is obviously not ideal (or likely possible), so as always I turned to the Python programming language to code up all the relevant math. 

Starting with the Python tool I built for my previous post titled “Choosing Your Health Insurance Plan – With Math!”, I modified/upgraded it a bit to handle the specifics of choosing an ACA plan.

I placed the Python code in the EYFI github repo, which you’re welcome to download and run yourself if you’d like to plug in your own values or just play around with different inputs.

When I get more time, I’ll try to place an embedded Python interpreter somewhere on this page as well, so you can run the analysis directly from here. 

The rest of this section describes the broad strokes of how the code works, but please see the actual code for all details. 

Inputs – Estimated Set-Fee Medical Expenses

To get the most accurate estimate of how much each plan will cost, it’s really useful to estimate how many set-fee medical expenses (e.g., doctor visit copays) you’ll have. 

Look back over the past year to see how many times you (or rather, the household members that you’re getting coverage for) have

  • seen a primary care physician (PCP)
  • seen a specialist
  • gone to an urgent care facility
  • seen a therapist or other mental health outpatient appointment
  • taken any prescriptions
  • had lab work done
  • had any x-rays or other imaging done

With that info as a starting point, take out any visits / Rx / labs / imaging for medical issues you no longer have, and add any for upcoming medical work you expect. Then plug the numbers for those seven categories into the inputs section of the Python tool

If you’re tracking your expenses as I’m always nagging you about, this should hopefully be very straightforward to do. Yet another reason to track your expenses!

Inputs – Policy Parameters

Now you need to plug in all the relevant parameters for each plan you’re considering.

Note: you will need to do a comparison of plans or “see details” for the plan(s) to get all these numbers. But you should be able to find all these values for each plan on the ACA exchange (with the exception of imaging and lab cash prices, which you might need to google to get some average reasonable values). 

If for a particular category the plan requires you to pay the full cost until hitting your deductible and then has a coinsurance rate, instead of just a copay, then put “np.nan” for that plan in the copay input and the relevant rate in the coinsurance rate input. 

The inputs are:

  • Monthly premium
  • PCP copay
  • Specialist copay
  • Urgent care copay
  • Mental health copay
  • Generic Rx price
  • Imaging copay / coinsurance rate / cash price
  • Lab copay / coinsurance rate / cash price
  • ER / Outpatient / Inpatient (like a hospital stay) coinsurance rate
  • Deductible for an individual on the plan
  • Deductible for your entire family 
  • Max Out Of Pocket (OOP) for an individual on the plan
  • Max Out Of Pocket (OOP) for your entire family 

Important assumption: emergency room, outpatient, and inpatient (like a hospital stay) expenses all have the same coinsurance rate. If they’re not the same rate for the plans you’re considering, you’ll need to define and evaluate them separately. 

All told we have about 24 (depending on how you count them) inputs to evaluate each plan. 

Only 24 factors to consider! Health insurance shopping is so easy in the US.

Compute Base Cost For Each Plan

The first primary task my Python tool does with all the inputs above is to compute an annual “base cost”.

The base cost is the total amount in premiums you’ll pay, plus the cost of all set-fee expenses using the copays for each plan and the estimated number of visits/Rx/labs/images you plugged in. 

If a plan doesn’t have copay for imaging or labs, then those expenses are put towards your deductible and your total base cost is increased accordingly. 

Compute Out of Pocket Cost Vs Medical Expenses

With the base cost in hand, the tool then computes your total OOP cost for each plan for a wide range of non-set-fee medical expenses. See the example scenario below. 

At a high level, the code computes and plots how much of the expense counts towards the deductible, how much you’ll pay with coinsurance after hitting your deductible, and the point at which you hit your max OOP. See the code for more details.

A note about coinsurance

Something that really bugged me when I first started on this analysis: I had in my head two different conventions for how coinsurance is defined.

For the ACA marketplace, the coinsurance rates are defined as the percentage of services (after hitting your deductible) that you’re responsible for.

That means for a coinsurance rate of 20%, you’re responsible for 20% of the medical expense. The insurance company pays the rest.

Unfortunately I’ve seen the reverse convention elsewhere: coinsurance is defined as the percentage that the insurance covers, not you the customer. So for the above example, the coinsurance rate would be 80%, not 20%.

If you’re looking at plans outside of ACA, make sure you understand how that coinsurance rate is defined. 

What Counts Towards Deductible Vs Max OOP

Something else that really confused me when I first started coding up this tool: what counts towards the deductible and what counts towards the max OOP?

Below are the answers for the majority of plans I believe.

What counts towards deductible: Outpatient, inpatient, ER, and any other expenses listed on plan as counting towards deductible instead of having a copay

What counts towards your max OOP:

  • Everything that counts towards your deductible
  • Copays
  • Rx

What counts towards neither: your premiums 🙁 


Mostly bad and little bit of good news on the tax front when it comes to ACA plans.

The main bad news: unlike with employer provided insurance premiums, you can only deduct ACA premiums if you’re doing itemized deductions. And these days, since the Tax Cuts and Jobs Act significantly raised the standard deduction, the vast majority of folks just take the standard deduction instead of itemizing. So you get no tax deduction for ACA premiums in that situation. 

I find this really annoying since it’s yet another bias against those not willing to go the traditional corporate job route that provides health insurance. We should be encouraging entrepreneurship in this country! Why can’t entrepreneurs getting health insurance on ACA get the same tax benefits as an employee at a large organization?!? Annoying. Yes, I know that you’re getting subsidies with ACA that might exceed what an employer offers, but I still think the tax treatment should not be different for the premiums that you do pay.

The one minor nice aspect of getting no tax benefit is that it does simplify the analysis, as we don’t have to consider the tax implications of different kinds of plans (unlike in my first insurance selection analysis post). 

Other Factors To Consider

Besides the coverage and 24+ financial factors listed above, there are EVEN MORE factors to consider as well. Fun!

Additional factors I can think of (and there are MANY more I’m sure):

  • Whether they offer $0 24/7 virtual care (or virtual care at all)
  • How good the company’s website is
  • How good their phone support is
  • In general how easy they are to work with, for both you and your doctor offices (if your doctor office can’t get the company to cooperate with their requests, that’s bad news for you)

And companies such as Aetna throw in additional perks such as “$0 walk in clinics” (for their Minute Clinic locations at some CVS locations) and “Up to a $100 yearly allowance to use on hundreds of over-the-counter health and wellness items at CVS retail stores and online” (no idea how easy that is to actually use though).


So after all that work to select a plan and clicking “continue” on the application, I encountered something totally unexpected: the ACA exchange also offers dental plans!

And of course, you won’t be surprised to hear that I then launched into a giant analysis of dental insurance. Since Mrs. EYFI and our kids will also need dental insurance come Jan 1. 

Mercifully I’ll be saving that analysis for a future post.

But in the end none of the plans I found on the ACA exchange I found worthwhile, so we went with another plan I found directly via MetLife.

Initially it seemed fantastic that all ACA dental plans have a mandated max OOP for dental expenses for kids, but the insurance companies seem to make up for that with higher premiums and deductibles. But again, I’ll cover that further in a future post.

Example Scenario

Alright, let’s finally look at an example scenario! Get some juicy plots going!


For this example let’s say that we’ve narrowed down our selection to a few different Gold plans from Aetna:

Gold 3Gold SGold 4
Monthly Premium$100.71$104.21$115.88
Primary Care Physician (PCP) Copay$15$30$0
Specialist Copay$35$60$10
Urgent Care Copay$25$45$10
Outpatient Mental Health Copay$15$30$0
Generic Drugs Price$15$15$0
X-rays and Diagnostic Imaging Copay$35N/A$10
X-rays and Diagnostic Imaging CoinsuranceN/A25%N/A
Lab Tests Copay$20N/A$0
Lab Tests CoinsuranceN/A25%N/A
Emergency Room, Outpatient, and Inpatient Coinsurance50%25%25%
Individual Deductible$795$1500$3500
Family Deductible$1590$3000$7000
Individual Max OOP$9195$8700$9000
Family Max OOP$18390$17400$18000

And we’ll assume an imaging average cash price of $279 and an average lab test cash price of $100. 

Now we need to make some assumptions about set-fee medical needs for the year:

PCP Average Number Of Visits Per Year12
Specialist Average Number Of Visits Per Year4
Urgent Care Average Number Of Visits Per Year1
Outpatient Mental Health Average Number Of Visits Per Year12
Average Number of Generic Prescriptions Per Year12
Average Number of X-rays and Diagnostic Imaging Per Year0
Average Number of Labs Per Year4


With all the above inputs, let’s take a look at the total out of pocket cost versus non-set-fee medical expenses for an individual for all three plans:

From this plot you can see:

  • If no-set-fee expenses are low, like $2K or less, then Gold 4 is the clear winner
  • If no-set-fee expenses are between $2K and $5K, then Gold 3 is the clear winner
  • If no-set-fee expenses are over $5K, then Gold S is the clear winner

Now let’s take a look at the total out of pocket cost versus non-set-fee medical expenses for an entire family for all three plans:

From this plot you can see:

  • If no-set-fee expenses are low, like $3K or less, then Gold 4 is the clear winner
  • If no-set-fee expenses are between $3K and $8K, then Gold 3 is the clear winner
  • If no-set-fee expenses are over $8K, then Gold S is the clear winner

So in the end, the plan to choose depends on how much you expect to spend on no-set-fee medical expenses. 

What we Chose for 2024: Aetna Gold 4

Ultimately the insurance company that seemed to best fit our current doctors was Aetna.

And we live in Texas, so all silver plans were garbage, so we only considered gold plans. 

And among the gold plans, we selected the Gold 4 plan. This plan has the highest deductible but also the lowest copays by far. The vast majority of our medical expenses these days are copays, and we don’t anticipate any significant no-set-fee medical expenses for Mrs. EYFI and the kids in 2024.

But, if we do have unexpected no-set-fee medical expenses like a broken bone or something, we can handle the higher deductible. This is yet another huge benefit of pursuing and achieving FI – you have the resources to better “self-insure” to some extent, choosing the option that is statistically likely to save you money, even if that’s not guaranteed, and even if it might mean paying a larger sum of money unexpectedly. 

The same principle holds for other kinds of insurance, such as home and car insurance. 

Overall we’re very excited to have such low copays, especially the $0 copays to see a PCP. Definitely a first for anyone in our household.

A $0 copay means a very low barrier to see a doctor if we’re sick. Which also hopefully means we reduce the probability of an issue getting even worse because we put off seeing the doctor (which beyond being physically and mentally awful to deal with, will also be far more expensive to deal with).

But it’s also the first time anyone in our house will have an HMO. So we’ll see how much of a hassle that is, versus a PPO.


As usual this post turned out much longer than I originally intended, but hopefully it can help others looking to select and optimize their ACA insurance.

To maximize subsidies and ensure you still get subsidies for your kids, you’ll need to very carefully tune your income – but the savings and investments from pursuing and achieving FI will allow you to do this fairly easily. 

In general the best plan for you will depend on your network of doctors and how much set-fee and non-set-fee medical expenses you expect to have. 

Also as usual I gained a massively greater understanding of all the underlying math and factors involved in picking an insurance plan by coding it all up in Python. I highly recommend if there’s a topic that you don’t understand, try to code it up in something like Python and build some cool plots to show your results – you’ll understand it so much better as a result.

Finally, if before (or instead of) diving into the detailed analysis above you’d like a hilarious primer on many of the terms and aspects of health insurance in the US, check out this video.

If you have any questions or comments on the content above or the Python tool I built, lemme know!

Leave a Comment

Your email address will not be published. Required fields are marked *