Methodology
Every formula this site uses, written out. If our number differs from another calculator's, the reason is almost always one of the timing or compounding conventions below — so you can find the discrepancy instead of guessing at it.
Monthly SIP
FV = P × [ ((1 + r)n − 1) ÷ r ] × (1 + r)
P is the instalment, r is the annual rate ÷ 12 ÷ 100, n is years × 12.
Convention: annuity-due. The trailing (1 + r) exists because a real
mandate debits at the start of the month, so each instalment earns one extra month of
return. Calculators that assume end-of-month (annuity-ordinary) drop that factor and report roughly
1% less over ten years. Neither is wrong; ours matches how a SIP actually debits.
When r is zero the formula is undefined, so the code falls back to P × n.
The year-by-year table is generated by iteration —
value = (value + P) × (1 + r) each month — which is algebraically identical to the
closed form. Both are computed and cross-checked against each other in the test suite, so the
headline figure and the table can never disagree.
Step-up SIP
No clean closed form exists, so this is iterated month by month with the instalment multiplied by
(1 + g) every twelfth month, where g is the step-up percentage ÷ 100.
Convention: the rise happens once a year, on the anniversary — not monthly. Some calculators apply the increase every month, which inflates the result substantially. Set the step-up to 0% and the result matches the plain SIP formula exactly; that is the check.
Lump sum and compound interest
Lump sum: FV = P × (1 + r)t, annual compounding, r as a decimal, t in
years.
General compounding: FV = P × (1 + r ÷ m)m × t, where m is compounding
periods per year. The compound interest
calculator adds a monthly-contribution annuity to this and reports the two components
separately.
Note on nominal versus effective. 12% compounded monthly is 12.68% effective annually. The SIP calculator's rate input is nominal-with-monthly-compounding; the lump sum's is effective annual. This is the single most common source of confusion between calculators, and it is also why an XIRR on a 12%-modelled SIP comes back near 12.68%.
Inflation and real returns
Real value: real = nominal ÷ (1 + i)years
Real rate: ((1 + nominal) ÷ (1 + inflation)) − 1, the Fisher relation — a division,
not the common subtraction shortcut. At 12% and 6% the correct figure is
5.66%, not 6%.
Inflated goal: future cost = today's cost × (1 + i)years
Goal solving
Required SIP is the exact algebraic inverse of the SIP formula:
P = FV ÷ ( [ ((1 + r)n − 1) ÷ r ] × (1 + r) ). Feeding the output back into
the forward calculator reproduces the target to the rupee, and the test suite asserts that
round-trip.
Required time is solved by binary search over whole months, returning the first month at which the target is met. Searching over fractional years would report a meaningless figure like "9.958 years" when the real answer is 120 months.
XIRR
XIRR solves for the rate that zeroes the net present value of dated cash flows:
Σ CFk ÷ (1 + rate)dk ÷ 365 = 0
where dk is days from the first cash flow. Solved with Newton–Raphson from an initial guess of 0.1, falling back to bisection over [−0.9999, 10] if the derivative degenerates or the iteration diverges. This is the same equation a spreadsheet's XIRR function solves.
Convention: a 365-day year and an effective-annual result. Because months are not all the same length, reconstructing a growth path from an XIRR introduces a drift of under a tenth of a percent.
PPF, FD, RD and NPS
PPF — one deposit a year, compounded annually, credited at year end; modelled as an annual annuity-due. In reality interest is computed on the lowest balance between the 5th and month end, so a deposit made late in the month earns nothing for it. The calculator assumes the optimal pattern of one deposit at the start of the year.
FD — M = P × (1 + r ÷ m)m × t, defaulting to m = 4
(quarterly), the Indian bank convention.
RD — each instalment compounds quarterly for its own remaining term:
M = Σ P × (1 + r ÷ 4)(n − k + 1) ÷ 3, summed over the n monthly instalments.
Banks differ on rounding within each quarter, which accounts for small differences against a bank's
own quote.
NPS — accumulation uses the monthly SIP formula; the corpus is then split with
the annuity share clamped to a 40% statutory minimum, and the pension is
annuity corpus × annuity rate ÷ 12. This is a simple level annuity, not an
inflation-indexed or joint-life one.
Retirement corpus
Two stages. Expenses inflate to the retirement date:
monthly at retirement = today's monthly × (1 + i)years to retire.
The corpus required is the present value at retirement of an annuity that itself grows with
inflation, discounted at the post-retirement return. Working in the real rate
rr = ((1 + post) ÷ (1 + i)) − 1 collapses that to an annuity-due present value:
corpus = A × [ (1 − (1 + rr)−n) ÷ rr ] × (1 + rr)
where A is the annual expense at retirement and n the years in retirement. When rr is
approximately zero the code uses A × n. Existing savings are grown at the
pre-retirement rate and subtracted to give the gap the SIP must fill.
What this does not model: sequence-of-returns risk, medical inflation above general CPI, tax on withdrawals, or any bequest.
Default assumptions, and why
Every one of these is editable on the page. They are starting positions, not claims.
| Input | Default | Why |
|---|---|---|
| Equity return | 12% | The conventional figure for Indian equity funds over long periods. Test 9–10% too. |
| Inflation | 6% | Close to India's CPI average over the past decade; the RBI targets 4% ± 2. |
| Debt / FD / RD | 7% | Broadly current deposit territory. Bank- and tenure-specific in reality. |
| PPF | 7.1% | A placeholder. Government revises small-savings rates quarterly — check before use. |
| NPS return | 10% | Below equity, because NPS caps equity exposure and blends in bonds. |
| Annuity rate | 6% | Indicative. You will buy at whatever rates exist decades from now. |
| Post-retirement return | 7% | Lower than accumulation, reflecting a more conservative portfolio. |
| Step-up | 10% | Roughly a typical annual salary increment. |
| Daily SIP days | 250 | Market days, not calendar days — a SIP cannot transact at a weekend. |
What no calculator here accounts for
The gap between a model and reality
Expense ratios, exit loads, securities transaction tax, stamp duty, tracking error, tax on gains unless a page says otherwise, and — most importantly — volatility. Every projection uses one constant rate. Real returns arrive as a lumpy sequence, and while the order does not change a lump sum's final value, it matters enormously once you are withdrawing.
Costs alone typically shave 0.5 to 2 percentage points off a fund's gross return. If you want a figure net of costs, subtract the expense ratio from the return you enter.
Rounding and precision
All arithmetic runs in full double precision. Rounding happens only at display time, never mid-calculation, so a chain of figures cannot accumulate rounding drift.
Rupee amounts display with no decimals. Rates display to two. Indian rupee formatting uses lakh and crore grouping; other currencies use standard thousands.
The formulas above are implemented in sip-engine.js, which ships with a test suite
(sip-engine.test.js) asserting the reference cases, the algebraic round-trips, and the
zero-rate edge cases. You can run it with node sip-engine.test.js.
Where these numbers come from
- Reserve Bank of India — monetary policy framework and CPI series
- MoSPI — official Consumer Price Index
- National Savings Institute — notified small-savings rates including PPF
- NPS Trust — NPS withdrawal and annuity rules
- Income Tax Department — capital gains and deduction rules