How we calculate

Every number across the calculator, Labs, and tools is derived from the formulas below. Nothing is a black box. This includes the FIRE calculator, Mutual Fund Audit, SWP tax calculator, expense ratio drag, TMF yield, and other planning tools. 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%).

SWRCorpus multipleBest 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
The 4% rule was tested on US markets (1926–1994). India has higher inflation (avg ~6% vs ~3% US) and shorter equity history. We default to 3.5% and recommend Monte Carlo simulation to stress-test your specific scenario.

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 typeUsed forTax calculation
EEEEPF, PPF, SSY, Gold SGB (maturity), APY, ULIP (<₹2.5L premium), LICZero tax on withdrawal — Exempt at investment, growth, and withdrawal
EETNPS Tier 1PFRDA 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).
LTCGEquity MF, ELSS, Direct Stocks, REITs, Gold ETF, US ETF/StocksGains above ₹1.25L/year taxed at 12.5% (post July 2024 Budget). We apply 12.5% on (gross FV − total principal invested).
TaxableFD, Debt MF, NSC, KVP, SCSS, RBI Bonds, CryptoFD/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.
Tax estimates are illustrative. LTCG has an annual ₹1.25L exemption limit which we do not model over the drawdown period. Actual liability depends on withdrawal timing, indexation, and your tax bracket. Consult a CA for actual tax planning.

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
OutputWhat it means
Success ratePercentage of 500 scenarios where corpus survived to your life expectancy
p10 / p25 / p50 / p75 / p90Percentile corpus value at each year of retirement
Median corpus at age X50th-percentile corpus at your projected life span age
Median depletion ageIn 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.

CityDieselPetrol / CNGEV
Delhi10 years15 yearsNo restriction
All other metros (Mumbai, Bengaluru, Chennai, Kolkata, Hyderabad)15 years15 yearsNo 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

RuleThresholdWhy
20% downDown payment ≥ 20% of car priceLimits loan principal; forces meaningful equity from day one
4-year loanLoan tenure ≤ 4 yearsCars depreciate ~50% in 5 years — long loans create negative equity
10% EMITotal EMIs ≤ 10% of gross monthly incomeLeaves 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 + EMI Decoder

The Should You Buy It? tool is now a two-in-one decision tool. It first checks affordability (5 rules + 2 honest questions producing a 0–100 score), then — when you select EMI as the payment method — it embeds the full EMI decoder and shows a combined verdict.

Affordability scoring (0–100, lower = more affordable)

Scoring factorConditionPoints 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:

ScoreVerdict
0–15Strong Buy — financially sound, clear utility
16–30Buy — passes most checks, go ahead
31–50Maybe — review the failed rules first
51–70Don't Buy — multiple red flags
71–100Hard No — significant financial risk

EMI decoder (when financing)

When "EMI / financed" is selected, the tool embeds the full EMI decoder (same math as the standalone EMI tool). It extracts the effective annual rate, computes opportunity cost, and renders:

ComponentWhat it shows
EMI verdictGreat / Okay / Risky / Skip based on effective rate thresholds
Effective rateNewton-Raphson extraction — the true annual cost of "0% EMI"
Opportunity costWhat the EMI pool would grow to if invested at your return assumption
Combined insightSingle sentence connecting buy verdict + EMI verdict — e.g. "You can afford this, but the 18% rate makes paying cash smarter"

Not modelled: processing fees levied by the bank after disbursement, GST on processing fees (18%), pre-closure penalties, or subvention schemes where the manufacturer pre-pays interest to the lender.

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

MatchCondition
Fat FIREsurplus ≥ 50% of city monthly cost
Standardsurplus ≥ 0
Lean FIREshortfall ≤ 20% of city monthly cost
Shortfallshortfall > 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.

Cost estimates are indicative averages for 2025. Actual costs vary significantly by neighbourhood, lifestyle, and family size. Use these figures for directional planning only.

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.

Employer health cover does not count after FIRE. Group health insurance ends with employment. Budget for individual/family floater premiums as a post-FIRE expense from day one.

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
ParameterDefaultRationale
General inflation6%India long-run CPI average
Healthcare inflation12%India medical cost inflation (Apollo/Manipal hospital tariff data, 2015–2025)
Healthcare inflation has compounded at 12–14% per year in Indian private hospitals over the last decade. A ₹20,000/month healthcare budget today becomes ~₹62,000/month in 10 years and ~₹1.92L/month in 20 years at 12% inflation. Under-budgeting healthcare is the most common FIRE planning mistake for Indian retirees.

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 retirementAnnuity requiredTax on lump sum
≤ ₹8LNone — 100% lump sumTax-free (EEE treatment)
> ₹8LMinimum 20% must be annuitised60% 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 year
liquid_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.

Annuity rate assumption: 6%. Actual rates from LIC/SBI/HDFC Life annuity products vary between 5.5% and 7% depending on age at retirement and annuity type. Rates are locked at the time of purchase and cannot be renegotiated.

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 (Budget 2025, FY 2025-26)

taxable = gross_income − ₹75,000 (standard deduction)
Slabs:
  0%   up to ₹4L
  5%   ₹4L–₹8L
  10%  ₹8L–₹12L
  15%  ₹12L–₹16L
  20%  ₹16L–₹20L
  25%  ₹20L–₹24L
  30%  above ₹24L
87A rebate: if taxable ≤ ₹12L → rebate up to ₹60,000 (effective zero tax)
Surcharge (on tax after rebate):
  10%  taxable > ₹50L
  15%  taxable > ₹1Cr
  25%  taxable > ₹2Cr
  25%  taxable > ₹5Cr  (capped at 25% in new regime)
Final tax = (slab_tax − rebate + surcharge) × 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.5L–₹5L
  20%  ₹5L–₹10L
  30%  above ₹10L
87A rebate: if taxable ≤ ₹5L → rebate up to ₹12,500
Surcharge (on tax after rebate):
  10%  taxable > ₹50L
  15%  taxable > ₹1Cr
  25%  taxable > ₹2Cr
  37%  taxable > ₹5Cr  (37% in old regime)
Final tax = (slab_tax − rebate + surcharge) × 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. For incomes above ₹12L, new regime has zero tax (87A rebate) making it the clear winner for most salaried taxpayers with moderate deductions.

HRA and home loan interest (Section 24b) are not modelled. If you claim HRA or interest deduction on a home loan, the old regime advantage may be significantly higher. The displayed saving is a conservative lower bound. Consult a CA for actual tax planning.

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:

TierSchool typeTypical monthly cost range
PublicGovernment / aided schoolLower cost — basic school fees, activities, food
PrivatePrivate CBSE/ICSE schoolMid-range — school fees, tuition, extracurriculars
PremiumInternational / top privateHigh cost — international school fees, multiple activities

Each child progresses through 4 phases as they age (costs sourced from Metro India 2025 data):

PhaseChild ageCost driver
Pre-school0–5Daycare / nursery, basic needs
School6–14School fees, tuition, activities
Secondary15–17Board prep, extracurriculars, coaching
College18–22Tuition fees, hostel, living expenses
child_annual_cost = current_phase_monthly × 12
total_family_expenses = base_expenses + Σ child_annual_cost + elder_care + dependents + healthcare

Rent vs Buy Analysis

The Rent vs Buy 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

RuleThresholdRationale
EMI-to-take-home≤ 40% of monthly take-homeRBI guideline; leaves room for expenses, SIP, emergency
Loan-to-income≤ 5× annual incomeStandard bank underwriting limit
Down payment≥ 20% of property valueLimits principal; avoids PMI; forces genuine equity stake
Loan tenor≤ 20 yearsBeyond 20 years, interest cost exceeds principal in most scenarios
Emergency fundIntact after down paymentDown 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_payment
Break-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.

Coast FIRE

Coast FIRE is the corpus you need today such that, with zero further contributions, it grows to your full FIRE number by your target retirement age through compounding alone.

Coast FIRE number = FIRE_number ÷ (1 + r)^n
Where
  FIRE_number = target corpus (25× annual expenses at your SWR)
  r           = annual investment return (decimal)
  n           = years to retirement (retirementAge − currentAge)

India context

India's equity returns (Nifty 50 11–13% CAGR) make Coast FIRE highly compelling. A ₹50L corpus at age 35 growing at 12% for 25 years compounds to ₹8.5 Cr — enough for a comfortable Standard FIRE without a single additional rupee invested. Once you hit your Coast number, you can pivot to a lower-stress job, freelance, or take a sabbatical.

Barista FIRE

Barista FIRE is a reduced corpus target for people who plan to earn part-time income in retirement. The part-time income covers a portion of expenses, so the corpus only needs to fund the remaining gap.

Barista FIRE number = (Annual_expenses − Part_time_annual_income) × (100 ÷ SWR)
Where
  Annual_expenses        = total annual spending (base + sinking funds + milestones)
  Part_time_annual_income = expected annual income from gig/consulting/freelance work
  SWR                    = safe withdrawal rate (%)
Note: if Part_time_annual_income ≥ Annual_expenses, corpus = 0 (fully self-funded).

India context

India's gig economy makes Barista FIRE highly accessible. ₹20–30K/mo from freelance writing, design, tutoring, or consulting reduces your corpus need by ₹50–80L. Even a ₹15K/mo Substack or YouTube income meaningfully shifts the math. The calculator uses ₹30K/mo as a default illustrative part-time income — adjust to your realistic expectation.

Illiquid Asset Bridge

EPF, PPF, NPS Tier 1, SCSS, and APY are locked until specific ages (EPF/NPS until ~58, PPF until 15 years from account opening). If you plan to retire earlier than 58, your liquid assets must bridge the gap.

Bridge gap (years) = max(0, 58 − retirementAge)
Annual liquid needed = Annual_expenses × (1 + inflation)^yearsToRetirement
Liquid bridge corpus = Annual_liquid_needed × bridge_gap_years
                     (simplified; actual = PV of inflation-adjusted expenses over bridge period)
Liquid needed at retirement ≥ Liquid bridge corpus + ongoing liquid withdrawals after 58

Why this matters

If you retire at 45 with ₹3 Cr total corpus — but ₹1.5 Cr is in EPF/NPS locked until 58 — your liquid corpus is only ₹1.5 Cr. At ₹80K/mo expenses, that lasts roughly 15 years (to ~60). But 13 years without touching the illiquid portion (ages 45–58) means the liquid pool must fund the entire bridge period. The calculator shows this split in the Detailed Plan tab.

Dynamic Withdrawal — Guyton-Klinger Guardrails

The classic 4% SWR uses a fixed inflation-adjusted withdrawal every year regardless of portfolio performance. The Guyton-Klinger guardrails strategy starts at a higher initial rate but applies rules to cut or raise withdrawals dynamically, improving portfolio survival and allowing a higher starting spend.

Initial withdrawal rate: w₀ = 5% (or user-configured)
Each year:
  Current rate = annual_withdrawal / portfolio_value
Guard check (cut):
  if current_rate > w₀ × 1.20 → cut withdrawal by 10%
  ("Prosperity Rule" — spending too high relative to portfolio)
Guard check (raise):
  if current_rate < w₀ × 0.80 → raise withdrawal by 10%
  ("Poverty Rule" — portfolio outperforming; can spend more)
Inflation adjustment:
  if portfolio return last year < 0 → skip inflation adjustment that year
  ("Capital Preservation Rule" — preserve corpus in down years)

Guardrails vs fixed SWR

Research (Guyton & Klinger, 2006) showed that starting at 5–6% and applying guardrails achieves comparable or better portfolio survival rates to the rigid 4% rule, while allowing higher initial spending. The trade-off is variability — withdrawals can fluctuate ±10% year to year. For India, we model 5% initial rate with ±20% guardrail bands given higher equity volatility.

Should You EMI It? — EMI Cost Decoder

The Should You EMI It? tool decodes the true cost of any EMI offer — whether a zero-cost EMI, a standard loan, or a Buy Now Pay Later scheme.

What is included in the calculation

The tool models three EMI types:

EMI typeTrue cost driverWhat the tool reveals
Zero-cost EMIProcessing fee (typically 1–3% of product price)Effective annualised interest rate hidden inside the fee
Standard loan EMIQuoted flat rate or reducing-balance rateActual reducing-balance rate; total interest paid; total cost
Buy Now Pay Later (BNPL)Deferred-payment fee / interest after free periodTrue cost once fee structure is unwrapped

Zero-cost EMI: finding the effective rate

A "0% interest" EMI is not free — the lender charges a processing fee upfront that functions as prepaid interest. To find the true annual rate, we solve Newton-Raphson iteration on the loan equation:

Price = ProcessingFee + Σ [EMI / (1 + r)^t]   for t = 1 to n
Where:
  Price          = product price (loan principal)
  ProcessingFee  = upfront fee paid at purchase
  EMI            = Price / n  (equal instalments, no stated interest)
  n              = number of months
  r              = monthly effective rate (what we solve for)
Annualised effective rate = (1 + r)^12 − 1

Why Newton-Raphson?

There is no closed-form solution to extract the effective rate from a processing fee structure — the rate appears on both sides of the present-value equation. Newton-Raphson converges to the effective monthly rate in typically 10–20 iterations starting from an initial guess of 1%/month.

Standard EMI: reducing-balance rate

r   = annual_interest_rate / 12  (monthly rate)
n   = tenure_months
EMI = P × r × (1 + r)^n / ((1 + r)^n − 1)
Total interest = (EMI × n) − P
Total cost     = P + total interest

Opportunity cost of capital

If you have the cash to buy outright, using EMI has two costs: the interest/fees paid, and the returns foregone on the cash you keep invested. The tool models both:

FV_lump   = cash_price × (1 + r_invest)^(n/12) − (cash_price − total_emi_payments)
  [future value of investing the difference upfront]
FV_sip    = Σ [monthly_saving × (1 + r_invest)^(months_remaining)]
  [future value of investing EMI payments as a SIP]
Opportunity cost = max(FV_lump, FV_sip) − 0
  [approximate benefit of staying liquid vs paying cash]

EMI verdict thresholds

Effective annual rateVerdictInterpretation
< 8%Great dealBelow inflation-adjusted cost of money; cheaper than most alternatives
8–15%OkayModerate cost; worth it for essential purchases with genuine need
15–24%RiskyHigh effective rate; consider saving up instead
≥ 24%Skip itPredatory rate — you pay far more than the product is worth
What the EMI tool does not model: credit score impact of multiple EMIs, missed payment penalties, foreclosure charges, or the psychological debt burden of carrying multiple EMIs simultaneously. Always read the full loan agreement. For large purchases, compare with a personal loan rate from your bank.

Portfolio Simulator

The Portfolio Simulator (fourth tab in the calculator) is a standalone sandbox for modelling retirement drawdown. It does not write to your main plan — changes are local to the simulator tab only.

Deterministic projection

Each year in retirement:

withdrawal_yr = annualWithdrawal × (1 + inflation)^yr   // inflation-adjusted
afterWithdrawal = max(0, corpus − withdrawal_yr)
growth = afterWithdrawal × blendedReturn
corpus_next = afterWithdrawal + growth

Blended return

blendedReturn = (equity% × equityReturn) + (debt% × debtReturn) + (alt% × altReturn)

Glide path (optional)

When enabled, equity allocation decreases by 1 percentage point per year in retirement (floor: 20%), with debt absorbing the shift. Allocation is renormalised to 100% each year before computing the blended return.

Monte Carlo survival probability

500 simulated retirement sequences are run. Each sequence applies normally-distributed annual returns (mean = blended return, std dev = 14% for equity-heavy / 10% balanced / 7% defensive) with inflation-adjusted withdrawals. Survival % = fraction of runs where corpus stays positive through the planned lifespan.

Withdrawal modes

ModeFormulaWhen to use
ExpensesmonthlyExpenses × 12, grown by inflation each yearWhen you have a known spending target
SWR %corpus × SWR% at retirement, grown by inflationWhen you want to target a safe withdrawal rate (2–5%)

Ultra-safe floor

ultraSafeFloor = corpus × 2.5% / 12   // monthly equivalent at 2.5% SWR

The 2.5% SWR represents the maximum historically-resilient withdrawal rate across all global market conditions since 1900.

Family simulation

When spouse data is present (Family FIRE mode), the simulator shows a second strip with the combined household corpus (your projected corpus + spouse projected corpus) and runs 300 Monte Carlo simulations on the combined corpus using the same withdrawal and allocation settings as the individual simulation.

What the simulator does not model: sequence-of-returns risk in the accumulation phase, taxes on withdrawals (LTCG 12.5%, FD interest at slab rate), lock-in constraints (EPF/NPS until 58), partial rebalancing costs, or dynamic spending guardrails. Use it for directional what-if analysis, not as a precise financial forecast.

Real Rate of Return

The Real Rate of Return lab strips out both tax drag and inflation so you can see the actual change in purchasing power.

after_tax_return = nominal_rate × (1 − tax_rate)
real_return = ((1 + after_tax_return) / (1 + inflation_rate)) − 1
Where:
  nominal_rate      = quoted FD / PPF / MF / bond return
  tax_rate          = instrument-specific effective tax
  inflation_rate    = expected CPI / personal inflation
  real_return       = purchasing-power growth

Tax treatment is instrument-specific: PPF and SGB maturity gains are modelled as tax-free, equity funds use long-term capital gains assumptions, and fully taxable instruments such as FDs and savings accounts use your slab rate.

Expense Ratio Drag

The Expense Ratio Drag lab compares two identical portfolios where only the fund fee differs.

net_return_low_fee  = gross_return − ER_low
net_return_high_fee = gross_return − ER_high
FV = iterate yearly:
  corpus_next = corpus_current × (1 + net_return) + annual_sip
fee_drag = corpus_low_fee − corpus_high_fee

Why this compounds so hard

Expense ratio is not a one-time deduction. A 1% extra fee reduces this year's corpus, which then compounds from a smaller base forever. That is why a seemingly tiny TER gap turns into a multi-lakh difference over long horizons.

Post-Tax Safe Money

The Post-Tax Safe Money lab ranks low-risk instruments by what you actually keep after tax, then translates that into a real return.

post_tax_return_i = gross_rate_i × (1 − effective_tax_i)
real_return_i = ((1 + post_tax_return_i) / (1 + inflation_rate)) − 1
corpus_growth_i = ₹10,00,000 × (1 + post_tax_return_i)^years − ₹10,00,000

This is a ranking tool, not a risk-adjusted optimizer. The lab compares safe-money options on after-tax math alone; lock-in, liquidity, and mark-to-market volatility still matter in the final decision.

TMF Yield Lock-in

The TMF Yield Lock-in lab estimates what happens if you buy a Target Maturity Fund and hold it all the way to maturity.

maturity_value = investment × (1 + YTM)^years
gain = maturity_value − investment
tax_payable = gain × slab_rate
after_tax_value = maturity_value − tax_payable
post_tax_CAGR = (after_tax_value / investment)^(1 / years) − 1
real_CAGR = ((1 + post_tax_CAGR) / (1 + inflation_rate)) − 1

The lab also computes an FD comparator taxed annually at the same gross rate, so the displayed edge is primarily the value of tax deferral, not an assumption that TMFs are intrinsically higher-return products.

SWP Tax Deconstructor

The SWP Tax Deconstructor models a withdrawal stream as partial redemptions, where only the gain portion of each withdrawal is taxed.

gain_fraction = (NAV_withdrawal − purchase_NAV) / NAV_withdrawal
gain_on_withdrawal = withdrawal_amount × gain_fraction
Equity MF:
  year 1  → STCG tax = gain_on_withdrawal × 20%
  year 2+ → LTCG tax = max(0, gain_on_withdrawal − ₹1,25,000) × 12.5%
Debt / non-equity:
  tax = gain_on_withdrawal × slab_rate
net_withdrawal = withdrawal_amount − tax
This is a simplified annualised SWP model. It assumes a single purchase NAV, one effective withdrawal event per year for tax estimation, and a single annual LTCG exemption bucket. Real folio-level FIFO tax accounting will be messier.

VPF vs ELSS

The VPF vs ELSS lab compares the after-tax outcome of putting the same annual 80C amount into guaranteed provident-fund compounding versus equity-linked compounding with LTCG at redemption.

VPF corpus:
  corpus_next = (corpus_current + annual_80C) × (1 + EPF_rate)
ELSS corpus:
  corpus_next = (corpus_current + annual_80C) × (1 + equity_return)
ELSS after-tax corpus:
  total_gain   = gross_corpus − total_invested
  taxable_gain = max(0, total_gain − ₹1,25,000)
  LTCG_tax     = taxable_gain × 12.5%
  after_tax    = gross_corpus − LTCG_tax

Because both VPF and ELSS compete for the same Section 80C deduction, the tax-saving benefit at contribution stage cancels out in the comparison. The question the tool answers is: what is left at the end, after compounding and redemption tax?

Mutual Fund Audit

The Mutual Fund Audit lab combines live AMFI NAV history with return and fee math so you can inspect a fund before trusting the headline story.

Point-to-point CAGR

CAGR_n = (NAV_today / NAV_n_years_ago)^(1 / actual_years) − 1
Where:
  NAV_n_years_ago = nearest available NAV to the target lookback date
  actual_years    = exact year fraction between the two NAV points

The 1Y, 3Y, and 5Y figures are point-to-point returns from historical NAV series. They are not rolling returns, and they are not SIP returns.

Fee drag vs index

fund_FV  = investment × (1 + gross_return − TER_fund)^years
index_FV = investment × (1 + gross_return − 0.20%)^years
fee_drag = index_FV − fund_FV

Advanced FIRE SIP outcome inside MF Audit

For each month:
  corpus = (corpus + monthly_sip) × (1 + monthly_return)
Every 12 months:
  monthly_sip = monthly_sip × (1 + step_up)
real_corpus = nominal_corpus / (1 + inflation)^years
FIRE month = first month where:
  nominal_corpus ≥ target        [future-rupee mode]
  or
  real_corpus ≥ target           [today's-money mode]

When historical mode is used, the tool simulates a ₹10,000 monthly SIP using the loaded fund's NAV history, builds dated cash flows, and solves XIRR from those cash flows.

XNPV(r) = Σ cashflow_i / (1 + r)^(days_i / 365.25)
Solve for r such that XNPV(r) = 0
Historical SIP assumptions:
  contribution date = nearest available NAV on or after the 5th of each month
  window            = trailing ~5 years from latest NAV
  output            = annualised SIP XIRR
TER does not come from the free AMFI API and is entered manually. Historical SIP mode is explicitly backward-looking; it is a reality check on fund behaviour, not a prediction of future returns.

Averaging Down

The Averaging Down lab solves a position-sizing question: how many more shares do you need to buy at the current lower price to bring your average cost down to a target?

target_avg × (shares_owned + x) = current_investment + current_price × x
Solve for x:
  x = (current_investment − target_avg × shares_owned) / (target_avg − current_price)
Where:
  current_investment = avg_buy_price × shares_owned
  x                  = additional shares required

The tool then rounds shares up to a whole number, computes the additional capital required, and shows how much the break-even recovery percentage falls after the new purchase.

Lumpsum vs STP

The Lumpsum vs STP lab compares immediate deployment into equity with parking the money in a liquid fund and transferring it gradually.

Lumpsum:
  final_value = amount × (1 + equity_monthly_return)^(horizon_months)
STP:
  monthly_transfer = amount / stp_months
For each month:
    liquid_balance = liquid_balance − transfer
    equity_balance = equity_balance + transfer
    liquid_balance = liquid_balance × (1 + liquid_monthly_return)
    equity_balance = equity_balance × (1 + equity_monthly_return)
stp_final = liquid_balance + equity_balance
advantage = lumpsum_final − stp_final

What this lab is actually measuring

STP is not a magic return enhancer. It is an emotional-risk management tool. The cost of that caution is the foregone time in equity, which is exactly what this simulator quantifies.

Default Assumptions

Every default is a deliberate choice. Here is what we use and why:

AssumptionDefaultRationale
Pre-FIRE return11%Nifty 50 long-run CAGR (20-yr rolling) is 11–13%. We use 11% — lower bound — for a blended equity+debt portfolio.
Inflation6%India's CPI long-run average. RBI targets 4% but actual has been 5–7%. Urban lifestyle inflation often higher.
Safe withdrawal rate3.5%4% is the US standard; 3.5% is more conservative for India's higher inflation and longer expected retirement.
Post-FIRE return8%Conservative allocation in retirement (more debt). Smoothed return on a 60/40 or 50/50 equity/debt mix.
Salary growth8%Approximate median salary growth for urban salaried India. Adjust lower for stable careers, higher for early-career growth.
Tuition inflation8%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 expectancy85WHO India life expectancy at birth is ~70; at age 30 conditional expectancy is ~77–80. We use 85 for planning conservatism.
Healthcare inflation12%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.