Accuracy
How we check our math
Every pension figure on FedHorizon comes from deterministic code built from OPM's published formulas. Below are worked test cases: the inputs, the formula by hand, and the result our engine produces.
How checking works
- Formulas, not AI, calculate. Pensions, the Supplement, reductions and survivor costs come from code written from the statute and OPM's guidance. AI only writes the plain-English explanations, and an automated check compares that prose with the calculated figures before a report is delivered.
- Each rule has a test with figures worked by hand. More than 2,000 automated tests run on every change, plus a 662-case check that re-derives pension, multiplier and Supplement figures with separate code. The cases below are a representative set; each one is pinned by a test, so if a result ever changes, the test fails and this page is updated with the reason.
- Sources are cited in the code and in your report. See the methodology for every formula and assumption.
Test cases
Common to every case: a High-3 of $110,000, a standard FERS employee (unless noted), and ages as of 2026. Monthly figures are annual ÷ 12, rounded to the cent. Last checked October 2026.
1.1% multiplier at 62 with 20+ years
- Inputs
- Born 1965, 25 years of service now, retiring at 62 with 26 years
- By hand
- $110,000 × 1.1% × 26 = $31,460 a year
- Engine
- $2,621.67/month
- Statute
- 5 U.S.C. 8415
1.0% multiplier after 62 with under 20 years
- Inputs
- Born 1962, 8 years now, retiring at 65 with 9 years
- By hand
- $110,000 × 1.0% × 9 = $9,900 a year
- Engine
- $825.00/month
- Statute
- 5 U.S.C. 8415
60 with 20 years: 1.0%, unreduced, with the Supplement
- Inputs
- Born 1967, 19 years now, retiring at 60 with 20 years
- By hand
- $110,000 × 1.0% × 20 = $22,000 a year
- Engine
- $1,833.33/month; Supplement eligible
- Statute
- 5 U.S.C. 8412, 8415, 8421
MRA+30 and the FERS Supplement
- Inputs
- Born 1970 (MRA 57), 29 years now, retiring at 57 with 30 years; Social Security estimate at 62: $2,000/month
- By hand
- Annuity: $110,000 × 1.0% × 30 = $33,000 a year. Supplement: $2,000 × 30 ÷ 40 = $1,500
- Engine
- $2,750.00/month annuity + $1,500.00/month Supplement until 62
- Statute
- 5 U.S.C. 8412, 8415, 8421
MRA+10 reduction, with sick leave credit
- Inputs
- Born 1970 (MRA 57), 26 years now, retiring at 57 with 27 years plus 1,044 hours of sick leave
- By hand
- Sick leave: 1,044 ÷ 2,087 = 0.5 years → 27.5 years. $110,000 × 1.0% × 27.5 = $30,250 a year ($2,520.83/month). MRA+10 at 57: 5% per year under 62 = 25% reduction
- Engine
- $1,890.62/month if started at 57; $2,520.83/month (unreduced) if postponed to 60, with 20+ years by then
- Statute
- 5 U.S.C. 8412, 8415
Full survivor benefit
- Inputs
- Born 1970, 26 years now, retiring at 62 with 32 years; full (50%) survivor election
- By hand
- Annuity: $110,000 × 1.1% × 32 = $38,720 a year ($3,226.67/month). Cost: 10% = $322.67. Survivor: 50% of $3,226.67
- Engine
- $322.67/month cost; spouse receives $1,613.34/month
- Statute
- 5 U.S.C. 8419, 8442
Special category (law enforcement): 1.7% for 20 years, 1.0% after
- Inputs
- LEO born 1976, 24 years now, retiring at 51 with 25 years
- By hand
- $110,000 × (1.7% × 20 + 1.0% × 5) = $110,000 × 39% = $42,900 a year
- Engine
- $3,575.00/month; Supplement eligible
- Statute
- 5 U.S.C. 8412, 8415
Leaving before eligibility: deferred annuity, no FEHB
- Inputs
- Born 1975 (MRA 57), 8 years now, leaving at 55 with 12 years
- By hand
- Deferred to 62: $110,000 × 1.0% × 12 = $13,200 a year
- Engine
- $1,100.00/month starting at 62; FEHB doesn't continue
- Statute
- 5 U.S.C. 8413, 8415, 8905
What these cases don't cover
FedHorizon gives planning estimates, not official OPM benefit determinations. It doesn't model CSRS or CSRS Offset, disability retirement, part-time service schedules, or some combinations of breaks in service. TSP growth, Social Security, taxes and health costs are assumptions, not calculations from your records. Verify your eligibility and estimates with your agency's HR office and your official statements.
Found a result that doesn't match?
Send the 8-character Report ID from your report (or the inputs you used) to hello@fedhorizon.com or through “Send beta feedback” on any page. Corrections are made in the engine, covered by a new test, and listed with their date under Accuracy & corrections.