Plain-language questions
Ask for break-even point 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
The break-even point is the revenue or number of units sold at which total income exactly equals total costs. Below that point the business makes a loss, above it a profit. You calculate it by dividing fixed costs by the contribution margin ratio: the share of each euro of revenue left after variable costs.
Fixed costs ÷ contribution margin ratio, where contribution margin ratio = (revenue − variable costs) ÷ revenue
In 2025 Acme Groothandel had €2,880,000 of fixed costs (staff, other operating expenses and depreciation). Variable costs, mainly purchases, were 70% of revenue, so the contribution margin ratio is 30%. The break-even point is €2,880,000 ÷ 0.30 = €9,600,000 of revenue. With revenue of €12,000,000, Acme was €2,400,000 above break-even.
Fictitious figures for Acme Groothandel, a sample wholesaler.
The lower the break-even point relative to actual revenue, the more room there is before the business makes a loss. That room is the margin of safety; in the example (€12,000,000 − €9,600,000) ÷ €12,000,000 = 20%. Recalculate the break-even point when fixed costs change, such as extra staff or a larger warehouse, or when the margin shifts.
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 pl AS (
SELECT SUM(amount) FILTER (WHERE account_group = 'revenue') AS revenue,
SUM(amount) FILTER (WHERE account_group = 'cogs') AS variable_costs,
SUM(amount) FILTER (WHERE account_group IN ('personnel', 'other_opex', 'depreciation')) AS fixed_costs
FROM gl_entries
WHERE entry_date >= date_trunc('year', current_date) - interval '1 year'
AND entry_date < date_trunc('year', current_date)
)
SELECT revenue,
fixed_costs,
ROUND((revenue - variable_costs) / NULLIF(revenue, 0), 3) AS contribution_margin_ratio,
ROUND(fixed_costs / NULLIF((revenue - variable_costs) / NULLIF(revenue, 0), 0), 0) AS break_even_revenue
FROM pl;Contribution Margin % =
VAR Revenue = CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "revenue")
RETURN DIVIDE(Revenue - CALCULATE(SUM(GL[Amount]), GL[AccountGroup] = "cogs"), Revenue)
Break-even Revenue =
DIVIDE(CALCULATE(SUM(GL[Amount]), GL[AccountGroup] IN {"personnel", "other_opex", "depreciation"}), [Contribution Margin %])In ENABLE
Ask for break-even point 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 fixed costs by the contribution margin as a percentage of revenue. With €2,880,000 of fixed costs and a 30% contribution margin, the break-even point is €9,600,000 of revenue. In units, divide fixed costs by the contribution margin per unit.
The break-even point is the revenue at which you break even, the margin of safety is how far revenue can fall before you reach that point. With €12,000,000 of revenue and a break-even point of €9,600,000, the margin of safety is €2,400,000, or 20%.
Contribution margin is the part of revenue left after variable costs, which goes towards covering fixed costs. For a wholesaler it is close to gross margin, because purchases are the largest variable cost.
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.