Revenue per employee calculator
A company with revenue of 5,000,000 and 25 employees generates 200,000 of revenue per employee. Set that productivity figure against peers, last year or pay per employee. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Revenue
- 5,000,000
- Headcount
- 25
- Revenue per employee
- 200,000
Revenue per employee, often abbreviated RPE in investor decks, annual reports, and productivity dashboards, is a company's total revenue divided by the number of people on the payroll. Boards use it as a rough productivity proxy: a high figure can reflect pricing power, capital intensity, or a lean team, while a low figure can reflect a labor-heavy model or a hiring wave that has not yet shown up in sales. This revenue per employee calculator takes total revenue and employee headcount, returns revenue per employee, and rejects a headcount that is not a positive integer so the ratio is always defined.
What revenue per employee measures and why headcount must be a whole number
Revenue per employee is total company revenue divided by the count of people employed in the same period. That quotient is a productivity proxy: how much top-line the average person on the payroll generated. Revenue is the top line for the window you are studying—annual net sales, quarterly recognized revenue, or a trailing-twelve-month figure—as long as it is one finite non-negative amount in a single currency.
Headcount is the number of employees attached to that same window, typically average headcount for the year or the closing count used in the annual report. It must be a positive integer because this definition divides by a count of people, not by a fractional FTE, and you cannot divide by zero. A software company that recognized five million in revenue with twenty-five employees has revenue per employee of two hundred thousand, because five million divided by twenty-five is two hundred thousand.
That number is compared to peers in the same industry, to last year’s figure, and to compensation cost per employee when boards ask whether hiring is paying for itself. When revenue is zero at a strictly positive headcount, revenue per employee is zero, which is allowed and simply means the team produced no recognized sales in that window. The formula is one division so finance, HR, and investor-relations teams share a single reproducible definition without spreadsheet rounding drift on intermediate cells.
Keep the two inputs in the same period and the same reporting perimeter; mixing a group revenue figure with a parent-only headcount is how a productivity metric quietly lies.
Where a revenue per employee calculator earns its keep
People who type revenue per employee into a search box already know the ratio and want the number, not a lecture that starts from first principles of labor productivity. A publisher ranking for that query is serving finance teams who have an annual revenue line and a year-end headcount, operators who must fill a board pack, and engineers who need a deterministic oracle that rejects a non-integer headcount instead of silently producing a float that pretends two-and-a-half people exist.
Early-stage teams building a weekly metrics notebook want the same revenue-over-headcount figure analysts write on slides, without hand errors when currency decimals change. Failed validation does not consume balance. Pair this capability with a separate profit-per-employee or compensation tool when you need earnings or cost per head; keep this surface focused on the top-line productivity metric that people mean when they search revenue per employee.
What you can do with it
Board and investor productivity packs
Enter total revenue for a period and the matching employee headcount to publish revenue per employee without rebuilding the ratio in a spreadsheet.
FAQ
How do I calculate revenue per employee?
Send revenue and headcount. Revenue per employee equals total company revenue divided by employee headcount. Example: 5000000 / 25 = 200000.
What happens if headcount is zero, negative, or not a whole number?
Headcount must be a positive integer (1, 2, 3, and so on). Zero, negatives, and fractions such as 4.5 are rejected and are not billed.
Does the calculator accept fractional FTE headcount?
No. This definition uses a whole-person employee count, not a part-time capacity figure. Send the integer headcount used in the annual report or payroll snapshot.
Can total revenue be zero?
Yes. Zero revenue at a positive integer headcount yields revenue per employee of zero, which means the team produced no recognized sales in that window. Negative revenue is rejected.
Which headcount should I use?
The count for the same period as the revenue, usually the average headcount for the year or the closing count in the annual report. Keep the same perimeter too: group revenue over a parent-only headcount gives a misleading figure.
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/revenue-per-employee \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"revenue":5000000,"headcount":25}'const res = await fetch("https://api.kit.forhosting.com/fin/revenue-per-employee", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"revenue": 5000000,
"headcount": 25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/revenue-per-employee",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"revenue": 5000000,
"headcount": 25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/revenue-per-employee", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"revenue":5000000,"headcount":25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"revenue":5000000,"headcount":25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/revenue-per-employee", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"revenue": 5000000,
"headcount": 25
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.revenue_per_employee",
"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
Successful calls are billed at $0.002; invalid input is not charged.
What revenue per employee measures and why headcount must be a whole number
When headcount is zero, not an integer, or missing, the ratio is not defined: there is no employee to attach the revenue to, and this calculator rejects the request instead of returning infinity or a nonsense figure.
Input contract, response shape, and validation
Example: revenue five million and headcount twenty-five yield revenue per employee two hundred thousand. Prefer bare numbers over formatted strings; currency marks, thousands separators, and trailing unit labels are not parsed. Pair the result with your own compensation or profit metrics if you need profit per employee. POST a JSON body with two required fields in the same currency and the same reporting window. revenue is the total company revenue for the period you are studying; it must be a finite number greater than or equal to zero. Aliases total_revenue, sales, total_sales, and turnover are accepted so a ledger export does not need a rename step. headcount is the employee count for that same window and must be a positive integer strictly greater than zero, because revenue per employee divides by that count; aliases employees, employee_count, staff, number_of_employees, and head_count are accepted, but a fractional value such as 4.5 is still rejected—the contract is a whole-person headcount, not a part-time capacity figure. Each field may arrive as a JSON number or as a numeric string that matches a strict finite pattern. Missing fields, empty strings, non-finite values, negative revenue, a headcount of zero, a negative headcount, or a non-integer headcount fail with invalid_input naming the field and are not billed. On success the body echoes rounded revenue and integer headcount, returns revenue_per_employee as their quotient, and includes a formula string set to revenue_per_employee = revenue / headcount that you can print next to the numbers. This endpoint does not take payroll cost, profit, hours worked, or industry comps; it only returns revenue per employee. Pricing for a successful item is a flat $0.002.
Where a revenue per employee calculator earns its keep
Classroom and certification courses that teach financial statement analysis need an endpoint that returns revenue per employee and nothing else, so a grader can compare the figure to industry comps in a later step without this tool pretending to take peer data as an input. Keep requests small, pin the rounded revenue_per_employee in tests, and you get reproducible productivity figures for homework, exam generators, and lightweight finance notebooks without standing up a full human-resources system.
Integration use cases
Homework and financial-analysis oracles
Students compute revenue / headcount by hand and compare against a deterministic result that rejects a non-positive or non-integer headcount as invalid_input.
Peer comparison prep without taking comps
Compute revenue per employee first, then compare to industry peers in your own notebook; this endpoint returns the company ratio only.
Technical questions
What does the revenue per employee calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.