Tool 4

Investment calculators · Periodic cash flows

IRR Calculator

Find the internal rates of return for equally spaced cash flows. Exact root counting distinguishes multiple rates, repeated roots and a proved absence of admissible solutions.

Rates are per selected period, not silently annualized. Unequal dates, automatic tax/FX adjustments and personalized investment recommendations are outside this model.

Preparing calculator…

Periodic cash flows and actions

Cash flows in time order

Period 0 is now; later entries are one equal interval apart. Negative means money paid, positive means received. Enter 0 explicitly for a period with no cash flow.

Formatting only; no FX conversion or financial network request.

Results are per selected period. Monthly rates are not silently annualized. Unequal dates require a different model.

2–25 amounts, absolute maximum 10^12 each, up to 8 decimal places. Ungrouped decimal point; blanks, dates, NaN and scientific notation are not accepted. Text keyboards allow minus signs.

IRR per year

Enter every period, then calculate, or load a verified example. Solver code loads locally on first calculation.

Exact integer root counting; 50-digit decimal conversion and half-even display rounding. Arithmetic, size, subdivision and worker limits fail as inconclusive. Inputs stay in browser memory. After the solver loads, calculation works offline.

Understand the root count

One guessed rate can conceal another answer. This tool reports every distinct admissible real root when isolation completes, flags repeated roots, and shows inconclusive rather than a partial result if it reaches a resource limit.

Read the complete IRR guide

Formula and methodology

NPV(r) = Σ[t=0…n] C_t / (1+r)^t = 0
x = 1/(1+r) > 0; P(x) = Σ C_t x^t
Displayed IRR (%) = 100r per period

C_t is the signed flow at period t. Period 0 is now and is not discounted. Payments are negative, receipts positive. Only finite real rates greater than −100% are admissible here. Exact integer polynomial arithmetic, square-free reduction and Sturm sign variations count and isolate positive discount-factor roots. A GCD check detects repeated roots. Successful isolation covers every admissible root; no guessed preferred rate is selected.

Verified worked examples

−100 now and +110 one period later: −100 + 110/1.1 = 0, giving 10% per period. With monthly spacing it is a monthly rate. For −100, +230, −132, both 10% and 20% make NPV zero: −100 + 230/1.1 − 132/1.1² = 0; −100 + 230/1.2 − 132/1.2² = 0.

−100, +200, −100 gives −100(x−1)²: one distinct 0% IRR with a repeated root. −100, +50, −100 has no real IRR because the polynomial discriminant is negative. All-zero flows are indeterminate, not a 0% answer. Keeping a zero matters: −100, 0, +121 gives 10%, while −100, +121 gives 21% per period.

Inputs and interpretation

  1. Choose one currency display and one equal interval. No FX conversion occurs.
  2. Enter every signed cash flow in time order, including explicit zero amounts. Do not omit an elapsed period.
  3. Add up to 25 entries. Removing the last period changes the timeline and clears the previous result.
  4. Calculate in the local worker. Editing, clearing or cancelling invalidates active work; old responses cannot overwrite the new scenario.
  5. Read the category first: roots, no admissible root, indeterminate, invalid or inconclusive. Multiple roots mean no unique IRR.

A large IRR does not establish low risk, causal benefits or the best use of capital. Changing every sign leaves the roots unchanged while reversing the perspective. Compare cash amounts, timing and relevant alternatives alongside any rate.

Assumptions and numerical limits

2–25 entries, each absolute magnitude at most 10^12, up to 8 fractional places and 32 characters. Zero and negative amounts are valid; missing values, grouping separators, scientific notation, dates, NaN and Infinity are rejected. All flows use the same equally spaced interval and currency basis. No day counts, annualization, reinvestment, inflation, automatic tax or fee calculations.

The exact solver has 200,000 counted arithmetic operations, an 8,192-bit monitored integer limit and 4,096 subdivisions. The worker has a five-second deadline. Exhaustion or loading failure produces inconclusive, never a claim of no IRR or a partial rate list. On success, refinement checks 10^−10 percentage-point interval width, 10^−16 relative discount-factor width and near-zero sign/relative resolution. Conversion uses 50 significant digits and half-even display rounding. Very close distinct rates can look equal at low display precision; the distinct-root count remains visible.

Financial amounts stay in browser memory, including worker messages. Solver assets load on first calculation; after loading, the worker can calculate offline. No main-thread or server fallback submits financial data. Independent CAS reference checks do not imply professional financial review or formal verification. Educational use only.

Frequently asked questions

What period does the IRR percentage represent?
It is per selected equal interval: year, month or unspecified period. Changing the interval label clears the old result. Monthly IRR is not silently annualized.
How should I enter a period with no cash flow?
Enter 0 explicitly. A blank is missing information and is rejected. Removing a period shifts later flows earlier and can change the IRR.
Why are several rates shown?
The entered periodic polynomial can have multiple distinct positive discount-factor roots. Every admissible rate is listed when isolation completes; no preferred rate is chosen.
What does a repeated-root warning mean?
A rate can be a repeated polynomial root even when it is the only distinct IRR. It may touch zero without changing sign; exact square-free and GCD handling detects that case.
Is inconclusive the same as no IRR?
No. Inconclusive means a resource, loading or worker limit prevented a certified complete answer. No IRR is reported only after exact counting proves no admissible root.
Are my cash flows sent, stored or used for exchange rates?
No financial amounts are sent or saved by the application or placed in URLs. Local worker assets load on first use; market selection only changes display formatting. Clear values removes the scenario.

Sources and related methods

Source and methodology review: . No guaranteed returns or personalized advice.

Find a financial tool