What is project margin and how is it different from markup?
project margin calculation is a key topic in modern project management and teamwork. Project margin is the percentage of project revenue that remains after all costs attributable to that project are deducted. Markup is the percentage added to cost to arrive at a price. They measure the same transaction from opposite directions, and mixing them is the most common arithmetic error in project pricing.
If a project costs $100,000 and you apply a 25% markup, you invoice $125,000. Your margin is not 25% — it is ($125,000 − $100,000) ÷ $125,000 = 20%.
| Markup applied to cost | Price on $100,000 cost | Resulting gross margin |
|---|---|---|
| 10% | $110,000 | 9.1% |
| 20% | $120,000 | 16.7% |
| 25% | $125,000 | 20.0% |
| 30% | $130,000 | 23.1% |
| 43% | $143,000 | 30.0% |
| 67% | $167,000 | 40.0% |
The conversion is simple: margin = markup ÷ (1 + markup). A team needing 30% margin must apply 43% markup. Firms that price with a 30% markup believing it earns 30% margin leave roughly seven points on every engagement, and often do not notice until a slow quarter exposes it.
There is a second distinction: gross versus net margin. Gross margin deducts only direct project costs; net margin also absorbs company overhead, sales cost, and taxes. Gross margin tells you whether the project was worth doing, net margin whether the business is viable. Confusing them produces the familiar situation where every project shows 35% margin and the company still loses money.
Step 1: Define the revenue the project will actually collect
Start with collectable revenue, not contracted revenue. Those figures differ more often than finance teams like to admit.
Four adjustments need to happen before the number is reliable. Discounts agreed during negotiation reduce revenue even if the proposal shows list price. Write-offs — hours worked but not billed — reduce revenue below what the timesheet implies. Change orders increase revenue only once approved in writing; unpriced extra work adds cost without adding income. Contingency held in the fee is not revenue you can spend until the risk it covers does not materialise.
A practical rule: if you cannot point to an approved document, a purchase order, or an issued invoice for a revenue line, treat it as zero until it exists. Optimistic revenue is the fastest way to report a healthy margin on a project that will eventually be written down.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.
Step 2: Calculate the fully loaded cost of every hour
Salary is not the cost of an hour of work. The real cost includes employer taxes, benefits, paid leave, non-billable time, and the company overhead the person consumes — software licences, desk space, management, finance, and sales.
The standard shortcut in services firms is a multiplier of 1.4 to 1.6 on salary. That range is not arbitrary: it approximates benefits and payroll taxes at 20–30%, plus overhead allocation, plus the fact that you can only bill part of the paid year.
| Cost component | Annual amount | Note |
|---|---|---|
| Base salary | $85,000 | Contracted gross |
| Benefits and employer taxes | $20,400 | 24% of salary |
| Allocated overhead | $17,000 | Rent, tools, admin, management, sales |
| Fully loaded annual cost | $122,400 | |
| Billable hours available | 1,500 | After leave, training, internal work |
| Loaded cost per billable hour | $81.60 | $122,400 ÷ 1,500 |
That $81.60 is the number to put in the estimate, not the $40.87 implied by salary divided by 2,080 hours. The gap between those two figures — a factor of two — is why projects “priced at cost plus 30%” routinely land at single-digit margin.
Two cautions. Use actual loaded rates where you can: a senior engineer at $140 an hour and a junior at $48 do not belong in one blended average. And recalculate billable hours annually, because a falling billable percentage raises cost per billable hour even when payroll has not moved.
> Important note: overhead allocation is a management choice, not a fact. Labour-based allocation (overhead per billable hour) is most common in services firms because it keeps pricing conversations in the unit clients understand.
Step 3: Add direct non-labour costs
Direct costs are the ones that exist only because this project exists: subcontractors, materials, licences, hosting, travel, equipment rental, permits, insurance for the engagement, and financing charges.
Three of these are routinely understated.
Subcontractors are often estimated at the quoted day rate without the margin you need on top, or without the coordination hours your team spends managing them.
Licences and hosting are frequently annualised in the spreadsheet when the project only needs eight months, or the reverse — a one-month cost entered where the client expects three years of support.
Expenses get treated as pass-through and excluded from margin, which is fine for cash but wrong for profitability. If a client reimburses travel at cost, the reimbursement is revenue and the spend is cost; leaving both out flatters the margin percentage by shrinking the denominator.
Step 4: Decide how overhead is allocated
There are three defensible methods, and the only real requirement is consistency across projects so the numbers can be compared.
- Labour-based: overhead allocated in proportion to direct labour cost or hours. Best for people-heavy work.
- Revenue-based: overhead allocated as a percentage of project revenue. Simple, but it penalises high-value projects and rewards cheap ones.
- Activity-based: overhead allocated by actual consumption — number of invoices, support tickets, environments. Most accurate, most effort.
Whichever you choose, document it in the pricing policy and apply it before you quote, not after the project closes. A margin figure produced with a method invented at reporting time is not a measurement, it is a negotiation position.
Step 5: Compute margin and forecast it at completion
The base calculation is one line, but the useful version runs twice: once for actuals to date, once for the forecast at completion.
- Margin to date = (revenue recognised − cost incurred) ÷ revenue recognised
- Forecast margin at completion = (total revenue − (cost to date + estimate to complete)) ÷ total revenue
The forecast is the number that changes decisions. A project at 40% complete showing 38% margin can still finish at 12% if the remaining work is where the difficulty lives — the integration, the data migration, the client’s legal review.
Worked example: a $180,000 fixed-fee platform
A digital agency wins a fixed-fee engagement to build a client portal. The estimate assumes 1,150 delivery hours at a blended loaded rate of $81.60.
| Line | Amount |
|---|---|
| Contract revenue | $180,000 |
| Labour (1,150 hours × $81.60) | $93,840 |
| Subcontractors (accessibility audit, copywriting) | $18,500 |
| Licences and hosting for 8 months | $6,200 |
| Travel and expenses | $3,400 |
| Total project cost | $121,940 |
| Gross profit | $58,060 |
| Gross margin | 32.3% |
Now add the most common delivery event: 90 hours of unpriced scope, absorbed to protect the relationship.
- Additional cost: 90 × $81.60 = $7,344
- New total cost: $129,284
- New margin: ($180,000 − $129,284) ÷ $180,000 = 28.2%
Four points of margin disappeared in what felt like a minor favour: roughly $7,300 of profit turned into goodwill nobody recorded.
At month six, the project manager has spent $84,500 and estimates $46,000 to complete. Forecast total cost is $130,500, so forecast margin at completion is ($180,000 − $130,500) ÷ $180,000 = 27.5%. That is the number to escalate while there is still scope to recover it, not the 32.3% in the pricing model.
Why does margin disappear during delivery?
Margins rarely collapse in one dramatic event. They erode through five predictable leaks.
Scope creep that is never priced. Small additions feel cheaper than a change-order conversation. The cost accumulates at the loaded rate, not at zero, which is the part teams forget.
Write-offs discovered late. Hours logged as billable, then cut at invoicing because the client pushed back or the work was re-done. Utilization stays healthy; realization and margin do not.
Rate drift on long engagements. A rate agreed eighteen months ago against a cost base that has since risen 9% is a slow, silent margin cut. Multi-year contracts need an escalation clause or a shorter review cycle.
Seniority substitution. Staffing a senior-priced project with juniors protects the delivery date and damages the margin, because the price was built on a rate the actual team never earned.
Overhead creep. The project inherits two approval steps, a new reporting requirement, and a compliance review. None appeared in the estimate, and all consume hours.
> Practical tip: give every project a margin floor and a trigger, not just a target. For example: flag any engagement whose forecast margin drops two points below the pricing model, and require a written recovery plan before the next milestone.
What margin should you target?
There is no universal number, because margin targets are a function of risk, contract type, and capital intensity. The useful approach is to benchmark against your own history first, then against the industry.
For external context: CFMA’s 2025 financial survey of 1,558 US contractors put average net margin before taxes at 6.7% of revenue. Professional services benchmark data from Spire Research covering 403 firms showed EBITDA margins of 9.8% in 2024. Both figures are net or near-net, which is why they look low beside the gross margins agencies quote internally.
| Level | What it deducts | Typical use | Watch for |
|---|---|---|---|
| Contribution margin | Direct labour and direct materials only | Capacity and pricing decisions | Ignores overhead entirely; overstates viability |
| Gross project margin | All direct project cost, fully loaded labour | Project go/no-go, bonuses, portfolio ranking | Still excludes company overhead and sales cost |
| Net project margin | Gross margin minus allocated overhead | Comparing projects fairly | Allocation method can swing results several points |
| Company net margin | Everything, including tax | Business viability | Too aggregated to manage a single project |
A fixed-price project in unfamiliar technology deserves a higher target than a time-and-materials extension for a four-year client. The premium is the price of the risk you carry.
How do you keep margin visible during delivery?
Margin becomes a post-mortem when the inputs live in different systems and nobody reconciles them until the invoice run fails to match the forecast.
Three things need to be true for margin to be manageable. Hours must be logged against the same tasks the estimate was built from. Costs must be recorded as they are committed, not when the invoice arrives. And the forecast at completion must be reviewed on a fixed cadence with the same person accountable each time.
Doitify is built around that loop: projects with tasks and sub-tasks that carry estimates, logged time and assigned owners, finance fields for project revenue and cost, and reports that compare planned against actual effort per deliverable. That gives a project manager the margin-to-date and estimate-to-complete inputs without rebuilding a spreadsheet each month.
Doitify is our product, so discount the enthusiasm accordingly. It is not an accounting system and will not replace your ledger. What it does is keep delivery data — hours, scope, effort — beside the commercial data, which often decides whether margin reporting happens monthly or never.
What are the most common margin mistakes?
- Pricing on salary instead of loaded cost. The single largest source of phantom profit, worth 40–60% of labour cost.
- Confusing markup with margin. A 30% markup is a 23% margin, and the gap compounds across a portfolio.
- Treating revenue as the contract value. Discounts, write-offs, and unapproved change orders all reduce what you actually collect.
- Excluding expenses from both sides. Pass-through cost that vanishes from the calculation flatters the percentage and hides the cash risk.
- Comparing gross margins across different contract types. Fixed-price and time-and-materials margins carry different risk and are not directly comparable.
- Only measuring at project close. By then the only decision left is how to explain the result.
FAQ
Conclusion
Margin calculation is five steps and one habit. Define collectable revenue, load the labour properly, add every direct cost, allocate overhead consistently, and forecast at completion rather than only at the end.
The habit is the part that changes outcomes: recalculate monthly, compare forecast against the pricing model, and treat any gap of more than two points as a decision that needs an owner. Projects rarely lose money suddenly. They lose it in small, reasonable-sounding concessions that nobody costed — and a monthly margin forecast is the only reliable way to see them while there is still time to say no.
If this post on project margin calculation was helpful, you might also enjoy Definition of Done: Examples for Different Teams (2026 Guide) and Project Wiki vs Knowledge Base: Key Differences.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.