EnableYourData.com

KPI · Finance

Return on equity (ROE): formula and example.

Return on equity (ROE) is net profit divided by average equity over the same period. It shows how much return the owners earn on the money they have invested in the business. That lets you compare the return with what the money could earn elsewhere.

Return on equity (ROE) formula

Net profit after tax ÷ average equity × 100%, where average equity = (opening + closing) ÷ 2

Worked example

Acme Groothandel made a net profit of €450,000 in 2025. Equity was €1,600,000 at the start of the year and €2,000,000 at the end, an average of €1,800,000. ROE is €450,000 ÷ €1,800,000 × 100% = 25%.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A higher ROE means more return for the owners per euro of equity. A high ROE can, however, also come from a small equity base and a lot of debt, so read it together with the solvency ratio and return on assets. Compare ROE with previous years and with the return the owners expect.

Pitfalls with return on equity (ROE)

  • Dividing a year's profit by closing equity, which already includes that profit.
  • A negative equity figure produces an ROE that cannot be read meaningfully.
  • Mixing pre-tax and post-tax profit without saying so.

SQL & DAX

Calculating return on equity (ROE) in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
WITH profit AS (
  SELECT SUM(CASE WHEN account_group = 'revenue' THEN amount ELSE -amount END) AS net_profit
  FROM gl_entries
  WHERE account_group IN ('revenue', 'cogs', 'personnel', 'other_opex', 'depreciation', 'interest', 'tax')
    AND entry_date > current_date - interval '12 months'
), equity AS (
  SELECT SUM(amount) FILTER (WHERE entry_date <= current_date) AS equity_now,
         SUM(amount) FILTER (WHERE entry_date <= current_date - interval '12 months') AS equity_prev
  FROM gl_entries
  WHERE account_group = 'equity'
)
SELECT profit.net_profit,
       (equity.equity_now + equity.equity_prev) / 2 AS avg_equity,
       ROUND(100.0 * profit.net_profit / NULLIF((equity.equity_now + equity.equity_prev) / 2, 0), 1) AS roe_pct
FROM profit, equity;
DAX · Power BI
Net Profit =
CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "revenue")
    - CALCULATE(SUM(GL[Amount]), GL[AccountGroup] IN {"cogs", "personnel", "other_opex", "depreciation", "interest", "tax"})

ROE % =
VAR EquityEnd = CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "equity", FILTER(ALL('Date'), 'Date'[Date] <= MAX('Date'[Date])))
VAR EquityStart = CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "equity", FILTER(ALL('Date'), 'Date'[Date] < MIN('Date'[Date])))
RETURN DIVIDE([Net Profit], (EquityStart + EquityEnd) / 2)

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for return on equity (ROE) per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate return on equity?

Divide net profit after tax by average equity and multiply by 100%. With €450,000 of profit and average equity of €1,800,000, ROE is 25%. Average equity is opening plus closing equity for the period, divided by two.

What is the difference between ROE and ROA?

ROE divides net profit by equity, ROA divides it by total assets. ROE shows the return for the owners, ROA the return on everything the business owns, however it is financed. The gap between the two comes from financial leverage.

How does debt affect return on equity?

Borrowing raises ROE as long as the return on assets is higher than the interest rate on the debt. If the return on assets falls below the interest rate, leverage works the other way and ROE drops. More debt therefore increases both the return and the risk.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.