Private savings calculator
With national income of 10,000, taxes of 2,000 and consumption of 6,500, disposable income is 8,000 and private savings come to 1,500. It is the residual left to households and firms after net taxes and consumption. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- National income
- 10,000
- Taxes
- 2,000
- Consumption
- 6,500
- Disposable income
- 8,000
- Private savings
- 1,500
Private savings is the residual of national income after net taxes and consumption spending. Students, tutors, and analysts need a deterministic calculator that never silently treats a missing tax total as zero or a non-numeric consumption figure as a valid run. Dissaving is allowed: when consumption exceeds disposable income the result is negative, which is economically valid.
What private savings means in national-income accounting
Private savings in national-income accounting is not a piggy-bank deposit, a savings-account balance, or the months needed to reach a personal goal. National income Y is the period total of wages, profits, rents, and other factor payments available to the private sector in the study model. Taxes T are net taxes — taxes paid minus transfers received — so a period with large transfers can show a small or even negative T.
Consumption C is private consumption spending on goods and services, the C in the familiar expenditure identity. Disposable income is the intermediate Y minus T; private savings is that disposable total minus consumption. The identity is an accounting remainder, not a behavioral consumption function: it does not estimate a marginal propensity to consume, and it does not need interest rates, wealth, or expected income.
Worked example: national income of ten thousand, taxes of two thousand, and consumption of six thousand five hundred yields disposable income of eight thousand and private savings of one thousand five hundred. Another example: national income of five hundred, taxes of eighty, and consumption of four hundred fifty yields disposable income of four hundred twenty and private savings of negative thirty — dissaving, which this calculator returns rather than clamping to zero.
Public savings T minus G and national savings Y minus C minus G are related identities that live on other landings; this page answers only the private-sector residual from national income, taxes, and consumption.
Where a private savings calculator earns its keep
Introductory macroeconomics courses assign Y − T − C problems because students must distinguish private savings from public savings and from national savings before they meet IS-LM or a consumption function. Tutoring platforms and LMS plugins need a deterministic oracle that rejects a missing or infinite tax total instead of silently inventing a residual that a buggy grader might accept. Research assistants building small historical tables from published national-income, net-tax, and consumption series want disposable income and private savings without rebuilding the arithmetic in every spreadsheet.
Pair this capability with a national-income-from-GDP bridge when you need to start from GDP rather than Y, and with a separate public-savings tool when government spending G is in play; keep this surface focused on the private residual.
What you can do with it
Homework and exam identity checks
Students enter national income, net taxes, and consumption and verify disposable income and private savings against textbook closed-economy tables.
Macro notebooks and teaching demos
Compute the private-sector residual for slides or small historical series without rebuilding Y − T − C in a spreadsheet each semester.
FAQ
How is private savings calculated from national income?
Private savings equals national income minus taxes minus consumption (S = Y − T − C). This calculator also returns disposable income as Y − T so you can check the intermediate step.
Can private savings be negative?
Yes. When consumption exceeds disposable income the residual is negative (dissaving). That is a valid accounting result and is returned, not treated as an error.
What counts as taxes in this formula?
The field may be negative when transfers exceed tax receipts.
Is this the same as a household savings-goal calculator?
No. This page computes the national-accounts identity S = Y − T − C. It does not project months to a personal savings target or days of piggy-bank deposits.
How is private savings different from public and national savings?
Private savings is what households and firms keep after net taxes and consumption. Public savings is taxes minus government spending, and national savings is income minus consumption minus government spending. This page calculates only the private part.
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/private-savings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"national_income":10000,"taxes":2000,"consumption":6500}'const res = await fetch("https://api.kit.forhosting.com/fin/private-savings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"national_income": 10000,
"taxes": 2000,
"consumption": 6500
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/private-savings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"national_income": 10000,
"taxes": 2000,
"consumption": 6500
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/private-savings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"national_income":10000,"taxes":2000,"consumption":6500}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"national_income":10000,"taxes":2000,"consumption":6500}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/private-savings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"national_income": 10000,
"taxes": 2000,
"consumption": 6500
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.private_savings",
"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
In the closed-economy identity taught in every principles of macroeconomics course, private savings equals national income minus taxes minus consumption: households and firms keep what they do not pay in net taxes and do not spend on consumption goods and services. This private savings calculator accepts three finite numbers — national income, taxes, and consumption spending — returns total private savings together with disposable income, and fails with invalid_input when any field is missing or is not a finite number. Successful API calls use the published $0.002 base price; failed validation is not billed.
What private savings means in national-income accounting
It is the residual of the household-and-firm sector after net taxes and consumption: private savings equals national income minus taxes minus consumption, written S_private = Y − T − C.
Input contract, response shape, and validation behaviour
Prefer bare numbers over formatted strings; currency marks, thousands separators, and trailing unit labels are not parsed. Example: national income ten thousand, taxes two thousand, consumption six thousand five hundred yields disposable income eight thousand and private savings one thousand five hundred. POST a JSON body with three required finite numbers in the same currency units and the same period: national_income, the national-income aggregate Y; taxes, net taxes T (taxes minus transfers, any finite sign); and consumption, private consumption spending C. Textbook aliases y, income, and ni map to national_income; t, tax, and net_taxes map to taxes; c, consumption_spending, and household_consumption map to consumption, so a form or spreadsheet export can reuse familiar labels. Each field may arrive as a JSON number or as a numeric string. Missing fields, empty strings, objects, arrays, infinities, and non-numeric text fail with invalid_input naming the field — those failures are not billed. There is no clamp on the sign of the residual: a period of dissaving is a successful result with a negative private_savings figure. On success the body echoes the three rounded inputs, returns disposable_income as national income minus taxes, returns private_savings as that disposable total minus consumption, and includes a formula string set to private_savings = national_income - taxes - consumption. Failed validation is never billed; only successful API tasks consume prepaid balance at the published base rate of $0.002.
Where a private savings calculator earns its keep
Pin the rounded private_savings and disposable_income fields in tests, keep all three inputs finite, and you get reproducible national-accounts figures for homework, exam generators, and lightweight macro notebooks without standing up a full statistical-agency pipeline.
Integration use cases
LMS and tutoring auto-grading
Score S = Y − T − C items with a deterministic oracle that rejects missing or non-finite inputs as invalid_input and allows negative dissaving.
Technical questions
What does the private savings calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.