Fisher equation calculator
With a 5% nominal rate and 3% expected inflation, the real interest rate is 1.94174757%, while the quick subtraction says 2%. You see both side by side, from rates typed as plain percents. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Nominal rate
- 5
- Expected inflation
- 3
- Real rate
- 1.94174757
- Real rate decimal
- 0.0194174757
- Approximate real rate
- 2
The Fisher equation links a quoted nominal interest rate to the real rate that remains after expected inflation. Irving Fisher's identity says that one plus the nominal rate equals one plus the real rate times one plus expected inflation, so the real rate is the growth of purchasing power, not the number printed on a deposit, a loan, or a bond coupon. This Fisher equation calculator accepts a nominal rate and an expected inflation rate as percents, applies the exact identity, and returns the real interest rate together with the linear approximation that simply subtracts inflation from the nominal quote.
What the Fisher equation means and how the real rate is obtained
The Fisher equation is the identity that converts a quoted nominal interest rate into a real rate of return after expected inflation. Rearranged for the unknown that households, lenders, and exam questions actually want, the real rate is r = (1 + i) / (1 + π) − 1. That exact form is not the same as subtracting inflation from the nominal quote.
Rates are entered as percents: five means five percent, not 0.05. Zero expected inflation leaves the real rate equal to the nominal rate, which is the honest identity check. Expected deflation (a negative inflation input) raises the real rate above the nominal quote, because falling prices increase the purchasing power of a given interest payment.
The identity is one-period and does not compound across years; it answers what real yield is implied by one quoted nominal rate and one expected inflation figure you already have.
Where a Fisher equation calculator earns its keep
Loan officers and mortgage desks comparing a quoted APR with expected consumer-price inflation can post the two percents and quote the exact Fisher real rate instead of the linear shortcut that overstates the real burden when inflation is high. Corporate finance teams that set a real hurdle rate for a project often start from a nominal cost of capital and an inflation assumption; this identity is the one-line conversion that keeps the real discount rate consistent with the nominal cash-flow convention.
Economics instructors teaching the distinction between nominal and real interest can seed classroom examples at three percent versus ten percent inflation and can demonstrate the hard fail when someone types a nominal rate of minus one hundred percent. Failed validation does not consume balance. Distinct search intent from a Fisher ideal price index, a remaining buying-power tool, or a generic inflation calculator: those pages do not answer what real interest rate the Fisher equation implies from this nominal rate and this expected inflation.
What you can do with it
Deposit and loan real-yield checks
Convert a quoted savings rate or APR and an expected inflation percent into the exact Fisher real rate a household actually earns or pays.
Classroom Fisher identity drills
Let students submit nominal and inflation percents, compare the exact real rate with the i minus π shortcut, and see the hard fail at −100% nominal.
Real hurdle rates for project appraisal
Turn a nominal cost of capital and an inflation assumption into a consistent real discount rate without a full cash-flow model.
FAQ
How does the exact Fisher equation differ from subtracting inflation?
The shortcut r ≈ i − π ignores the cross term rπ. The exact identity is r = (1 + i)/(1 + π) − 1. Both values are returned so you can see how far the approximation drifts at high inflation.
How do I calculate the real rate with the Fisher equation?
Turn both percents into fractions, add one to each, divide the nominal figure by the inflation figure and subtract one. Multiplying by 100 gives the real rate as a percent, which is how the result is shown.
Do I enter the rates as percents or decimals?
As percents: type 5 for 5%, not 0.05. Both the nominal rate and expected inflation follow the same rule, and each must stay above minus 100%.
What happens if I expect deflation?
Enter a negative inflation rate. Falling prices raise the purchasing power of each interest payment, so the real rate comes out above the nominal rate. With zero inflation, the real rate equals the nominal one.
Does the Fisher equation compound over several years?
No. It is a one-period identity: one nominal rate and one expected inflation figure give one real rate. For several years, apply it to each period's rates or use a tool that compounds.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/fisher-equation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nominal_rate":5,"expected_inflation":3}'const res = await fetch("https://api.kit.forhosting.com/fin/fisher-equation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nominal_rate": 5,
"expected_inflation": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/fisher-equation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nominal_rate": 5,
"expected_inflation": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/fisher-equation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nominal_rate":5,"expected_inflation":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nominal_rate":5,"expected_inflation":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/fisher-equation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"nominal_rate": 5,
"expected_inflation": 3
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.fisher_equation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
When the nominal rate is minus one hundred percent or less, one plus the nominal rate is not positive and the identity is undefined; the task fails with invalid_input instead of returning infinity.
What the Fisher equation means and how the real rate is obtained
Irving Fisher wrote that one plus the nominal rate equals the product of one plus the real rate and one plus expected inflation: (1 + i) = (1 + r)(1 + π). The popular shortcut r ≈ i − π drops the cross term rπ, which is small at everyday rates and large when inflation is high; this calculator returns both the exact real rate and that linear approximation so you can see the gap on the same payload. A worked case of five percent nominal and three percent expected inflation yields r = 1.05 / 1.03 − 1, or about 1.94174757 percent, while the shortcut yields two percent.
Input contract, response shape, and error behaviour
Keep both rates finite and strictly above −100, pin the rounded fields in tests, and you get a reproducible real rate for widgets, notebooks, and automations. POST a JSON body with two required finite numbers: nominal_rate, the quoted or contractual interest rate as a percent (aliases nominal, i, interest_rate, nominal_interest); and expected_inflation, the expected inflation rate as a percent (aliases inflation, inflation_rate, pi, expected_inflation_rate). Each field may arrive as a JSON number or as a numeric string. Missing fields, empty strings, booleans, and non-finite values fail with invalid_input naming the field and are not billed. If expected inflation is −100 percent or less, the denominator 1 + π is not positive and the request is likewise invalid_input rather than a divide-by-zero. On success the body echoes nominal_rate and expected_inflation; returns real_rate as a percent rounded half-up to eight decimal places; returns real_rate_decimal as the same quantity in decimal form; returns approximate_real_rate as the percent shortcut nominal minus inflation; and includes a formula string restating r = (1 + i) / (1 + π) − 1. Pair the result with your own inflation forecast or CPI path; this endpoint does not look up a consumer-price index or a policy-rate series.
Technical questions
How do I compute the real interest rate with the Fisher equation?
Send finite percents for nominal_rate and expected_inflation, each greater than −100. The API returns r = (1 + i)/(1 + π) − 1 as real_rate (percent) and real_rate_decimal, plus the linear shortcut as approximate_real_rate.
What happens if the nominal rate is −100% or less?
The task fails with invalid_input. At −100% or below, 1 + i is not positive, so the Fisher identity is undefined and the call is not billed.
Should I enter rates as percents or as decimals?
As percents: five means 5%, not 0.05. The same convention applies to expected_inflation. The response reports real_rate in percent and real_rate_decimal in decimal form.
What does the Fisher equation calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.