Business valuation calculator
A coffee shop with 120,000 of yearly earnings and a 3.5 times multiple is estimated at 420,000. Enter a representative year of earnings and the multiple buyers pay in your industry for a first asking range. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Annual earnings
- 120,000
- Multiplier
- 3.5
- Estimated value
- 420,000
A business valuation from annual earnings and an industry multiplier is the times-earnings method: estimated company value equals a representative year of earnings times the multiple that buyers in that industry actually pay. Owners, brokers, lenders, and buyers use this identity as a first-pass check before a discounted-cash-flow model or a full quality-of-earnings review. This business valuation calculator accepts annual earnings in one currency unit and a strictly positive industry multiplier, multiplies them, and returns the estimated company value with the formula shown beside the result.
How times-earnings valuation turns earnings and a multiple into company value
The times-earnings method, also called an earnings multiple or industry-multiple valuation, estimates what a going concern is worth by multiplying a representative year of earnings by the multiple that comparable buyers pay in that industry. Annual earnings can be seller's discretionary earnings for a Main Street shop, EBITDA for a mid-market manufacturer, or net operating profit for a professional firm — the calculator does not restate the books; it takes the number you already trust and applies the multiple.
A coffee shop with one hundred twenty thousand of seller's discretionary earnings and a three-point-five times Main Street multiple is estimated at four hundred twenty thousand in the same currency. A software product line with eight hundred thousand of EBITDA and a ten times software multiple is estimated at eight million. The multiple is not a tax rate and not a percent: three-point-five means three and a half years of those earnings, not three-point-five percent.
You supply both numbers; the calculator multiplies them and rounds the money figures half-up to cents so goldens compare byte-for-byte. This is a first-pass market multiple, not a discounted-cash-flow model, not an asset appraisal, and not a fairness opinion. It does not forecast growth, apply a discount rate, subtract net debt, or adjust for working capital.
Pair the result with your own capital-structure and quality-of-earnings work if you need enterprise value versus equity value.
What you can do with it
Owner asking-price range
Turn last year's seller's discretionary earnings and a published industry multiple into a first asking range before you hire a broker.
Lender and investor cross-checks
Pin a times-earnings company value next to a discounted-cash-flow case so credit and investment memos share one market-multiple number.
FAQ
How is estimated company value calculated?
The multiple is a times-earnings factor (3.5 means 3.5 times earnings), not a percent. Money figures round half-up to cents.
What happens if the multiplier is zero or negative?
A non-positive industry multiple cannot value a company, and those failures are not billed.
What should I enter as annual earnings?
The earnings definition that matches the multiple you are applying: seller's discretionary earnings for many Main Street sales, EBITDA for mid-market comps, or net profit when that is what the published multiple uses. The calculator does not restate the books.
Is this a discounted-cash-flow or asset-based valuation?
Neither. It is a times-earnings (industry-multiple) estimate: one year of earnings times a strictly positive multiple. It does not forecast cash flows, apply a discount rate, or appraise tangible assets.
Is a business valuation multiple of 3.5 a percentage?
No. A multiple of 3.5 means three and a half years of those earnings, not 3.5 percent and not a tax rate. That is why it is applied by multiplying the earnings, which turns 120,000 into 420,000.
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/business-valuation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"annual_earnings":120000,"multiplier":3.5}'const res = await fetch("https://api.kit.forhosting.com/fin/business-valuation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"annual_earnings": 120000,
"multiplier": 3.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/business-valuation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"annual_earnings": 120000,
"multiplier": 3.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/business-valuation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"annual_earnings":120000,"multiplier":3.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"annual_earnings":120000,"multiplier":3.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/business-valuation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"annual_earnings": 120000,
"multiplier": 3.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.business_valuation",
"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
A multiplier that is zero, negative, or not a finite number is rejected with invalid_input and is not billed, because a non-positive multiple does not define a market price.
How times-earnings valuation turns earnings and a multiple into company value
The identity is estimated_value equals annual_earnings times multiplier. Typical published ranges run from about one-and-a-half to four times seller's discretionary earnings for small owner-operated businesses, four to eight times EBITDA for many industrial and distribution firms, and higher single or double digits for recurring-revenue software, but those ranges are market context, not inputs this endpoint looks up.
Input contract, response shape, and error behaviour
Example: one hundred twenty thousand of annual earnings and a three-point-five multiplier yield an estimated company value of four hundred twenty thousand. POST a JSON body with two required finite numbers. annual_earnings is a representative year of earnings in one currency unit; aliases earnings, ebitda, and sde map to the same field so a broker worksheet can keep its column names. multiplier is the industry earnings multiple — three-point-five means three-point-five times earnings, not three-point-five percent — and aliases industry_multiplier, multiple, and earnings_multiple are accepted. Each numeric field may arrive as a JSON number or a numeric string. Missing fields, empty strings, and non-finite values fail with invalid_input naming the field. Annual earnings may be zero or negative: a loss-making year times a positive multiple produces a zero or negative estimated_value, which is the honest times-earnings result rather than a silent absolute value. On success the body echoes annual_earnings and multiplier, then reports estimated_value, all money figures rounded half-up to cents and the multiplier rounded to six decimal places. Pair the JSON with your own rule of thumb for which earnings definition matches the multiple you chose; this endpoint multiplies the two numbers you send, it does not choose EBITDA versus seller's discretionary earnings for you, and it does not convert currencies.
Where a business valuation calculator earns its keep
Owners preparing a sale use a business valuation calculator to turn last year's seller's discretionary earnings and a published industry multiple into a first asking range before they hire a broker. Failed validation does not consume balance. Keep multiplier strictly positive, pin the rounded currency fields in tests, and you get a reproducible company value for teasers, LMS plugins, and edge workers without standing up a valuation engine of your own. Business brokers re-run the same two fields when a year closes or a multiple in the comps set moves, then pin estimated_value in a teaser so every buyer conversation starts from one number. Lenders and investors drop annual_earnings from the quality-of-earnings pack and multiplier from a sector sheet, and they compare the times-earnings result with a discounted-cash-flow case rather than treating either method as a substitute. This is a different search and a different job from a DCF, an asset-based book-value screen, or a rule-of-thumb revenue multiple: times-earnings prices a year of profit, not a forecast of free cash flow and not a stack of tangible assets.
Integration use cases
Broker teaser and CIM figures
Re-price a listing when the year closes or comps move: same calculator, new annual_earnings or multiplier, one shared estimated_value.
Technical questions
What does the business valuation calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.