ForHosting KIT · Finance & money

ROA calculator

Net income of 80,000 on total assets of 1,000,000 gives a return on assets of 8%. Compare how efficiently companies of different sizes turn their assets into profit. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Net income
80,000
Total assets
1,000,000
You get
Roa
8

Return on assets, or ROA, is the share of a period's net income that a firm earned from each unit of assets on the balance sheet. Equity analysts, credit officers, and operators use that single percentage to compare issuers of different size on an asset-efficient basis, to feed a DuPont split of margin and turnover, and to check whether reported profit actually used the asset base productively. This ROA calculator takes two finite numbers — net income and total assets — divides net income by total assets, multiplies by one hundred, and returns the ratio as a percentage together with the two inputs it used. A zero total-assets figure is rejected because division by zero is undefined.

How return on assets turns net income and total assets into a percentage

Return on assets asks a narrow question: after a period's net income is known, how much of that profit did the firm earn from each unit of assets it reported. Net income is the bottom-line profit or loss for the period in one currency, already after interest and tax. Total assets is the denominator: the asset base you have already chosen for that same period and currency — year-end total assets from the balance sheet, or average total assets if you averaged opening and closing yourself.

An eighty-thousand net income and a one-million asset base print an ROA of eight. Zero net income is a legitimate outcome and is not an error: a breakeven period still has an ROA of zero once the asset base is non-zero. Negative net income is accepted because a loss still has a (negative) return-on-assets figure that credit memos quote next to interest coverage.

Negative total assets is allowed and produces a signed percentage instead of hiding behind an absolute value. This calculator does not average two balance-sheet dates, does not annualise a stub period, does not convert currencies, and does not look up a live quote. You supply two finite numbers that already share one period and one currency; the calculator divides, multiplies by one hundred, and rounds the percentage half-up to six decimal places so goldens compare byte-for-byte across runtimes.

This is the two-line ROA identity, not a DuPont decomposition, not return on equity, and not return on invested capital.

Where an ROA calculator earns its keep

Operators screening a monthly close use an ROA calculator to turn last period's net income and total assets into one comparable efficiency line before they open a full profitability model. Equity analysts re-run the same two fields when a year closes or a DuPont pack asks for return on assets, then pin roa next to net margin and asset turnover so every memo starts from one asset-scaled percentage rather than from unscaled net income.

Credit officers and board packs drop net income from the income statement and total assets from the balance sheet, and they compare that ROA with a peer median and a historical series rather than treating any one of those as a substitute. This is a different search and a different job from a return-on-equity calculator, from a return-on-investment calculator, from a fixed-asset-turnover multiple, and from earnings per share: those tools start from different lines and answer different questions. Failed validation does not consume balance.

Keep both fields finite, keep total assets different from zero, pin the rounded percentage in tests, and you get a reproducible return-on-assets figure for teasers, LMS plugins, and edge workers without standing up a general ledger of your own.

Monthly close before the profitability pack

Turn last period's net income and total assets into one ROA percentage before you open a full DuPont or peer-margin model.

Credit memos and peer screens

Pin return on assets next to a peer median so a credit pack compares asset efficiency instead of unscaled net income.

Board packs versus ROE and ROI

Drop filing net income and total assets into one going-in ROA beside return on equity and return on investment, rather than treating those ratios as substitutes.

How is ROA calculated?

The calculator returns that percentage rounded half-up to six decimal places, together with the two inputs it used.

What happens if total assets is zero?

ROA is undefined when the asset base is zero, so the calculator does not return Infinity. Those failures are not billed.

Is this ROA, ROE, or ROI?

ROA. The denominator is the total-assets figure you send. Return on equity uses shareholders' equity; return on investment uses an invested-capital base. Those are different identities and different searches.

Can net income be negative, and should I send average total assets?

A loss still has a (negative) ROA. Send average total assets if that is your convention — this calculator does not average two balance-sheet dates.

What is return on assets used for?

To compare companies of different sizes on how productively they use their asset base, to split profitability into margin and asset turnover, and to check whether reported profit really came from the assets on the balance sheet.

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.

POSThttps://api.kit.forhosting.com/fin/roa

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.

curl -X POST https://api.kit.forhosting.com/fin/roa \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"net_income":80000,"total_assets":1000000}'
{
  "net_income": 80000,
  "total_assets": 1000000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.roa",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Any input that is missing, empty, or not a finite number fails with invalid_input and is not billed.

How return on assets turns net income and total assets into a percentage

The identity this calculator uses is roa equals net_income divided by total_assets, times one hundred, so the result is a percentage rather than a decimal multiple. Dividing those two numbers and scaling by one hundred yields ROA as a percent, which this endpoint returns next to the echoed inputs so a worksheet can pin the percentage beside the lines that produced it. A zero asset base is not a legitimate ROA: division by zero is undefined, so the task fails with invalid_input rather than returning Infinity or a hollow empty payload.

Input contract, response shape, and error behaviour

Negative total assets is allowed and produces a signed percentage. Example: eighty thousand of net income and one million of total assets yield an ROA of eight. Keep both fields in one currency and one period, pin the rounded percentage in tests, and the contract stays reproducible from a notebook through an edge worker. POST a JSON body with two required finite numbers. net_income is the period bottom line in one currency; aliases net_profit, earnings, profit, and ni map to the same field so a worksheet can keep its column names. total_assets is the asset base for that same period and currency; aliases assets, total_asset, and ta are accepted. Send average total assets if that is the convention you already computed — this endpoint does not average two dates for you. Each numeric field may arrive as a JSON number or a numeric string. Missing fields, empty strings, and non-finite values — NaN, Infinity, or text that does not parse as a number — fail with invalid_input naming the field. Those failures are not billed. Zero and negative net income are allowed: a breakeven or a loss still produces a finite ROA rather than an error. total_assets must be strictly different from zero; a zero asset base fails because ROA is undefined when total assets is zero. On success the body echoes net_income and total_assets, then reports roa as net income divided by total assets times one hundred (rounded half-up to six decimal places), plus a formula string restating the identity. Pair the JSON with your own rule for which asset line matches the net income you send — year-end total assets is not average total assets, and total assets is not net operating assets — because this endpoint divides the two numbers you send; it does not rebuild the balance sheet, choose a reporting convention, or look up a filing.

What does the ROA calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →