Plain-language questions
Ask for project margin 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 · Projects and time
Project margin is the difference between a project's revenue and its costs, expressed in euros or as a percentage of revenue. Costs are hours at cost rate plus direct costs such as materials and subcontractors. Project margin shows which projects, clients and types of work actually make money.
(Project revenue − project costs) ÷ project revenue × 100%
Acme Groothandel fitted out a new warehouse for a customer at a fixed price of €48,000. The job took 600 hours at a cost rate of €60 per hour, so €36,000 in costs. The project margin is (€48,000 − €36,000) ÷ €48,000 × 100% = 25.0%.
Fictitious figures for Acme Groothandel, a sample wholesaler.
A higher margin means the project contributes more towards overheads and profit. Compare margins by project type and by client, and set actual margin against the budgeted margin in the quote. A persistent gap between budget and actual points to a problem in estimating or in delivery.
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 p.project_id,
SUM(t.invoiced_amount) AS revenue,
p.actual_cost,
SUM(t.invoiced_amount) - p.actual_cost AS margin,
ROUND(100.0 * (SUM(t.invoiced_amount) - p.actual_cost)
/ NULLIF(SUM(t.invoiced_amount), 0), 1) AS margin_pct
FROM projects p
JOIN time_entries t ON t.project_id = p.project_id
GROUP BY p.project_id, p.actual_cost
ORDER BY margin_pct;Project Revenue = SUM ( TimeEntries[InvoicedAmount] )
Project Margin % = DIVIDE ( [Project Revenue] - SUM ( Projects[ActualCost] ), [Project Revenue] )In ENABLE
Ask for project margin 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 project costs from project revenue and divide the result by revenue. Project costs are hours spent at cost rate plus direct costs such as materials and subcontractors. Multiply by 100% for a percentage.
An hourly cost rate is what one hour of an employee's time costs the organisation: personnel costs divided by productive hours, often with an uplift for overheads. Use a fixed cost rate per role so projects can be compared.
Usually because of more hours than budgeted, extra work that was not charged or higher material costs. After the project, compare hours and costs per work package with the budget. Feed those lessons into the next estimate.
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.