How to Calculate Project Margin Like a CFO, No MBA Required
Profit hides in the details. A US Bureau of Labor Statistics paper shows professional‑services firms gross roughly 38% margin at the project level, yet agency surveys reveal many projects scrape by below 20%.
Why the gap? Teams track hours but stop short of turning those hours into unit economics. This guide closes that gap. You will learn:
- The four numbers behind project margin
- A Google Sheet template that ingests one Remotinio export and outputs margin per deliverable
- A repeatable month‑end routine
- Three levers to lift margin without staff burnout
Total setup time: thirty minutes; monthly upkeep: ten.
1. The CFO’s Four Numbers
- Billable Revenue – money invoiced to the client for the project.
- Direct Labor Cost – salary cost for everyone who worked on the project.
- Direct Expense – outside costs tied only to this project, for example stock photos.
- Gross Project Margin – (Revenue − Direct Labor − Direct Expense) ÷ Revenue.
Benchmark: aim for gross project margin around 50 percent. BenchPress 2025 reports average gross profit fell below 40 percent, and notes 50 percent as the target that fewer than a quarter of agencies hit.
2. Set Up Your Margin Tracker Sheet
- Open Google Sheets; name it Project Margin Tracker.
- Create columns: Project, Sub‑project, Planned Hours, Actual Hours, Cost Rate, Labor Cost, Expense, Revenue, Margin %.
- Add a table on the right with each role and its hourly cost rate. You can use fully‑loaded salary ÷ 1 600 hours or a blended rate.
- Share the sheet link with finance, project management, and leadership.
3. Export Actuals from Remotinio
- Navigate to Reports → Project; pick the current month.
- Export CSV; open in a new sheet tab.
- Columns of interest: project name, sub‑project, user, hours.
- Use SUMIFS to total hours per role per sub‑project.
Copy the totals into the Actual Hours column of your tracker.
4. Compute Direct Labor Cost
Use the formula: Labor Cost = Actual Hours × Cost Rate
If Developer A logs 30 hours and costs $45 per hour: 30 × 45 = $1 350
Automation tip: in the sheet use VLOOKUP
to pull the hourly cost from your role table.
5. Add Direct Expenses
Direct expenses include software licenses purchased solely for the project, contractors, photos, or ad placements. Copy these numbers from your accounting system into the Expense column. If no expense, enter zero.
6. Record Revenue for the Same Period
You have three common billing models:
Model | Where to pull the number |
---|---|
Hourly / T&M | Multiply billable hours in Remotinio by the client rate. |
Fixed fee | Use the amount invoiced this month. |
Retainer | Use monthly retainer amount; attribute across active projects if multiple. |
Enter the figure in the Revenue column.
7. Calculate Margin Automatically
Set Margin % to: =(Revenue - Labor Cost - Expense) / Revenue
Format as percent. The sheet now shows margin per sub‑project and, via a grand‑total row, margin for the entire project.
Green if ≥ 45 percent; yellow 35‑44; red below 35.
8. Monthly Margin Review Routine
- First workday – export previous month’s CSV; refresh the sheet.
- Compare – highlight any project under thirty‑five percent; generate a PDF copy for leadership.
- Investigate – low margin usually traces back to one of three roots:
- Scope creep hours in Change Requests
- Over‑servicing in Meetings
- Under‑estimated production hours
- Scope creep hours in Change Requests
- Action – renegotiate scope, raise future price, or tighten estimates.
- Log – note corrective action in a Notes column; revisit next month.
9. Three Levers to Lift Project Margin
Lever | How it works | Expected lift |
---|---|---|
Raise blended rate by $10 | Clients rarely notice a moderate bump; on a 400‑hour build you gain \$4 000 revenue. | +4 to +6 margin points |
Cap internal rework at five percent | Add a Rework sub‑project; move any unpaid do‑over hours there. | +2 to +3 points |
Reduce meeting load | Limit status calls to fifteen minutes; shorter calls free billable time. | +1 to +2 points |
Related reads: Scope Creep Costs Real Dollars; Billable vs Non‑Billable Hours.
10. Example Calculation
A branding project in April:
Item | Value |
---|---|
Revenue | $28 000 |
Labor cost | $12 500 |
Direct expense | $1 000 |
Margin | ((28 000 − 12 500 − 1 000) ÷ 28 000) × 100 = 51.8 percent |
Above the forty‑five percent target; keep doing what works.
FAQ
Where do I store cost rates?
Use a hidden sheet tab with one row per role; reference it via VLOOKUP
.
Do I need to track non‑billable internal time?
Yes, internal hours inflate cost; include them under Labor Cost even if not billed.
We invoice after completion; how do we handle monthly margin?
Track costs monthly; enter zero revenue until invoicing. Margin will look negative, which flags funding needs; after invoicing, margin normalizes.
Can I calculate margin directly in Remotinio?
Remotinio tracks hours, not internal cost, so use the external sheet for cost and margin until a native cost feature arrives.
Related read: Preventing Budget Overruns.
Take Action This Week
- Copy the Project Margin Tracker template; paste last month’s CSV.
- Calculate margin for your top three projects.
- Pick the lowest margin job; identify the biggest cost leak; apply one lever.
Accurate margin is agency x‑ray vision; the sooner you see through the numbers, the faster you can build sustainable profit.
Ready to keep cost and revenue live under one roof? Start a free 14‑day Remotinio trial now, no credit card required.