Health benefits

Employee Health Plan Total Cost Comparator

Compare up to five health plans over one plan year of claims: premiums, deductibles, copays, coinsurance and out-of-pocket limits for individuals and families, separate or shared prescription limits, and employer HSA and HRA money. You see each plan's annual cash cost and account-adjusted cost, the cheapest plan and its margin, a claim-by-claim ledger, 100 seeded simulated years from weighted claim bundles, and an 11 by 11 grid of claim levels against the premium difference. Estimates for planning, not benefits advice.

Last updated

Calculator overview

Inputs and outputs

This summary comes from the calculator's published input and output contract.

Inputs

Plan year start (required)
About this input

First day of the plan year. Every claim must fall inside the year, and accumulators start at the opening balances.

Unit date Default 2027-01-01
Plans (required)
About this input

Up to five plans, P1 to P5, filled from the top. Each row holds the employee premium per pay period, account funding and the deductible and out-of-pocket limits. Blank limits are not zero: enter every limit that applies.

Default 3 rows
ColumnRange or allowed values
Plan_ID Not declared
Name Not declared
Premium 0 to 100000
Premium_Frequency Weekly (52), Biweekly (26), Semimonthly (24), Monthly (12)
Premium_Payments 1 to 53
Employer_HSA 0 to 100000
HRA_Funding 0 to 100000
HRA_Policy None, All covered cost share, Deductible only, Medical cost share only
Deductible_Individual 0 to 200000
Deductible_Family 0 to 200000
Deductible_Family_Mode Embedded, Aggregate
OOP_Individual 0 to 200000
OOP_Family 0 to 200000
OOP_Family_Mode Embedded, Aggregate
Rx_Deductible_Mapping Shared with medical, Separate, None
Rx_Deductible_Individual 0 to 200000
Rx_Deductible_Family 0 to 200000
Rx_OOP_Mapping Shared with medical, Separate
Rx_OOP_Individual 0 to 200000
Rx_OOP_Family 0 to 200000
Opening accumulators
When omitted Blank
About this input

Deductible and out-of-pocket amounts a member has already met under a plan this year. Blank means 0. The family amount is the sum of the members.

Default 0 rows
ColumnRange or allowed values
Plan_ID P1, P2, P3, P4, P5
Member_ID M1, M2, M3, M4, M5, M6, M7, M8, M9, M10
Medical_Deductible_Used 0 to 200000
Medical_OOP_Used 0 to 200000
Rx_Deductible_Used 0 to 200000
Rx_OOP_Used 0 to 200000
Annual premium step (required)
About this input

Step between grid columns, in dollars a year. The middle column is the actual premium difference between the two plans.

Unit $/year Default 300 Range 1 to 100000
Near-tie margin
When omitted Blank
About this input

When the two cheapest plans differ by less than this many dollars a year, the status reads CHECK so a small gap is not presented as a clear winner. Blank means 25 dollars.

Unit $/year Default Not set Range 0 to 10000
Services (required)
About this input

Up to twenty service types, S01 to S20, each with a name and a benefit class (medical or prescription). Prescription tiers are simply service rows.

Default 15 rows
ColumnRange or allowed values
Service_ID Not declared
Name Not declared
Benefit_Class Medical, Prescription
Random seed
When omitted Blank
About this input

Starts the random stream of the simulation. The same seed and inputs always give the same 100 years. Blank means 42.

Default Not set Range 1 to 2147483646
Plan rules by service (required)
About this input

One row per plan and service a claim uses: whether it is covered, the cost-share method, whether the deductible applies, the copay order, the copay, the coinsurance and whether the cost counts toward the out-of-pocket limit.

Default 45 rows
ColumnRange or allowed values
Plan_ID P1, P2, P3, P4, P5
Service_ID S01, S02, S03, S04, S05, S06, S07, S08, S09, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20
Covered Yes, No
Method No cost share, Coinsurance, Copay, Copay and coinsurance
Deductible_Applies Yes, No
Copay_Order Before deductible, After deductible
Copay 0 to 100000
Coinsurance 0 to 1
OOP_Credit Yes, No
Rank plans by (required)
About this input

Annual cash cost is premiums plus your covered cost share plus noncovered costs minus HRA reimbursement. Account-adjusted cost also subtracts employer HSA deposits.

Default Annual cash cost Allowed Annual cash cost, Account-adjusted cost
Reference plan (required)
About this input

The plan the scenario grid compares against.

Default P1 Allowed P1, P2, P3, P4, P5
Allowed-cost multiplier step (required)
About this input

Step between grid rows. Rows multiply every base allowed amount by 1 minus 5 steps up to 1 plus 5 steps; the middle row is the base case.

Unit x Default 0.1 Range 0.01 to 0.19
Bundle claims
When omitted Blank
About this input

The claims of each bundle, at most 20 a bundle, sorted by date and then Claim_ID across the whole list.

Default 38 rows
ColumnRange or allowed values
Bundle_ID B1, B2, B3, B4, B5, B6
Claim_ID Not declared
Member_ID M1, M2, M3, M4, M5, M6, M7, M8, M9, M10
Date Not declared
Service_ID S01, S02, S03, S04, S05, S06, S07, S08, S09, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20
Allowed 0 to 10000000
Claim bundles for the simulation
When omitted Blank
About this input

Up to six illustrative yearly claim bundles with a weight each. The weights must add up to 1; they are illustrative, not actuarial probabilities.

Default 3 rows
ColumnRange or allowed values
Bundle_ID Not declared
Name Not declared
Weight 0 to 1
Base claims (the deterministic year)
When omitted Blank
About this input

The claims of the year you want to compare, up to 100, sorted by date and then Claim_ID. Amounts are allowed amounts. No names or diagnoses: use synthetic IDs.

Default 16 rows
ColumnRange or allowed values
Claim_ID Not declared
Member_ID M1, M2, M3, M4, M5, M6, M7, M8, M9, M10
Date Not declared
Service_ID S01, S02, S03, S04, S05, S06, S07, S08, S09, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20
Allowed 0 to 10000000
Action (required)
About this input

What one press of Run evaluates. Calculate compares the plans on your base claims. Simulate replays 100 illustrative years drawn from your bundles. Scenario grid varies allowed costs and one premium.

Default Calculate Allowed Calculate, Simulate, Scenario grid
Claim amounts are allowed amounts (required)
About this input

Confirms that every claim amount is the plan allowed amount (the negotiated price), not the provider billed charge. No stops the calculation.

Default Yes Allowed Yes, No
Plan shown in the claim ledger (required)
About this input

The plan whose claim-by-claim ledger and deductible and out-of-pocket progression are shown.

Default P1 Allowed P1, P2, P3, P4, P5
Allowed-cost factor levels
When omitted Blank
About this input

Five allowed-cost multipliers with a weight each, used when the cost factor is Levels. The weights must add up to 1.

Default 5 rows
ColumnRange or allowed values
Level Not declared
Factor 0.25 to 4
Weight 0 to 1
Coverage tier (required)
About this input

The coverage tier you are comparing, as a code: EE employee only, ES employee and spouse, EC employee and children, FAM family. EE applies the individual limits; the others also apply the family limits.

Default FAM Allowed EE, ES, EC, FAM
Comparison plan (required)
About this input

The plan whose annual premium the scenario grid varies. It must differ from the reference plan.

Default P2 Allowed P1, P2, P3, P4, P5
Vary allowed costs between simulated years (required)
About this input

Off replays each bundle at the allowed amounts entered. Levels also multiplies every allowed amount in a simulated year by one of your five factor levels, drawn by its weight.

Default Levels Allowed Off, Levels

Outputs

Simulated annual cost by plan (rank basis)
About this output

For each plan over the 100 simulated years: mean, percentiles, lowest and highest annual cost, the probability of being cheapest with its standard error, and the two half-run checks. Illustrative, conditional on your bundles and weights.

No unit declared
CB09 Services Check
About this output

For each row of the services grid: blank when unused, OK, or the first problem.

No unit declared
Custom assumptions
About this output

TRUE when an input overrides a reference or statutory value. Always FALSE here: every plan term is entered by you and no reference values are used.

No unit declared
Share of simulated years with a tie for cheapest
About this output

Share of the 100 simulated years in which two or more plans tie for cheapest to the cent. Tied years split the win equally.

Unit %
CB09 Rules Check
About this output

For each row of the plan rules by service grid: blank when unused, OK, or the first problem.

No unit declared
Deductible and out-of-pocket progression, plan shown
About this output

Family deductible and out-of-pocket amounts credited at each month end of the plan year for the plan shown, beside the limits.

No unit declared
CB09 Plans Check
About this output

For each row of the plans grid: blank when unused, OK, or the first problem.

No unit declared
Adjudication rows used
About this output

Adjudication rows this action used out of the workbook capacity.

Unit rows
Plan ranking, base case
About this output

Each plan in the base case: premium, covered cost share, noncovered costs, insurer payments, HRA reimbursement, cash cost, employer HSA deposit, account-adjusted cost, rank and the deductible and out-of-pocket amounts credited.

No unit declared
Model Status
About this output

OK, CHECK with a reason, or NOT VALID with the first problem to fix.

No unit declared
Warnings
About this output

How many warnings apply to this result.

No unit declared
Simulated years
About this output

The number of simulated years, always 100.

Unit years
Warning messages
About this output

The warning messages, joined.

No unit declared
Warnings
About this output

One row per warning code: how many times it applies, the first row it names and its message.

No unit declared
Status code
About this output

The short code of the reason the status shows, for example PL-2-BLANK or CAPACITY; OK when the status is OK.

No unit declared
Reference data version
About this output

The reference data version. none: every plan term is entered by you.

No unit declared
Model version
About this output

The version of this model.

No unit declared
Workbook self-check
About this output

PASS when every internal consistency check of the workbook holds for this result.

No unit declared
Seed used
About this output

The seed the simulation used.

No unit declared
Cheapest plan, base case
About this output

The cheapest plan in the base case on the chosen basis, or the tied plans when they cost the same to the cent.

No unit declared
Gap to the next cheapest plan
About this output

Dollars a year between the cheapest plan and the next cheapest in the base case.

Unit $/year
Draws by bundle and factor level
About this output

How many simulated years drew each bundle and each factor level.

No unit declared
Claim ledger, base case, plan shown
About this output

Every base claim of the plan shown, in date order: the cost-share order, deductible, copay and coinsurance posted, the amount the out-of-pocket cap shifted to the plan, what the member and the plan pay, the HRA reimbursement and the running family accumulators.

No unit declared
CB09 Bundles Check
About this output

For each row of the claim bundles for the simulation grid: blank when unused, OK, or the first problem.

No unit declared
CB09 Base Claims Check
About this output

For each row of the base claims (the deterministic year) grid: blank when unused, OK, or the first problem.

No unit declared
Action evaluated
About this output

The action this result was computed for.

No unit declared
Annual cost by bundle at allowed amounts as entered (rank basis)
About this output

Each bundle replayed through each plan at the allowed amounts entered, on the rank basis. Shown for Calculate, and for Simulate without factor levels.

No unit declared
CB09 Bundle Claims Check
About this output

For each row of the bundle claims grid: blank when unused, OK, or the first problem.

No unit declared
CB09 Factor Levels Check
About this output

For each row of the allowed-cost factor levels grid: blank when unused, OK, or the first problem.

No unit declared
Scenario grid: why a cell is blank (same shape as the grid)
About this output

Same shape as the scenario grid (multipliers in the first column, steps across): blank where a cell has a value, and the reason where a cell is blank because it could not be computed.

No unit declared
Scenario columns: the annual premium step, then the premium difference at each step
About this output

The annual premium step, then the 11 annual premium differences (comparison minus reference) of the scenario grid columns under their step headings (-5 steps to +5 steps), in dollars a year; the middle one is the actual difference.

No unit declared
Premium change that makes the column plan tie the row plan ($ a year)
About this output

For a row plan and a column plan: the change in the column plan annual premium at which both would cost the same. Positive means the column plan could cost that much more and still tie.

No unit declared
CB09 Opening Check
About this output

For each row of the opening accumulators grid: blank when unused, OK, or the first problem.

No unit declared
Scenario grid
About this output

Names the reference and comparison plans of the scenario grid and its units.

No unit declared
Comparison minus reference annual cost: multiplier (rows) x premium difference step (columns)
About this output

Comparison plan annual cost minus reference plan annual cost, for allowed-cost multipliers (the first column) and annual premium difference steps (columns, -5 steps to +5 steps; the differences are in the premium-differences table). Negative means the comparison plan is cheaper. The middle cell is the base case.

No unit declared
Simulated years that failed to evaluate
About this output

Simulated years whose costs could not be evaluated. It should always be 0.

Unit years
Scenario rows: the allowed-cost multiplier at each row
About this output

The 11 allowed-cost multipliers of the scenario grid rows, under a Multiplier heading; the middle one is 1, the base case.

No unit declared
Input grid checks
About this output

For each input grid: rows used, rows with a problem and the first problem.

No unit declared
This page is provided by LogicCommons for informational purposes only. Results are model outputs computed from the inputs you supply and are not financial, investment, tax, accounting, or legal advice, and no advisory relationship is created. Verify all inputs and results independently before relying on them in any decision. These calculators model the policy arithmetic you enter. They do not certify compliance with payroll, tax, insurance, ERISA, nondiscrimination, or employment law, and they are not a substitute for review of your actual plan documents and policies by a qualified professional.

LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.

Methodology

Purpose and model boundary

This calculator compares up to five employer health plans on what one plan year of care would cost you. You enter each plan's employee premium and its deductible, out-of-pocket limits and account funding, a rule for every service your claims use (covered or not, and how the cost is shared), and the claims you expect for the year, each at the plan's allowed amount. The workbook then adjudicates every claim, in date order, under every plan: it applies the deductible, copay and coinsurance in the order the plan sets, tracks each member's and the family's deductible and out-of-pocket amounts, stops your cost share at the out-of-pocket limit, and applies any HRA money afterwards. The main result is the cheapest plan for that year, on the basis you choose, and how far ahead it is.

Two further questions can be added through the calculation choice. Simulate replays 100 illustrative years, each drawn from claim bundles you describe (for example low, medium and high use) by the weights you give them, and reports how each plan's annual cost spreads out and how often each plan is cheapest. Scenario grid shows, in an 11 by 11 table, how the cost difference between two plans moves when every allowed amount is scaled up or down and when one plan's premium changes.

Every figure on this page is computed by the spreadsheet; the page adds nothing to it. The model is educational. The plan terms, claims, bundles and weights are yours; the simulated shares follow from them and are not actuarial probabilities. It is not insurance, tax, benefits or medical advice, and it holds no plan's actual terms.

Inputs and units

  • Coverage tier: EE (employee only), ES (employee and spouse), EC (employee and children) or FAM (family). Employee only applies the individual limits; the other tiers apply both the individual and the family limits.
  • Plan year start: from 2020-01-01 to 2040-12-31. The plan year ends the day before the same date a year later, and every claim must fall inside it.
  • Rank plans by: annual cash cost, or account-adjusted cost, which also subtracts employer HSA deposits.
  • Near-tie margin, optional: when the two cheapest plans differ by less than this many dollars a year, the status reads CHECK. Blank means 25 dollars; the limit is 0 to 10,000.
  • Plans, P1 to P5, filled from the top; a plan is used when it has a name. Each plan has a synthetic name; the employee premium per pay period and its frequency (weekly, biweekly, semimonthly or monthly, with the standard 52, 26, 24 or 12 payments) and, optionally, a different number of payments from 1 to 53; the employer HSA deposit and the HRA funding a year, blank meaning 0; which costs the HRA reimburses (none, all covered cost share, the deductible only, or the medical cost share only); the individual and family deductibles and out-of-pocket limits, each family limit embedded or aggregate; and whether prescriptions share the medical deductible, have a separate one or have none, and share the medical out-of-pocket limit or have a separate one, with the separate amounts. A blank limit is never read as zero: enter every limit that applies.
  • Services, S01 to S20: a name and a benefit class, medical or prescription. Prescription tiers are simply service rows.
  • Plan rules, up to 100 rows, one for each plan and service a claim uses: whether the service is covered; the method (no cost share, coinsurance, copay, or copay and coinsurance); whether the deductible applies; for a copay with a deductible, whether the copay comes before or after the deductible; the copay per claim; the coinsurance rate from 0% to 100%; and whether the cost counts toward the out-of-pocket limit (blank means yes). The rows can be pasted from a spreadsheet, and each plan and service pair may appear once.
  • Amounts already met this year, optional, up to 50 rows: for a plan and a member (M1 to M10), the medical and prescription deductible and out-of-pocket amounts already met, blank meaning 0. The family amount is the sum of the members'.
  • Claim amounts are allowed amounts: confirm Yes. The allowed amount is the plan's negotiated price, not the provider's billed charge.
  • Claims for the year, up to 100 rows: a claim ID (a capital letter followed by up to 15 capital letters or digits), the member, the date of service, the service, and the allowed amount from 0 to 10,000,000 dollars in whole cents. Use synthetic IDs, never names or diagnoses. The rows can be pasted and are put in date order, then claim ID order.
  • Simulated years: up to six claim bundles, each with a name and a weight from 0 to 1, where the weights of the bundles you use must add up to 1; the bundle claims, up to 120 rows and at most 20 per bundle, with the same columns as the claims plus the bundle and in the same order; whether to vary allowed costs between years, off or by five factor levels; the five levels, each a factor from 0.25 to 4 with a weight, the weights adding up to 1; and an optional random seed from 1 to 2,147,483,646 (blank is 42).
  • The calculation choice; the plan shown in the claim ledger; for the scenario grid, the reference plan and a different comparison plan, the allowed-cost multiplier step from 0.01 to 0.19 and the annual premium step from 1 to 100,000 dollars.

Money is in US dollars a year, except the premium, which is per pay period; rates are percentages.

Governing relationships

Order and accumulators. Claims are adjudicated in date order, and claims on the same date in claim ID order. The workbook checks this order and never re-sorts. Accumulators start at the opening balances at the start of the plan year. Each plan keeps a member and a family deductible and out-of-pocket amount for each set that applies: medical, and a separate prescription set when the plan maps prescriptions as separate.

Remaining deductible and out-of-pocket room. Before each covered claim with cost sharing,

remaining deductible = individual limit − member's deductible so far for employee only;

for a family tier, the family limit less the family's amount so far when the mode is aggregate, and the smaller of the member's and the family's remaining room when it is embedded. The remaining out-of-pocket room follows the same rule with the out-of-pocket limits. Neither is ever below 0.

Cost share before the out-of-pocket limit. With allowed amount A, copay C and coinsurance rate r:

  • deductible then coinsurance: deductible = min(A, remaining deductible), then coinsurance = (A − deductible) × r;
  • copay before the deductible: copay = min(A, C), then deductible = min(A − copay, remaining deductible), then coinsurance = (A − copay − deductible) × r;
  • copay after the deductible: deductible = min(A, remaining deductible), then copay = min(A − deductible, C), then coinsurance = (A − deductible − copay) × r;
  • with no deductible the claim skips that step, and with no cost share the plan pays the whole allowed amount.

Coinsurance is rounded to the cent.

The out-of-pocket limit. When the cost counts toward the out-of-pocket limit, the deductible, copay and coinsurance are posted in that order, each limited to the room left after the ones before it. What the limit removes is shifted to the plan, and the ledger shows it. Only the deductible actually posted is credited to the deductible; an amount the cap shifted to the plan is not. A cost that does not count toward the limit is neither counted nor capped.

Not covered. For a service the plan does not cover, you pay the whole allowed amount, the plan pays nothing, and no deductible or out-of-pocket amount moves. Scaling a claim never changes whether it is covered.

Every claim balances: what you pay plus what the plan pays equals the allowed amount.

HRA. After the claims are adjudicated, the HRA reimburses the eligible part of each claim's posted cost share in date order, earliest first, until the year's funding is used. It never feeds back into any deductible or out-of-pocket amount. Noncovered costs are not reimbursed, and unused HRA money is given no cash value.

Annual cost. For each plan,

annual premium = premium per pay period × number of payments

annual cash cost = annual premium + covered cost share + noncovered costs − HRA reimbursement

account-adjusted cost = annual cash cost − employer HSA deposit

An account-adjusted cost below zero is a net employer-funded account advantage, not a negative medical bill. Your own HSA contributions are never subtracted. Money totals are rounded to the cent. A plan's rank is 1 plus the number of plans strictly cheaper to the cent, so tied plans share a rank. For each pair of plans, the break-even premium change is the row plan's cost less the column plan's: the change in the column plan's annual premium at which the two would cost the same.

Simulation. Each of 100 years draws one bundle by its weight from a seeded random stream and, with factor levels on, one level by its weight; the same seed and inputs always give the same 100 years. The year's cost for every plan is that bundle's claims adjudicated at that level's multiple of every allowed amount. Each pair of bundle and level is adjudicated once, so the draws only choose among exact results. For each plan the workbook reports the mean, 10th, 50th and 90th percentiles, lowest and highest annual cost, the share of years in which it is cheapest, with tied years split equally, its standard error

standard error = √( p × (1 − p) / 100 )

and the mean and share for years 1 to 50 and 51 to 100 as a convergence check. It also reports the share of years with a tie, and how many years drew each bundle and each level.

Scenario grid. Rows multiply every allowed amount in your claims by 1 − 5 steps up to 1 + 5 steps, re-adjudicating the year under both plans each time. Columns set the comparison plan's annual premium to the reference plan's plus the actual difference, moved by −5 to +5 premium steps. Each cell is

comparison plan's annual cost − reference plan's annual cost

on the basis you rank by; negative means the comparison plan is cheaper. The premium axis is exactly additive, and the centre cell equals the base-case difference to the cent.

Calculation sequence

The spreadsheet first checks the inputs and every plan, service, rule, opening, claim, bundle and level row. It then builds each plan's rule for every service, lays the claims out in one adjudication ledger (the base year, then the bundles or the scenario multipliers the chosen mode needs), adjudicates every row under every plan, and adds up each plan's premiums, cost share, noncovered costs, plan payments and HRA reimbursement. In the chosen mode it then draws the 100 years or fills the scenario grid. A block of consistency checks confirms that no accumulator passes its limit, that no posted amount exceeds its amount before the cap, that the HRA never pays more than its funding, that the shares of years cheapest add up to 1 and that the grid's centre equals the base case, before the status is returned.

Outputs and interpretation

The headline is the cheapest plan for your year of claims, on the basis you rank by, and the gap in dollars a year to the next cheapest. The ranking table gives, for each plan, the annual premium, your covered cost share, noncovered costs, what the plan paid, the HRA reimbursement, the annual cash cost, the employer HSA deposit shown separately, the account-adjusted cost, the rank, and the deductible and out-of-pocket amounts credited and the out-of-pocket room left. The break-even table compares every pair of plans. The claim ledger lists every claim for the plan you choose: the cost-share order, the deductible, copay and coinsurance posted, the amount shifted to the plan by the out-of-pocket limit, what you and the plan pay, the HRA reimbursement and the family's running totals, and a table of the month-end totals beside the limits. The bundle table replays each bundle through each plan at the allowed amounts entered; it is filled for Calculate, and for Simulate without factor levels. Under Simulate the cards add the share of years with a tie, the years that failed to evaluate (always 0), the seed used and the number of years, with the simulation and draw tables. Under Scenario grid a note names the two plans and the units.

In the scenario grid, the first column gives each row's allowed-cost multiplier and the column headings count premium steps from −5 to +5; the premium step and the premium difference at each step are listed in the table beside the grid. A cell without a value is explained in the reasons table, which has the same layout.

Any warnings appear under the results. The model version and the other run details are in the downloaded CSV and JSON files. The per-row check tables are returned to the API and MCP, and the first problem they find is named in the status.

Under the default inputs, a family of four with a plan year from 1 January 2027 and 16 claims for the year, three plans paid biweekly are ranked on annual cash cost. The mid deductible plan with an HRA (150 dollars a pay period) costs 6,197 dollars a year: 3,900 in premiums plus 2,697 of covered cost share and 600 for a noncovered claim, less 1,000 of HRA reimbursement. The high deductible plan (95 dollars) costs 6,376 dollars, and the copay plan (210 dollars) 7,605 dollars. The mid deductible plan is cheapest, by 179 dollars, more than the 25-dollar near-tie margin, so the status is OK. On the account-adjusted basis the high deductible plan's 1,500-dollar employer HSA deposit would bring it to 4,876 dollars. In the bundle table the copay plan is never the cheapest: in the low use bundle the high deductible plan costs 2,743 dollars, and in the high use bundle the mid deductible plan costs 12,900 dollars against 13,460 and 15,470 for the other two.

The first chart breaks each plan's cash cost into its parts, with the HRA below zero. The second shows the spread of simulated annual costs, the third the deductible and out-of-pocket progression of the plan shown, and the fourth how often each plan is cheapest.

Validation and status logic

The workbook returns one status, chosen in this order: NOT VALID, then CHECK, then OK. It has no INFEASIBLE status, because it does not optimize.

  • NOT VALID names the first problem it finds, checked in this order: the calculation choice, the allowed-amount confirmation, the coverage tier, the plan year start and the ranking basis; then the plan, service, rule, opening, claim, bundle, bundle-claim and factor-level rows (the levels only when they are in use), each naming its row; at least one plan; a required limit left blank, a deductible above its out-of-pocket limit, or an embedded individual amount above the family amount; a used service without a name or class; a used plan and service pair without a rule; a prescription rule that applies a deductible in a plan with no prescription deductible; opening amounts above their limits; an allowed amount not in whole cents; claims for more than one member under employee only; a ledger plan that is not entered; the seed, under Simulate only; the near-tie margin; the cost-factor choice; and, in the mode that uses them, a bundle with more than 20 claims, bundle or level weights that do not add up to 1, grid plans that are not two different entered plans, a step out of range, more than 60 claims in the scenario grid, and the workbook's adjudication capacity. Claim rows are refused for a gap, a missing value, an ID that is repeated or malformed, a date outside the plan year, or rows out of date-then-ID order. NOT VALID is a refusal, not a numeric answer: every figure is withheld.
  • CHECK accompanies a computed result that needs the stated review: a model consistency check failed; the two cheapest plans cost the same to the cent, or differ by less than the near-tie margin; or only one plan is entered, so there is nothing to compare.
  • OK otherwise.

The warnings list, under the results, reports a near tie, an account-adjusted cost below zero, HRA money left unused, noncovered claims, that the simulated shares rest on 100 illustrative years, that cost variation uses five levels rather than a continuous distribution, opening balances in use, an empty claim list, same-day claims taken in claim ID order, an out-of-pocket limit reached, costs that do not count toward the limit, and simulation halves that disagree. A warning does not change the status.

Assumptions and limitations

  • Capacities are 5 plans, 20 services, 100 rules, 10 members, 100 claims for the year, 6 bundles of up to 20 claims each, 5 factor levels and 100 simulated years. The scenario grid replays at most 60 claims.
  • Only in-network care is modelled: there are no out-of-network limits and no balance billing above the allowed amount.
  • One plan year; claims outside it are refused. One employee premium per pay period applies all year.
  • Only the posted deductible counts toward the deductible; there is no option for copays to count toward it.
  • The HRA is fully funded on the first day, with no proration or rollover, and reimburses in date order up to its funding.
  • Prescription deductibles and limits follow the medical family modes.
  • Opening balances apply to every simulated and scenario year.
  • Simulated years come from your bundles and weights and five factor levels; with 100 years a share has a standard error of up to 5 percentage points.
  • The break-even figures move premiums only.
  • Cents are rounded half away from zero.
  • The calculator applies no legal maximum to an out-of-pocket limit; every limit is the one you enter.

Restrictions and non-computing states

The calculator enforces its numeric and choice limits before it accepts a result. A gap between rows, a missing rule, a blank required limit, claims out of order and weights that do not add up to 1 are refused by the workbook. The simulation figures are left blank unless Simulate is chosen, the scenario grid unless Scenario grid is chosen, and the bundle table when Simulate uses factor levels or the scenario grid is chosen.

Errors and warnings

A request rejected by the page's input limits is not a computed result. A transport or service failure, a timeout or a cancelled run cannot establish a fresh workbook answer, and the last result stays on the page marked as out of date. Review the workbook's References and Disclaimer, and your plans' Summaries of Benefits and Coverage, before using a result for a real decision.

References

Sources and further reading

Every premium, limit, rule, claim, bundle and weight on this page comes from your inputs; the calculator holds no plan's actual terms and no statutory limits. The public sources below define the plan terms it uses and explain how employer health accounts are treated. They do not endorse this calculator.

This is an educational comparison of the plan terms you enter, not insurance, tax, benefits or medical advice. Check every amount against each plan's Summary of Benefits and Coverage and plan documents before choosing a plan.

Results are informational and not professional advice. See our Terms of Use. Powered by SpreadsheetWeb · About · Privacy · Terms