KiwiSaver Calculator NZ

How the KiwiSaver calculators work

The formulas, the assumptions and every test the engine must pass before the site is published.

Rules as at 10 November 2026.

Two figures, and why they differ

Every projection shows two figures. The annual statement figure follows Schedule 7A of the Financial Markets Conduct Regulations 2014, the formula every KiwiSaver provider must use on your annual statement. The year-by-year model runs one year at a time, so it can include the move to 4% on 1 April 2028 and work out ESCT and the government contribution for each year.

The figures differ because the annual statement follows the Schedule 7A formula, which keeps today’s contribution rates to 65 and rounds to the nearest $1,000, while the year-by-year model also includes the move to 4% on 1 April 2028 and works out ESCT and the government contribution for each year.

The Schedule 7A formulas

N is 65 minus your age, rounded to the nearest whole year. m is this year’s contributions from you and your employer (after ESCT), n is the government contribution, p is your balance now. Midpoints round up.

Balance at 65 (when g is not equal to k)

c = m × ((1+g)^N − (1+k)^N) / (g − k) + n × ((1+g)^N − 1) / g + p × (1+g)^N

Balance at 65 (when g equals k)

c = m × N × (1+g)^(N−1) + n × ((1+g)^N − 1) / g + p × (1+g)^N

In today’s dollars

b = c / (1+d)^N, rounded to the nearest $1,000

Weekly to age 90

r = b × (7 / 365.25) × (h − d) × (1+h)^(s−e−0.5) / ((1+d)^0.5 × ((1+h)^(s−e) − (1+d)^(s−e))), rounded to the nearest $10

Assumptions

AssumptionValueSource
Return to 65, after fees and tax (Defensive)1.5%source
Return to 65, after fees and tax (Conservative)2.5%source
Return to 65, after fees and tax (Balanced)3.5%source
Return to 65, after fees and tax (Growth)4.5%source
Return to 65, after fees and tax (Aggressive)5.5%source
Inflation (d)2%source
Pay growth (k)3.5%source
Return after 65 (h)2.5%source
Withdrawal age (e)65source
Payments stop at age (s)90source
Government contribution25c per $1, up to $260.72 a yearsource
Income cap for the government contribution$180,000source
Default employee rate3.5% now, 4% from 1 April 2028source
Employer minimum3.5% now, 4% from 1 April 2028source
First home: must remain$1,000source

The year-by-year model

Each year from your age to 65 the model adds your contributions, your employer’s contribution after ESCT and the government contribution, then the year’s return on the balance. Pay grows by 3.5% a year.

Your rate and your employer’s minimum follow the law: 3.5% now and 4% from 1 April 2028 (the model applies the step from its third year). If you choose 4%, 6%, 8% or 10%, your rate stays there and your employer’s minimum still steps up.

ESCT is worked out each year from your pay plus your employer’s contribution, using these bands: 10.5% up to $18,720, 17.5% up to $64,200, 30% up to $93,720, 33% up to $216,000, 39% over $216,000. The government contribution is 25 cents per dollar up to $260.72, nothing over $180,000, and stops at 65.

Fees in the fees calculator are taken off the assumed return, and member fees off the balance each year. Today’s dollars take out 2% inflation a year.

With pay growth and the 2028 step switched off, the model matches the Schedule 7A formula to the cent. That check runs before every publish.

What the calculators do not include

  • Part-year government contributions, for people who join or turn 16 or 65 during the year. The proration formula in the Income Tax Act has not been confirmed, so test GC10 stays marked as unverified.
  • Which tax year’s income the $180,000 cap is tested on. That depends on when your tax return is filed, so it is explained, not calculated (tests GC6 and GC7).
  • Savings suspensions, hardship withdrawals, market ups and downs, and changes to the law after 10 November 2026.

Engine tests

These checks run every time the site is built and before every publish. If any fails, nothing is published. Results from the build on 10 November 2026: 46 passed, 0 failed, 3 skipped.

TestWhat it checksKindResultSource
GC1governmentContribution {"ownContributions":1042.86,"eligibleDays":365,"daysInYear":365,"taxableIncome":60000,"age":30}Official examplePasssource
GC2governmentContribution {"ownContributions":500,"eligibleDays":365,"daysInYear":365,"taxableIncome":60000,"age":30}Derived from the rulePasssource
GC3governmentContribution {"ownContributions":3000,"eligibleDays":365,"daysInYear":365,"taxableIncome":60000,"age":30}Derived from the rulePasssource
GC4governmentContribution {"ownContributions":1042.86,"eligibleDays":365,"daysInYear":365,"taxableIncome":180000,"age":40}Official examplePasssource
GC5governmentContribution {"ownContributions":1042.86,"eligibleDays":365,"daysInYear":365,"taxableIncome":180001,"age":40}Official examplePasssource
GC6incomeTestYear {"creditYear":"2025/26","returnFiledOrFinalisedBy30June":true,"currentYearIncome":175000}Official exampleSkippedsource
GC7incomeTestYear {"creditYear":"2025/26","returnFiledOrFinalisedBy30June":false,"priorYearIncome":178000}Official exampleSkippedsource
GC8governmentContribution {"ownContributions":0,"employerContributions":3000,"eligibleDays":365,"daysInYear":365,"taxableIncome":60000,"age":30}Official examplePasssource
GC9governmentContribution {"ownContributions":1042.86,"eligibleDays":365,"daysInYear":365,"taxableIncome":12000,"age":17,"creditYear":"2025/26"}Derived from the rulePasssource
GC10governmentContribution {"ownContributions":2000,"eligibleDays":181,"daysInYear":365,"taxableIncome":60000,"age":30,"note":"joined 1 Jan 2026"}Derived from the ruleSkippedsource
P1 cfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"growth"}Derived from the rulePasssource
P1 bfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"growth"}Derived from the rulePasssource
P1 lump sumfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"growth"}Derived from the rulePasssource
P1 weeklyfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"growth"}Derived from the rulePasssource
P2 cfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"balanced"}Derived from the rulePasssource
P2 bfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"balanced"}Derived from the rulePasssource
P2 lump sumfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"balanced"}Derived from the rulePasssource
P2 weeklyfmaProjection {"age":30,"balance":20000,"contributions":5000,"govContribution":260.72,"fundType":"balanced"}Derived from the rulePasssource
P3 cfmaProjection {"age":55,"balance":80000,"contributions":3000,"govContribution":260.72,"fundType":"defensive"}Derived from the rulePasssource
P3 bfmaProjection {"age":55,"balance":80000,"contributions":3000,"govContribution":260.72,"fundType":"defensive"}Derived from the rulePasssource
P3 lump sumfmaProjection {"age":55,"balance":80000,"contributions":3000,"govContribution":260.72,"fundType":"defensive"}Derived from the rulePasssource
P3 weeklyfmaProjection {"age":55,"balance":80000,"contributions":3000,"govContribution":260.72,"fundType":"defensive"}Derived from the rulePasssource
P4 cfmaProjection {"age":25,"balance":1000,"contributions":4000,"govContribution":0,"fundType":"aggressive"}Derived from the rulePasssource
P4 bfmaProjection {"age":25,"balance":1000,"contributions":4000,"govContribution":0,"fundType":"aggressive"}Derived from the rulePasssource
P4 lump sumfmaProjection {"age":25,"balance":1000,"contributions":4000,"govContribution":0,"fundType":"aggressive"}Derived from the rulePasssource
P4 weeklyfmaProjection {"age":25,"balance":1000,"contributions":4000,"govContribution":0,"fundType":"aggressive"}Derived from the rulePasssource
P5contributionGrowth {"monthly":200,"wageGrowth":0.035,"years":[1,2]}Official examplePasssource
F1annualisedOtherCharges {"weeklyAdminFee":2.5,"monthlyMemberFee":10}Official examplePasssource
FH1firstHomeMax {"balance":50000,"australianTransferred":5000}Derived from the rulePasssource
FH2firstHomeEligible {"membershipMonths":35,"previousWithdrawal":false,"ownedBefore":false}Derived from the rulePasssource
FH3firstHomeMax {"balance":800,"australianTransferred":0}Derived from the rulePasssource
H1hardshipMax {"balance":30000,"crownContributions":2600}Derived from the rulePasssource
E1emigrationMax {"destination":"UK","monthsSinceLeaving":12,"balance":40000,"governmentContributions":3000,"australianTransferred":0}Derived from the rulePasssource
E2emigrationMax {"destination":"Australia","balance":40000,"governmentContributions":3000}Derived from the rulePasssource
SS1savingsSuspensionAvailable {"monthsSinceFirstContribution":8,"hardship":false}Official examplePasssource
SS2savingsSuspensionLength {"monthsSinceFirstContribution":24,"requestedDays":30}Official examplePasssource
consistency: year model = Schedule 7A with flat payyearByYearConsistencyPasssource
consistency: growing pay within 2% of Schedule 7AyearByYearConsistencyPasssource
election: current-law scenario equals the existing year-by-year model exactlyyearByYear {"schedule":"current"}Election scenarioPasssource
election: current law is 3.5% each until 2028, then 4% each, with the government contributionpolicyYear {"id":"current","years":"2026 to 2070"}Election scenarioPasssource
election: National 5.5% each in 2031, 6% each in 2032 and afterpolicyYear {"id":"national","year":2032}Election scenarioPasssource
election: Labour employee 4% and employer 6% in 2033 (employer 5% in 2030)policyYear {"id":"labour","year":2033}Election scenarioPasssource
election: Opportunity 5% each in 2032 and 6% each from 2036 (our assumed timetable)policyYear {"id":"top","year":2032}Election scenarioPasssource
election: ACT government contribution paid in 2026, none from 2027, rates unchangedpolicyYear {"id":"act","year":2027}Election scenarioPasssource
election: ACT no tax on earnings grosses 3.5% up to 3.5% / (1 - 28%) for a $70,000 earnerpolicyYear {"id":"act","year":2027,"pay":70000}Election scenarioPasssource
election: PIR 10.5% to $15,600, 17.5% to $53,500, then 28%pirFor {"taxable":[15600,15601,53500,53501,70000]}Election scenarioPasssource
election: all scenarios give the same balance in the first year (2026)yearByYear {"year":2026}Election scenarioPasssource
election: page balances and differences are computed by the engineelection {"age":30,"salary":70000,"balance":20000}Election scenarioPasssource
election: extra from you in 2032 is 2% of pay under National, 0 under Labour and ACTelection {"year":2032,"salary":70000}Election scenarioPasssource

Open data

The rules behind every calculator are published as a JSON file at /data/kiwisaver-rules-2026-27.json. It holds every rate, cap, date and assumption with its source, plus the test cases.

Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You may share and adapt it, including commercially, if you credit “KiwiSaver Calculator NZ (kiwisavercalculator.co.nz)” and link to this page.