Plain-language questions
Ask for EBITDA 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
EBITDA stands for earnings before interest, taxes, depreciation and amortisation. It shows what day-to-day operations generate, regardless of how the company is financed or how much it invested in the past. Lenders and buyers often use EBITDA as a starting point for financing and valuation.
Revenue − cost of goods sold − staff costs − other operating expenses (excluding depreciation, amortisation, interest and tax)
In 2025 Acme Groothandel had revenue of €12,000,000, cost of goods sold of €8,400,000, staff costs of €1,800,000 and other operating expenses of €840,000. EBITDA is €12,000,000 − €8,400,000 − €1,800,000 − €840,000 = €960,000. Depreciation (€240,000), interest and tax are left out.
Fictitious figures for Acme Groothandel, a sample wholesaler.
A rising EBITDA means operations are generating more. Because it is an amount, compare it mainly with last year and with budget; to compare companies or periods with different revenue, use EBITDA margin. EBITDA is not cash flow: capital expenditure, changes in working capital and tax payments are not included.
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.
SELECT date_trunc('month', entry_date)::date AS month,
SUM(CASE WHEN account_group = 'revenue' THEN amount ELSE -amount END) AS ebitda,
SUM(SUM(CASE WHEN account_group = 'revenue' THEN amount ELSE -amount END))
OVER (ORDER BY date_trunc('month', entry_date)) AS ebitda_ytd
FROM gl_entries
WHERE account_group IN ('revenue', 'cogs', 'personnel', 'other_opex')
AND entry_date >= date_trunc('year', current_date)
GROUP BY 1
ORDER BY 1;EBITDA =
CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "revenue")
- CALCULATE(SUM(GL[Amount]), GL[AccountGroup] IN {"cogs", "personnel", "other_opex"})
EBITDA vs LY % =
VAR LastYear = CALCULATE([EBITDA], SAMEPERIODLASTYEAR('Date'[Date]))
RETURN DIVIDE([EBITDA] - LastYear, LastYear)In ENABLE
Ask for EBITDA 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
Subtract cost of goods sold, staff costs and other operating expenses from revenue, but not depreciation, amortisation, interest and tax. Alternatively, take operating profit (EBIT) and add back depreciation and amortisation. Both routes should give the same figure.
EBIT is operating profit after depreciation and amortisation, EBITDA is the profit before them. The difference is exactly the depreciation and amortisation charge. EBIT reflects the wear of assets, EBITDA does not.
No, EBITDA approximates what operations generate, but it is not cash flow. Capital expenditure, changes in stock, receivables and payables, and tax paid are all missing. Use operating or free cash flow for that.
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.