Project profitability analysis: summary & key takeaways
What it is: Project profitability analysis explains why a project's actual margin differs from its quoted margin, in dollars, cause by cause.
The framework: The Five-Lever Margin Bridge splits every margin gap into Rate, Effort, Mix, Scope and Leakage, with nothing left unexplained.
Why dollars come first: Margin percentages don't add up across levers or projects, so you bridge in dollars and convert to a percentage last.
The payoff: Each lever points to a different owner and fix, so the review changes the next quote instead of ending in blame.
The data test: The bridge only holds up when quotes, cost rates, time and invoices come from one connected source.
A project's margin is an output: it's whatever is left once pricing, staffing, hours, scope and billing have all had their say. Project profitability analysis is the work of tracing that number back to the decisions that produced it. In this guide, I'll walk you through the Five-Lever Margin Bridge and a six-step review that prices each cause in dollars. Then we'll test both on a worked example that reconciles exactly.
What project profitability analysis is (and what it isn't)
Before I joined Teamwork.com, I sat through plenty of project reviews where the margin figure was the entire agenda. Project profitability analysis is the reconciliation of quoted margin to actual margin, with every dollar of difference traced to a named cause. For example, "we landed 12 points under quote" is a calculation; "we lost $3,300 to unbilled extras and $4,000 to a credit" is analysis.
The calculation underneath is simple: revenue minus delivery cost, divided by revenue. Our guide to calculating project profitability walks through that formula step by step, so I'll keep this article on the harder part. That's explaining the gap in a way that tells you exactly what to change on the next quote.
Why a margin number without a cause is just a scoreboard
Stopping at the margin figure is where most reviews go wrong, because the same number can hide completely different stories. I think of the headline margin as a scoreboard: it tells you the result and says nothing about how the game was played.
Take two illustrative fixed-fee projects, both quoted at 40% margin and both landing at 28%. On the first, the account lead agreed a discount at signature to win the deal, and delivery then ran exactly to plan. On the second, the price held, but the team absorbed a steady stream of small requests that nobody logged as extra.
Those two 12-point misses need opposite fixes: discount approval for the first, change control for the second. Pad the first project's next estimate and you'd still lose margin at signature. Tighten the second project's price and you'd still give the extras away.
If you've ever left a review knowing a project "went badly" but unable to say by how much, or why, you're in very good company. Most reporting simply stops at the scoreboard, so nobody in the room has the breakdown. That's frustrating for delivery leads, and it's worse for whoever has to price the next project.
Price pressure makes the cause matter more each year. In our 6 Strategic Shifts for 2026 report, 66% of respondents said clients are now more demanding but less willing to pay. When clients push on price and ask for more at the same time, both stories above get more common, often on the same project.
Budget misses are common well beyond services, too. PMI's Pulse of the Profession 2025 found that project professionals without high business acumen report 68% budget adherence, against 73% for those with it. It's a cross-industry, self-reported survey, but I read it as a useful signal: commercial understanding shows up in budget outcomes.
What I take from both numbers is that the teams protecting margin are the ones who can name the cause in dollars. A scoreboard can't give you that. A bridge can.
The Five-Lever Margin Bridge: where quoted margin actually goes
If opposite causes need opposite fixes, each cause needs its own dollar line, and that's what the Five-Lever Margin Bridge gives you. Every dollar between quoted and actual margin lands on one of five levers: Rate, Effort, Mix, Scope or Leakage. I settled on these five because every review I ran with fewer ended with a line called "other", and "other" never has an owner.
Lever
Add the five together and you get the whole gap, with no remainder:
Two conventions keep the math honest. Work in dollars, because percentages shift whenever revenue moves and won't add up across levers. Price each lever once, in a fixed order, so the same hour never lands on two lines.
Rate: did you sell the hours for what you planned?
Rate is the gap between the price you planned to charge and the price you actually achieved. On time and materials (T&M), it's your planned blended billing rate minus the rate you really billed, multiplied by billed hours. On fixed fee, it's any change to the price after you froze the quote, such as a discount agreed at signature.
Rate losses rarely arrive as one big decision. I've seen them build through a small "relationship discount", a rate card nobody updated, and senior retainer hours billed at the junior rate. Each concession looks trivial at the time, which is exactly why it needs its own line.
Rate belongs to whoever sets and approves price, usually the account lead or commercial director. If Rate is consistently your biggest line, your estimates are probably fine and your pricing governance needs the attention.
Effort: did the work take the hours you quoted?
Effort is the cost of in-scope hours beyond what you quoted, priced at the quoted cost rate. It maps closely to a classic cost variance calculation, limited to work the client already agreed to pay for. Overruns usually trace back to underestimated tasks, rework after late feedback, or scoping that should have been its own phase.
I price Effort at the quoted cost rate on purpose. If a senior person did the extra hours, their seniority premium belongs on Mix. Keeping the two apart tells you whether the plan or the staffing went wrong.
Mix: did the right people do the work?
Mix measures whether the people who did the work cost what you planned. If you quoted a $110 blended cost rate and the blend came in at $118, every hour carries an extra $8. I price Mix on all actual hours, because the higher blend applies to every hour, overruns included.
Mix is the lever teams most often miss, because hours can match the plan perfectly while margin still slides. A senior consultant covering a junior task for a week doesn't show up as an overrun on any timesheet. It only appears when you compare the cost rate of whoever logged the time with the rate you assumed.
Low utilization makes Mix worse. When senior calendars have gaps, it's tempting to fill them with whatever work is available, and that work is often priced for someone cheaper. For a quick read on where your team sits, our billable utilization rate calculator gives you the number in a minute.
Data point: In SPI Research's 18th annual Professional Services Maturity Benchmark, billable utilization fell to 68.9% in 2024. That's below the 75% SPI treats as optimal, from a survey of 403 firms published in February 2025.
Mix belongs to whoever schedules people, usually a resource manager or delivery lead. The usual fix is to quote the blend you actually staff, or to protect junior capacity for the tasks you priced for it. Either way, "we ran over" becomes "we staffed it differently from how we sold it", which is far easier to act on.
Scope: did you do work nobody agreed to pay for?
Scope is the cost of unbilled hours spent outside the agreed brief, priced at the quoted cost rate, because billed extras already paid for themselves. In the same 2026 report, 27% of respondents named clients moving the budget mid-project as their top frustration. When budgets move and briefs don't, Scope is the first line I check.
Leakage: did billable work turn into cash?
Leakage is billable value that never became cash: dispute credits, time written off at invoice, or billable hours nobody logged. It's closely tied to your realization rate, which our guide to project profitability metrics covers alongside the other measures worth tracking.
Leakage is the lever I trust least to self-report, because nobody volunteers the time they forgot to log. It lives in the gap between timesheet, budget and invoice, so it's easiest to catch when all three sit together. When they sit in separate tools, Leakage often gets misfiled as Effort or vanishes entirely.
How to run a project profitability analysis in six steps
Six steps, run in the same order every time, turn the five levers into numbers you can defend in a review. I call the sequence the Six-Step Margin Bridge Review, and I stick to the order because it decides which line each hour lands on.
Timing matters as much as method. I run the full bridge within two weeks of a project closing, while people still remember why a week went sideways. On engagements longer than a quarter, I add a mid-project checkpoint using the habits of live margin control, which catch drift during delivery.
Step 1: Freeze the quote baseline
Before you can explain a gap, you need a fixed starting point: the price, hours, roles and cost rates you approved when you quoted. Save that version and don't let anyone edit it later, even when the plan changes. Re-baselining mid-project quietly erases the gap you're trying to explain.
Record the baseline at line level, with hours by role and a blended cost rate. If you only keep the total fee and a target margin, you can calculate the gap but you can't split it. For example, an $80,000 quote with 400 hours at a $110 blended cost rate gives you $44,000 of planned cost and a 45% planned margin.
Step 2: Pull actuals from one source, not five
Actual hours, the cost rate of each person who logged them, the amount invoiced and any credits all need to agree with each other. When they come from a timesheet tool, a payroll export, a rates spreadsheet and accounting software, reconciling takes longer than analyzing. Pick one system of record for each figure, and ideally one system for all four, before you calculate anything.
Step 3: Split every hour into in-scope and out-of-scope
This is the step that makes Scope visible, and it's the one most teams skip. Every logged hour needs a flag: in scope, out of scope and billed, or out of scope and unbilled. Without the flag, out-of-scope work hides inside Effort and looks like bad estimating.
Tagging after the fact is painful, so the flag works best at the point of logging. I'd rather a team member ticks a box daily than a project manager guesses at month-end which hours belonged to the change request.
Where hours are genuinely ambiguous, agree a rule and apply it consistently. My default is simple: if the client asked for it and it isn't in the statement of work, it's out of scope, however small. Consistency matters more than the exact rule, because a bridge built on shifting definitions can't be compared across projects.
Step 4: Price each lever in dollars, in a fixed order
Price the revenue levers first, then the cost levers. Start with Rate and Leakage, which move revenue, then Mix across all actual hours, then Effort and Scope at the quoted cost rate.
Once all five are priced, add them up and check the total against the actual margin gap. If there's a remainder, something is double-counted or missing, and I don't close the review until it reconciles to the dollar. That discipline is what separates a bridge from a list of opinions.
Step 5: Assign one owner and one fix per lever
A priced lever without an owner is just a more detailed scoreboard. Give each non-zero lever one named owner and one specific change, then record both next to the dollar figure. Owners follow the lever, whatever the project's overall result. Rate usually sits with the account lead and Mix with resourcing. Effort belongs to whoever estimated, Scope to the project manager, and Leakage to finance and the project manager together.
Keep the fix specific enough that you could check later whether it happened. "Be more careful with scope" fails that test. "Add a change-order clause to every fixed-fee statement of work" passes it.
I run this as a short, blame-free conversation, closer to the productive post-mortem meetings we've written about than to a performance review. The point is to change the next quote, so people need to feel safe putting dollars against their own decisions.
Step 6: Feed the result into the next quote
The bridge only pays off when its output changes how you price and plan the next similar project. Adjust the hours, role mix and contingency on your quoting template using the levers that moved, and note the reason beside each change. Our guide to forecasting project profitability before work starts shows how to build those adjustments into a forecast.
If you're working in spreadsheets for now, a budget vs actual tracker gives you a clean structure for Steps 1 and 2. After a handful of projects, you'll see which levers move on which project types. That pattern is worth more than any single review.
A worked margin bridge: one fixed-fee project, five levers
Here's the Six-Step Margin Bridge Review applied to one illustrative fixed-fee website rebuild, so you can watch the levers add up. The numbers are hypothetical, and I've chosen them because each lever moves the way it typically does on this kind of project.
The quote was an $80,000 fixed fee for 400 hours at a $110 blended cost rate, giving $44,000 of cost and a $36,000 (45%) margin. In delivery, in-scope work took 420 hours and the team spent 30 more hours on client requests nobody logged as extra. A senior developer also covered build tasks quoted for a mid-level role, and finance issued a $4,000 credit to settle a late-milestone dispute.
Line
Rate is $0 because the signed price matched the frozen quote. Leakage is the $4,000 credit, which drops revenue to $76,000.
Mix is the $8-an-hour premium from the senior developer, priced across all 450 actual hours: $3,600. Effort is 20 extra in-scope hours at the quoted $110, or $2,200. Scope is 30 unbilled out-of-scope hours at $110, or $3,300.
Add the five levers and you get $13,100, exactly the gap between $36,000 quoted and $22,900 actual. Cost checks out too: 450 hours at $118 is $53,100, the same as $44,000 plus the three cost levers.
Now notice what the percentage hides. Margin fell 14.9 points, and a scoreboard would file that under "the project overran". The bridge shows only $2,200 of the $13,100 was an estimating miss, while staffing, unbilled requests and a billing dispute each have a different owner.
T&M behaves differently, so here's a second illustrative project. It's planned at 500 hours billed at $175 against a $100 cost rate: $87,500 revenue, $50,000 cost, $37,500 (42.9%) margin. The client then negotiated the blended rate down to $160, and the team logged 540 in-scope hours, 40 of them written off.
Rate costs $7,500, or 500 hours at $15 below plan. Extra T&M hours earn revenue too, so Effort adds $2,400 (40 hours at $60 each) before Leakage takes back $6,400 in write-offs. The result is $26,000 on $80,000 (32.5%), which reconciles exactly, and Rate and Leakage did the damage.
Turning each lever into a fix on the next quote
The worked example ends with $13,100 explained, and the tempting takeaway is "estimate better next time". I'd push back on that, because only $2,200 of that gap was an estimating problem. Each lever points to a different owner and a different change, and the Lever-to-fix map below is how I turn a bridge into quoting rules.
Lever
The map matters most when a lever repeats. One project with a Scope loss is a bad month; three in a row with the same client is a pricing conversation. Our guide to client profitability shows how to spot that pattern at account level.
Effort is the lever I handle most carefully. Adding hours feels safe, but if the real cause was Mix or Scope, you've priced yourself out of the next deal and fixed nothing. Only change estimates when Effort is genuinely the biggest line, and change them by the amount the bridge shows.
Rate fixes need a softer touch, since they usually involve a commercial conversation with the client. I'd sooner decline a discount with a clear reason than accept it and lose the margin quietly. With clients pushing harder on price, the bridge gives your account leads the evidence to hold the line.
Mix and Leakage fixes are mostly internal, which makes them the quickest wins. Quoting the blend you really staff costs nothing but honesty, and tighter time approvals usually pay for themselves on the next invoice run. To catch Scope and Effort drift while delivery is still running, set a profit margin target and budget threshold notifications in Teamwork.com's cost and profitability management tools.
Five mistakes that make the analysis lie to you
Five data habits can make a bridge look precise while pointing at the wrong lever. The framework is only as honest as what feeds it, and I've made at least two of these mistakes myself.
Averaging margin percentages across projects. A 60% margin on a $5,000 project and a 20% margin on a $100,000 project don't average to 40%. Weighted by revenue, the pair lands at about 22%, so always add up dollars first, then divide.
Using one blended cost rate for everyone. If every hour costs the same in your model, Mix is always zero, whatever actually happened. I'd use cost rates by role at minimum, and by person where pay varies widely within a role. It's the mistake I made longest: with Mix stuck at zero, I kept blaming estimates for margin that senior people on junior tasks were quietly eating.
Tracking time without an in-scope flag. Without the flag from Step 3, every out-of-scope hour looks like an estimating miss. You'll keep adding hours to quotes while the real cause, unbilled client requests, carries on untouched.
Analyzing only the projects that lost money. Profitable projects have levers too, such as a lucky Mix or a price too high to win again. Reviewing only the losers teaches you what went wrong, and never what went right enough to repeat.
Running the review months after close. By the next quarterly review, the people behind staffing calls have moved on and credits sit unexplained. Two weeks after close is my working limit, and beyond that the Leakage line in particular turns into guesswork.
Each of these mistakes feels harmless on its own, which is why they survive so long. Together, they can push most of a margin gap onto Effort, the one lever everybody already suspects.
Pro tip: Run a two-question check before any bridge. Does logged time equal billed plus written-off time, and does every hour carry a cost rate? If either answer is no, fix the data first.
How Teamwork.com runs the margin bridge for you
Every mistake above comes down to data living in separate places, and that's a problem software should solve for you. The bridge gets easy once quotes, cost rates, time and invoices sit in one system. One of the reasons I joined Teamwork.com was that it treats quote to cash as one connected flow, with margin visible as delivery happens.
That's the agentic PSA (professional services automation) idea in practice. Project management tools can't manage the money, and traditional PSAs can, but teams resist feeding them, so the numbers suffer. Teamwork.com gives you both, in a platform teams actually want to use. Quotes become projects, budgets track against real cost, time flows into invoices, and invoices sync to your accounting system, with no exports in between.
Every bridge starts from the actual margin, by project and by client. See which projects actually made money: the Profitability Report shows revenue, cost and profit side by side. The gap to quote is ready before the review starts, and I use it as the scoreboard the levers explain.
)
Freezing a baseline and watching drift both depend on a budget that knows its own target. Spot a lever moving before the project closes: Budget Tracking covers fixed fee, time and materials and retainer budgets. Task list budgets, profit margin targets, budget thresholds and notifications flag drift, and the Planned vs. Actual Report shows where hours ran ahead.
)
The Mix lever only exists if every hour carries the right cost. Price the real blend on each job: Quoting & Costing Work sets custom cost rates and billable rates per person, role, project or client. Quotes convert straight into projects, so your Step 1 baseline and your actuals run on the same rates.
)
Scope and Leakage both start at the timesheet. Make every billable hour count: Time Tracking gives your team timers, timesheets, a billable flag and time approvals. Approved time then flows into Invoicing and on to Xero or QuickBooks through the accounting integrations.
)
The SugarCRM customer story shows what closing the Leakage gap looks like at scale. SugarCRM does well over $10 million in invoicing a year and credited less than $20,000 in the last year. That's because its project, time and billing data sit together in Teamwork.com.
Step 6 is where most reviews stall, because feeding lessons into the next quote takes time nobody has. Price the next project from what similar work actually cost: the AI Profitability Forecaster predicts profitability from your historical revenue and cost data. Pair it with Financial and Utilization Insights to see whether a Mix problem is a one-off or a team habit.
)
)
)
)
)
)
)
)
)
)