How we calculate
Every number this calculator shows is derived from the formulas below. Nothing is a black box. If you find an error or disagree with an assumption, open an issue on GitHub.
All calculations run in your browser — no data leaves your device.
FIRE Number
Your FIRE number is the corpus you need so that a sustainable annual withdrawal covers your lifestyle forever. There are two views:
Today's-money FIRE number
How much you would need if you retired today at your current lifestyle cost:
FIRE_today = Annual Expenses / (SWR / 100)
Inflation-adjusted FIRE number (what the calculator targets)
Expenses will be higher by retirement. We project them forward and divide by SWR:
Annual Expenses at Retirement = Annual Expenses × (1 + inflation)^years_to_FIRE
FIRE_target = Annual Expenses at Retirement / (SWR / 100)
Why inflation-adjust?
Failing to inflate expenses is the single most common FIRE modelling mistake. ₹50,000/month today will feel like ₹28,000/month in 10 years at 6% inflation — less than half the real purchasing power. We always target the future cost of your current lifestyle.
Annual Expenses is the sum of your monthly living expenses (×12), annualised sinking fund costs, elder care, and milestones. Each component is inflation-adjusted before summing.
Corpus Projection
We use the standard future-value formula for a lump sum with recurring contributions:
FV = PV × (1 + r)^n + PMT × ((1 + r)^n − 1) / r
Where: PV = current corpus (lump sum today) r = annual return rate (decimal) n = years to retirement PMT = annual SIP contribution
In Simple mode, PV and PMT come from the corpus and SIP fields directly. In Detailed mode, the calculator runs this formula for each portfolio accountat its own return rate and sums the results — giving you a per-instrument future value.
Weighted portfolio return
When detailed accounts are filled, the blended return rate used for the single-number projection is:
Rw = Σ(balance_i / total_balance × return_i)Accounts with zero balance contribute nothing to the weighted return.
Safe Withdrawal Rate (SWR)
The SWR is the percentage of your corpus you can withdraw annually without running out of money over your projected life span. It is fully user-controlled via the slider (3% – 5%).
| SWR | Corpus multiple | Best suited for |
|---|---|---|
| 3.0% | 33× | Very early retirement (40+ post-FIRE years), conservative India scenario |
| 3.3% | 30× | Early retirement (30–40 post-FIRE years) |
| 3.5% | 28.6× | Default — covers India inflation; historically robust over 30 years |
| 4.0% | 25× | Classic Trinity Study rule; appropriate for ~30-year retirements |
| 5.0% | 20× | Short retirement or high-confidence scenario; higher depletion risk |
Inflation Adjustment
Every future-rupee amount in this calculator is a nominal figure (not real/constant-rupee). Inflation is applied in two directions:
- Growing withdrawals in drawdown: your withdrawal increases by the inflation rate each year so your purchasing power stays constant throughout retirement.
- Sinking fund costs: the replacement cost of each item is inflated to its future cost before amortising. A ₹15L car today costs ~₹26L in 10 years at 6% inflation — the annual saving amount reflects that.
- FIRE number: annual expenses are inflated to the year you retire before dividing by SWR.
Default: 6% per year— India's approximate long-run CPI average. Urban lifestyle inflation (healthcare, education, eating out) often runs 7–9%; adjust upward if your spending skews that way.
Sinking Funds (Replacement Costs)
Large irregular expenses (car, laptop, fridge) are converted to an annual saving requirement using inflation-adjusted amortisation:
Future Cost = Today's Cost × (1 + inflation)^replacement_years
Annual Saving = Future Cost / replacement_years
The sinking fund fallacy
Setting aside ₹30,000/year for a ₹3L car replacement in 10 years seems right — but that car will cost ~₹5.37L at 6% inflation. You actually need ₹53,700/year. We inflate before amortising so you always save enough in real terms.
Sinking fund annuals are added to your total annual expenses and therefore increase your FIRE number. You can remove any default item or add custom ones.
Tax Drag per Instrument
Each portfolio account is labelled with a tax type. At retirement, we estimate the tax owed on the gain — and how much extra corpus you need so the net-of-tax figure still meets your FIRE number.
| Tax type | Used for | Tax calculation |
|---|---|---|
| EEE | EPF, PPF, SSY, Gold SGB (maturity), APY, ULIP (<₹2.5L premium), LIC | Zero tax on withdrawal — Exempt at investment, growth, and withdrawal |
| EET | NPS Tier 1 | PFRDA Dec 2025 rules (non-govt): corpus ≤₹8L → 100% lump sum, fully tax-free. Corpus >₹8L → 80% lump sum (60% tax-free, 20% taxable at slab ~30%) + minimum 20% annuity (annuity income taxed at slab). Effective tax: ~12% of corpus. Govt employees: old rules apply (60% lump sum, 40% annuity). |
| LTCG | Equity MF, ELSS, Direct Stocks, REITs, Gold ETF, US ETF/Stocks | Gains above ₹1.25L/year taxed at 12.5% (post July 2024 Budget). We apply 12.5% on (gross FV − total principal invested). |
| Taxable | FD, Debt MF, NSC, KVP, SCSS, RBI Bonds, Crypto | FD/Debt: interest taxed at slab rate — we use 30% (highest bracket). Crypto: flat 30% on all gains. NSC/KVP/SCSS: interest taxable annually at slab. |
Portfolio Weighted Return
When you use Detailed mode and fill in multiple instruments, the calculator derives a single blended return for summary projections:
Rw = Σ (balance_i / Σ balance_j) × return_i
Only accounts with a non-zero balance are included. If no accounts have a balance, the manual "expected return" assumption from the Assumptions section is used instead.
Post-FIRE Drawdown
After you retire, the corpus earns a lower "post-FIRE return" (default 8%) while withdrawals grow with inflation each year. The year-by-year calculation is:
withdrawal_year_i = Annual Expenses at Retirement × (1 + inflation)^i
growth_year_i = corpus_year_i × post_FIRE_return
end_corpus_year_i = corpus_year_i + growth_year_i − withdrawal_year_i
The simulation runs from your retirement age to your projected life span (user-set, default 85). It stops early if the corpus hits zero.
Post-FIRE return vs pre-FIRE return
Most FIRE practitioners shift to a more conservative portfolio at retirement (more debt, less equity) which earns a lower but smoother return. We default to 8% post-FIRE vs 11% pre-FIRE. Adjust both in the Assumptions section.
Important:the corpus used in drawdown is the calculator's projected corpus at retirement — not the FIRE number. If you retire with more than your FIRE number, the drawdown table shows the actual surplus compounding over time.
Monte Carlo Simulation
The deterministic drawdown table assumes a fixed return every year. In reality, returns are volatile. Monte Carlo runs 500 independent retirement scenarios with randomised annual returns:
annual_return_scenario = Normal(μ = post_FIRE_return, σ = 12%)
For each of 500 scenarios:
corpus_0 = projected corpus at retirement
For each year until life expectancy:
withdrawal_i = expenses × (1 + inflation)^i
r_i = sample from Normal(μ, σ)
corpus_i+1 = corpus_i × (1 + r_i) − withdrawal_i
if corpus_i+1 ≤ 0: scenario failed, record depletion age| Output | What it means |
|---|---|
| Success rate | Percentage of 500 scenarios where corpus survived to your life expectancy |
| p10 / p25 / p50 / p75 / p90 | Percentile corpus value at each year of retirement |
| Median corpus at age X | 50th-percentile corpus at your projected life span age |
| Median depletion age | In scenarios that failed, the median age at which the corpus hit zero |
About the 12% standard deviation
Nifty 50 historical 1-year return standard deviation is approximately 20%. We use 12% — more conservative than history — because a post-FIRE portfolio typically holds debt alongside equity, reducing volatility. You can treat the success rate as slightly optimistic for an all-equity allocation.
Income & SIP Growth
Your income (and SIP contribution) will likely grow over time. The "Annual salary/income growth" slider applies compound growth to your SIP in the corpus projection:
SIP_year_i = SIP_today × (1 + salary_growth)^i
Corpus at year n = FV using growing SIP (step-up SIP)
Internally, the years-to-FIRE calculation iterates year by year with a growing annual contribution until the corpus crosses the FIRE number:
corpus_year_i+1 = corpus_year_i × (1 + r) + SIP_year_i
Stop when corpus_year_i ≥ FIRE_target
Income growth does not change your FIRE number
The FIRE number is driven by expenses, not income. A higher salary growth rate means you accumulate faster (lower years to FIRE and larger corpus), but the target itself stays fixed. This is intentional — FIRE number = what you need to spend, not what you earn.
Life Events
One-time or recurring income/expense events (home purchase, inheritance, EMI ending) are layered on top of the base projection. In the year-by-year simulation:
life_event_impact_year_i = Σ (event.amountPerYear for all active events in year i) — positive for income events, negative for expense events
corpus_year_i+1 = (corpus_year_i + SIP_year_i + life_event_impact_year_i) × (1 + r)
Events with inflation adjusted checked have their amount grown at the inflation rate each year. A one-time event (startAge = endAge) applies only in that single year.
Car TCO Calculator
The Car vs. Cab tool computes the true yearly cost of ownership (TCO):
C_year = D/L + (EMI × 12) + F + M + I − R/L
Where: D = down payment (opportunity cost, invested at Nifty 50 CAGR) L = loan tenure in years EMI = monthly EMI F = annual fuel cost (km/day × 365 × cost_per_km) M = annual maintenance (₹12,000 base, scaled by car age and type) I = annual insurance premium R = residual value at end of period (depreciation curve)
Opportunity cost of down payment
The down payment is not free money — it has an opportunity cost. We compound it at a user-adjustable CAGR (default 12%, Nifty 50 long-run) over the ownership period:
OppCost = DownPayment × ((1 + CAGR)^years − 1)
Break-even km/day
The break-even is the daily kilometres at which annual car fixed costs equal the saving from driving instead of cabbing (the difference in variable cost per km):
fixed_annual = down_payment/years + EMI×12 + maintenance + insurance + parking + cleaning − resale/years
Break_even_km/day = fixed_annual / (365 × (cab_rate_per_km − fuel_cost_per_km))
If you drive more than this per day, the car pays for itself vs. a cab; below this, cabs are cheaper.
NGT Car Scrappage Rules (Metro India)
The National Green Tribunal (NGT) mandates end-of-life vehicle rules for metros. The tool caps effective ownership at the scrappage limit and shows a warning when you will be forced to scrap before your planned period ends.
| City | Diesel | Petrol / CNG | EV |
|---|---|---|---|
| Delhi | 10 years | 15 years | No restriction |
| All other metros (Mumbai, Bengaluru, Chennai, Kolkata, Hyderabad) | 15 years | 15 years | No restriction |
effective_ownership = min(planned_ownership_years, scrappage_limit − vehicle_age_today)
TCO is computed over effective_ownership, not planned_ownership.
Why this matters
A 3-year-old diesel car in Delhi has a maximum useful life of 7 more years — not the 10 you might plan for. Ignoring scrappage inflates residual value, underestimates annual cost, and can force an unplanned sale into a weak resale market.
Car Reality Check — 20/4/10 Rule & Veblen Index
The Reality Check tab scores a car purchase against three independent frameworks:
20/4/10 Rule
| Rule | Threshold | Why |
|---|---|---|
| 20% down | Down payment ≥ 20% of car price | Limits loan principal; forces meaningful equity from day one |
| 4-year loan | Loan tenure ≤ 4 years | Cars depreciate ~50% in 5 years — long loans create negative equity |
| 10% EMI | Total EMIs ≤ 10% of gross monthly income | Leaves room for housing EMI, investments, and emergency fund |
2× Cash Rule
You should have at least 2× the car price in liquid savings/investments before buying. If you can't buy the car twice in cash, you probably can't afford it.
Veblen Index (0–100)
The Veblen Index scores how much of the purchase is status vs. utility:
Veblen = (price / annual_income × 50) + (price / net_worth × 50) capped at 100
Score < 30 → utility purchase Score 30–60 → aspirational Score > 60 → primarily status-driven
Should You Buy It? — Purchase Scoring
The Should You Buy It? tool runs any purchase through 5 rules and 2 honest questions, then combines them into a 0–100 score:
| Scoring factor | Condition | Points added |
|---|---|---|
| Price vs monthly income | > 12× income | +35 pts (> 6×: +20 pts, > 3×: +10 pts) |
| Price as % of net worth | > 20% of NW | +30 pts (> 10%: +20 pts, > 5%: +10 pts) |
| 6-month save rule (failed) | Takes > 6 months to save at current surplus | +15 pts |
| 2× cash rule (failed) | Net worth < 2× price | +10 pts |
| Total EMI load | > 40% of income | +20 pts (> 30%: +10 pts) |
| Emotional purchase? | Yes | +10 pts |
| Will you use in 2 years? | No | +15 pts |
Score = 0 means the purchase is financially sound; higher score = riskier. The score also powers 5 binary rule checks (pass/fail) shown in the rules panel. Final score determines the verdict:
| Score | Verdict |
|---|---|
| 0–15 | Strong Buy — financially sound, clear utility |
| 16–30 | Buy — passes most checks, go ahead |
| 31–50 | Maybe — review the failed rules first |
| 51–70 | Don't Buy — multiple red flags |
| 71–100 | Hard No — significant financial risk |
Remote Life Index
The Remote Life Index (in the FIRE results panel) scores your corpus against the cost of living in 16 Indian cities — 10 Tier 2 cities and 6 major metros.
Monthly surplus calculation
monthly_withdrawal = (FIRE_corpus × SWR) / 12
surplus_city = monthly_withdrawal − city.totalMonthly2p
Lifestyle match
| Match | Condition |
|---|---|
| Fat FIRE | surplus ≥ 50% of city monthly cost |
| Standard | surplus ≥ 0 |
| Lean FIRE | shortfall ≤ 20% of city monthly cost |
| Shortfall | shortfall > 20% of city monthly cost |
City data sources
Monthly cost estimates are compiled from NoBroker/MagicBricks rent surveys (2025), Numbeo cost-of-living data, CPCB annual AQI averages, and Ookla internet speed data. All costs are for a couple sharing rent and utilities. Figures are updated annually.
Emergency Fund Check
The Protection section shows your emergency fund status relative to a 6-month expense target.
target = monthly_expenses × 6
gap = target − liquid_savings (positive = shortfall, negative = surplus)
status: ≥ 6 months → Good (green) 3–6 months → Build up (amber) < 3 months → Urgent (red)
What counts as liquid savings? Savings account, liquid mutual funds, and short-term FDs you can break in ≤1 week. EPF, PPF, NPS, and equity MFs do not count — they cannot be liquidated quickly in a genuine emergency.
Why 6 months?
6 months is the standard for urban salaried India. Self-employed individuals and those with variable income should target 9–12 months. The emergency fund is not an investment — keep it in liquid funds (≈6–7% with immediate redemption) or a high-yield savings account, not equity.
Insurance Health Check
Adequate insurance is a prerequisite for FIRE — one uninsured health event can wipe out years of savings. The tool checks two covers:
Term Life Insurance
recommended_cover = annual_income × 10 (minimum for dependants)
status: adequate if term_cover ≥ recommended_cover
The 10× rule ensures your family can replace your income stream for at least 10 years (invested at 8–10% CAGR). If you have dependants, young children, or a home loan, consider 15–20× annual income.
Health Insurance
minimum_cover = ₹10,00,000 (₹10 lakhs) per family
status: adequate if health_cover ≥ ₹10,00,000
₹10L is the minimum family floater for a metro in 2025. Medical inflation is ~12%/year — a ₹5L policy bought today covers significantly less in 10 years. Early retirees should target ₹25–50L or a super top-up on a base policy.
Part-Time Income in Retirement
Many early retirees earn some income post-FIRE (consulting, freelance, rental, creative work). The Assumptions section lets you model this as a monthly figure. Crucially:
net_withdrawal_year_i = base_withdrawal_i + healthcare_withdrawal_i − post_FIRE_annual_income
where base_withdrawal_i = annual_expenses × (1 + inflation)^i
This does NOT reduce your FIRE number
The FIRE number is calculated conservatively — as if you earn nothing in retirement. Post-FIRE income only reduces net corpus withdrawals in the drawdown simulation, making your corpus appear to last longer. This preserves the conservative FIRE target while showing the benefit of partial income in the projection.
If post-FIRE income exceeds annual expenses, net withdrawal becomes zero (corpus is untouched that year). The corpus then continues compounding at the post-FIRE return rate.
Healthcare Inflation in Retirement
Healthcare costs inflate significantly faster than general CPI. The drawdown model separates healthcare into its own expense stream with a distinct inflation rate:
total_withdrawal_year_i = (base_expenses × (1 + general_inflation)^i) + (healthcare_monthly × 12 × (1 + healthcare_inflation)^i) − post_FIRE_income
| Parameter | Default | Rationale |
|---|---|---|
| General inflation | 6% | India long-run CPI average |
| Healthcare inflation | 12% | India medical cost inflation (Apollo/Manipal hospital tariff data, 2015–2025) |
LTCG Harvesting
Under Budget 2024, equity LTCG up to ₹1,25,000/year is tax-free. The Investments section shows a harvesting tip to quantify this benefit during your accumulation phase:
annual_tax_saved = ₹1,25,000 × 12.5% = ₹15,625/year
total_saved_over_n_years = ₹15,625 × years_to_FIRE
How to harvest: Each year, sell equity MF units with ₹1.25L of accumulated gains and immediately repurchase (same fund or switch to a similar one). This resets your cost basis, permanently eliminating tax on those gains. The actual amount is tax-saved, not additional returns — but it compounds over the accumulation period.
Caveat
Harvesting requires tracking your per-unit cost basis across folios. Use the FIFO method (first-in-first-out) which is the default in India. Gains from units held <12 months are STCG (20%) — only harvest LTCG (≥12 months). Consult a tax advisor for exact implementation.
NPS Annuity in Drawdown
At retirement, NPS rules force a portion of your corpus into an annuity — a fixed lifelong pension. This affects your drawdown in two ways: it reduces your liquid corpus and adds regular income.
PFRDA December 2025 rules (non-govt subscribers)
| NPS corpus at retirement | Annuity required | Tax on lump sum |
|---|---|---|
| ≤ ₹8L | None — 100% lump sum | Tax-free (EEE treatment) |
| > ₹8L | Minimum 20% must be annuitised | 60% of total corpus tax-free; extra 20% lump sum taxed at slab |
nps_annuity_corpus = nps_corpus_at_retirement × 0.20 (if corpus > ₹8L, else 0)
annuity_gross_income = nps_annuity_corpus × 6% (current market annuity rate)
annuity_post_tax = annuity_gross_income × (1 − 0.30) (30% slab for FIRE retirees)
≈ 4.2% of annuity corpus per yearliquid_corpus_for_drawdown = projected_corpus − nps_annuity_corpus
net_withdrawal_year_i = base_withdrawal_i − annuity_post_tax − post_fire_income
Why this matters
A ₹50L NPS corpus at retirement produces ~₹3.5L/year post-tax annuity income. That offsets ₹29K/month of withdrawals — reducing how fast your liquid corpus depletes. The tradeoff: annuity payouts are fixed for life (no inflation protection). Real purchasing power erodes ~6%/year. Model longer retirements conservatively.
Old vs New Tax Regime
The Income Tax card in the results panel computes both regimes using your actual portfolio contributions and shows which saves more tax this year.
New Regime (FY 2025-26)
taxable = gross_income − ₹75,000 (standard deduction)
Slabs: 0% up to ₹3L · 5% ₹3–7L · 10% ₹7–10L · 15% ₹10–12L · 20% ₹12–15L · 30% above ₹15L
87A rebate: if taxable ≤ ₹7L → tax = 0
Final tax = slab_tax × 1.04 (4% cess)
Old Regime (FY 2025-26)
deductions = ₹50,000 (std ded)
+ min(EPF_annual + PPF_annual, ₹1,50,000) [80C]
+ min(NPS_annual, ₹50,000) [80CCD(1B) — old regime only]
+ ₹25,000 [80D health insurance, approximated]taxable = gross_income − deductions
Slabs: 0% up to ₹2.5L · 5% ₹2.5–5L · 20% ₹5–10L · 30% above ₹10L
87A rebate: if taxable ≤ ₹5L → rebate up to ₹12,500
Final tax = slab_tax × 1.04 (4% cess)
When old regime wins
Old regime is better when your deductions exceed the standard deduction advantage of new regime. Maxing 80C (₹1.5L) + 80CCD(1B) (₹50K) gives ₹2L of deductions beyond ₹50K std ded — vs ₹75K std ded in new regime. Net extra deduction: ₹1.75L. At 30% slab that saves ₹52,500/year. At 20% slab: ₹35,000/year.
Family FIRE Mode
The Family FIRE tab projects a household corpus — two people potentially retiring at different ages, with shared expenses and combined portfolios.
Spouse corpus projection
spouse_years_to_fire = max(1, spouse_retirement_age − spouse_current_age)
spouse_corpus = FV( PV = spouse_portfolio_balance, r = weighted_return_of_spouse_accounts, n = spouse_years_to_fire, PMT = spouse_monthly_sip × 12 )
Household corpus
household_corpus = your_projected_corpus + spouse_projected_corpus
Each person is projected to their own retirement age using the standard FV formula. If retirement ages differ, the corpus values are added directly — no bridging adjustment is made to the corpus total, but the UI notes the bridge period.
Shared expenses assumption
The FIRE number is still calculated from your household monthly expenses. We do not split expenses between partners — the number represents what the household needs together. If you retire first, your corpus must sustain both of you until your partner retires.
Children cost tiers
Children are added in the Family section with a cost tier. Their monthly cost is added to total annual expenses and therefore increases your FIRE number. Three tiers:
| Tier | School type | Typical monthly cost range |
|---|---|---|
| Public | Government / aided school | Lower cost — basic school fees, activities, food |
| Private | Private CBSE/ICSE school | Mid-range — school fees, tuition, extracurriculars |
| Premium | International / top private | High cost — international school fees, multiple activities |
Each child progresses through 4 phases as they age (costs sourced from Metro India 2025 data):
| Phase | Child age | Cost driver |
|---|---|---|
| Pre-school | 0–5 | Daycare / nursery, basic needs |
| School | 6–14 | School fees, tuition, activities |
| Secondary | 15–17 | Board prep, extracurriculars, coaching |
| College | 18–22 | Tuition fees, hostel, living expenses |
child_annual_cost = current_phase_monthly × 12
total_family_expenses = base_expenses + Σ child_annual_cost + elder_care + dependents + healthcare
Home Loan Affordability Analysis
The Home Loan tool runs two analyses: affordability (can you take this loan?) and worth (should you?).
EMI calculation
r = annual_rate / 12 (monthly rate) n = tenure_months
EMI = P × r × (1 + r)^n / ((1 + r)^n − 1)
Affordability rules
| Rule | Threshold | Rationale |
|---|---|---|
| EMI-to-take-home | ≤ 40% of monthly take-home | RBI guideline; leaves room for expenses, SIP, emergency |
| Loan-to-income | ≤ 5× annual income | Standard bank underwriting limit |
| Down payment | ≥ 20% of property value | Limits principal; avoids PMI; forces genuine equity stake |
| Loan tenor | ≤ 20 years | Beyond 20 years, interest cost exceeds principal in most scenarios |
| Emergency fund | Intact after down payment | Down payment must not consume your safety net |
True monthly cost of ownership
true_monthly_cost = EMI + (maintenance_rate × property_value / 12) + (property_tax_rate × property_value / 12) + society_charges − tax_benefit_per_month (Section 24b interest up to ₹2L/yr, old regime only)
Rent vs buy break-even
For each year y:
buying_cost_y = cumulative EMIs + maintenance − equity_built
renting_cost_y = cumulative_rent × (1 + rent_inflation)^y
− opportunity_cost_of_down_paymentBreak-even year = first y where buying_cost_y < renting_cost_y
Opportunity cost of down payment
The down payment is not sunk — it has an alternative use. We model it as invested at 11% CAGR (Nifty 50 long-run). This is the 'true cost' of locking that money into property equity. This cost is included in the rent vs buy comparison to give an honest break-even year.
Couples Finance Split
The Couples Split tool models three philosophies for dividing shared household expenses between two partners. All three models take the same inputs — each partner's monthly take-home income and total shared monthly expenses — and produce different contribution splits.
Model 1 — 50/50 Split
The simplest model: each partner pays exactly half the shared expenses, regardless of income.
Each partner pays = Expenses ÷ 2
Left over (A) = Income_A − (Expenses ÷ 2) Left over (B) = Income_B − (Expenses ÷ 2)
Where Expenses = total shared monthly household expenses Income_A, Income_B = each partner's monthly take-home
Warning triggered if either partner's contribution > 80% of their income.
When to use 50/50
Works well when incomes are within ~20% of each other. Simple to track and requires no income disclosure. Can strain the lower earner significantly when incomes diverge.
Model 2 — Proportional Split (Income-Ratio)
Each partner contributes their income-share fraction of total expenses. The higher earner pays more in absolute terms but the same percentage of income.
Income ratio (A) = Income_A ÷ (Income_A + Income_B) Income ratio (B) = Income_B ÷ (Income_A + Income_B)
Contribution_A = Expenses × Income_ratio_A Contribution_B = Expenses × Income_ratio_B
Left over (A) = Income_A − Contribution_A Left over (B) = Income_B − Contribution_B
Where Income_ratio_A + Income_ratio_B = 1 (they sum to 100%)
When to use Proportional
Fairest model when incomes differ significantly. Each partner contributes the same percentage of their income, leaving both with proportionally similar financial breathing room.
Model 3 — Equal Guilt-Free Money
The most equitable model for large income gaps. The total household surplus (income minus expenses) is split equally so both partners end up with the samediscretionary money — eliminating the "I earn more so I have more fun money" dynamic.
Surplus = (Income_A + Income_B) − Expenses Equal fun money = Surplus ÷ 2
Contribution_A = Income_A − Equal_fun_money Contribution_B = Income_B − Equal_fun_money
Left over (A) = Left over (B) = Equal_fun_money
Where Surplus = total household money remaining after all shared expenses Equal_fun_money = each partner's equal share of discretionary income
Model is feasible only when Income_A ≥ Equal_fun_money
and Income_B ≥ Equal_fun_money
(i.e. neither partner contributes more than 100% of their income)When to use Equal Guilt-Free Money
Best for couples who value full financial equality regardless of earnings — common when one partner has taken a career break, is studying, or is early in their career. Becomes infeasible if one partner earns less than half the surplus; the tool warns when this occurs.
What the tool does not model (yet):joint savings goals, FIRE adequacy for each partner's individual corpus, debt asymmetry, tax optimisation across regimes, variable or freelance income, and net worth snapshots. These are planned additions. Always discuss financial arrangements with a financial advisor for complex situations.
Default Assumptions
Every default is a deliberate choice. Here is what we use and why:
| Assumption | Default | Rationale |
|---|---|---|
| Pre-FIRE return | 11% | Nifty 50 long-run CAGR (20-yr rolling) is 11–13%. We use 11% — lower bound — for a blended equity+debt portfolio. |
| Inflation | 6% | India's CPI long-run average. RBI targets 4% but actual has been 5–7%. Urban lifestyle inflation often higher. |
| Safe withdrawal rate | 3.5% | 4% is the US standard; 3.5% is more conservative for India's higher inflation and longer expected retirement. |
| Post-FIRE return | 8% | Conservative allocation in retirement (more debt). Smoothed return on a 60/40 or 50/50 equity/debt mix. |
| Salary growth | 8% | Approximate median salary growth for urban salaried India. Adjust lower for stable careers, higher for early-career growth. |
| Tuition inflation | 8% | Education costs in India have historically inflated 8–10% per year. Used for milestone projections. |
| Monte Carlo σ | 12% | Conservative equity standard deviation for a balanced post-FIRE portfolio. Nifty 50 actual ~20%. |
| Life expectancy | 85 | WHO India life expectancy at birth is ~70; at age 30 conditional expectancy is ~77–80. We use 85 for planning conservatism. |
| Healthcare inflation | 12% | Indian private hospital tariff inflation 2015–2025 average. Medical costs grow significantly faster than general CPI. |
Limitations & Disclaimers
Returns are not guaranteed. All projections assume a constant average return. Real markets have bear markets, lost decades, and sequence-of-returns risk that this calculator does not fully model (except in Monte Carlo).
Tax calculations are estimates.India's tax laws change frequently (the LTCG rate changed in the July 2024 Budget). The calculator applies the rules current at the time of writing. Always verify with a CA before making decisions.
We do not model portfolio rebalancing. A real portfolio would rebalance periodically, changing the return sequence. This calculator assumes static allocations throughout.
Sinking fund costs are illustrative. Replacement costs for vehicles, appliances, and electronics vary widely. Edit the defaults to match your actual expected costs.
US stocks are modelled in INR. US ETF/stock returns are an INR estimate (USD return + currency effect). Currency fluctuation, LRS limits (USD 250K/year), and PFIC/FBAR tax reporting obligations are not modelled.
This is not financial advice. This tool is for educational and planning purposes only. It does not constitute investment, tax, or legal advice. Consult a SEBI-registered investment advisor before making financial decisions.