Project profitability is one of the most consequential numbers in a services business, and one of the most commonly calculated too late to actually do anything about — typically at project close, when the labor has already been spent and the only remaining option is documenting what went wrong for next time.
Why end-of-project calculation is structurally too late
By the time a project wraps and someone tallies total hours against budget, every hour that contributed to an overrun has already been worked and, usually, already been paid. The calculation is accurate but useless for the project it describes — its only value is as a lesson for future projects, not a lever for the current one.
What real-time tracking actually requires
Continuous cost tracking needs two things most end-of-project calculations don’t: time tracked against the specific project as it happens (not reconstructed later), and a defined budget to compare it against continuously, not just as a single number checked once at the end.
Set a meaningful early-warning threshold
Waiting until a project hits 100% of budget to flag it defeats the purpose of real-time tracking — by then, there’s often still work remaining and no budget left to fund it. A threshold around 70–80% of budget, while meaningful work still remains, gives genuine time to act: reallocate resources, adjust scope, or have a client conversation before the number becomes unrecoverable.
Understand what’s actually driving the trend, not just that it exists
An aggregate “project is at 85% of budget” figure tells you something’s off but not what. Task-level cost breakdown — which specific work is consuming disproportionate time — turns a vague warning into an actionable one you can actually address.
Build the habit of checking, not just the capability
Real-time cost tracking only helps if someone actually looks at it regularly. Pairing the capability with a habit — a specific person checking active project cost weekly, not just when something feels off — is what actually converts the data into caught overruns rather than a dashboard that exists but goes unchecked.
The project profitability formula
Project profit is revenue minus all costs attributable to the project. For service work, labour is usually the largest cost:
- Labour cost = hours tracked × each person’s loaded hourly cost (pay plus benefits and overhead share).
- Direct costs = software, subcontractors, travel and materials charged to the project.
- Gross margin % = (revenue − labour cost − direct costs) ÷ revenue × 100.
Worked example
| Item | Amount |
|---|---|
| Fixed project fee | $24,000 |
| Hours tracked to date | 210 hours at an average loaded cost of $55 |
| Labour cost to date | $11,550 |
| Direct costs | $1,450 |
| Margin to date if the project finished now | $11,000 (45.8%) |
| Work completed | 60% |
At 60% complete, the project has used $13,000 of cost. If the remaining 40% costs the same per percent, total cost reaches about $21,667 and margin falls to about 9.7% — far below the 45.8% that the “to date” figure suggests. Real-time tracking is only useful if cost is compared with progress.
Project health metrics to watch
| Metric | What it tells you |
|---|---|
| Budget burn vs % complete | Whether the project will finish over budget |
| Effective hourly rate | Revenue ÷ hours tracked — falling rates mean overruns |
| Non-billable share | Rework, internal meetings and admin eating the budget |
| Hours by person | Senior time on junior tasks raises cost |
| Change requests | Scope added without a price change |
Work out loaded hourly costs with the employee cost calculator and see project cost tracking.
Frequently asked questions
How do you calculate project profitability?
Subtract labour cost (tracked hours × loaded hourly cost) and direct costs from project revenue, then divide by revenue for the margin percentage.
What is a loaded hourly cost?
An employee’s hourly pay plus the cost of benefits, payroll taxes and a share of overheads, divided across their working hours.
How often should project profitability be reviewed?
Weekly for active projects, with alerts when budget burn runs ahead of progress.
Want to catch a budget overrun while there’s still time to act? StaffTiming tracks project labor cost against budget continuously, not just at close-out.