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.
KPI · Finance
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.
Net profit after tax ÷ average equity × 100%, where average equity = (opening + closing) ÷ 2
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.
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.
SQL & 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.
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;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
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.
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.
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.
With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.
FAQ
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.
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.
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.
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.