Clients

Project profitability, from hours you already log

You almost certainly have the data. What's missing is a loaded cost per hour and ten minutes of arithmetic.

Project profitability calculated from logged hours

Project profitability = revenue for the project − (hours logged × loaded hourly cost). The revenue number you already have. The hours you have too, if your team logs daily work against a project. The piece almost everyone is missing is the loaded hourly cost — salary plus employer costs plus overhead, divided by genuinely available hours — and using salary alone instead makes every project look 40–60% more profitable than it is.

Key takeaways
  • Profit per project = revenue − (hours × loaded hourly cost). The word "loaded" is doing all the work.
  • Loaded cost = (salary + employer costs + allocated overhead) ÷ available hours, not calendar hours.
  • Available hours ≠ 2,080. Subtract leave, holidays and non-billable time or you'll understate cost by a third.
  • Include internal and non-billable time in overhead — otherwise it silently disappears from every project.
  • Expect a surprise: the client everyone likes is often the least profitable, because pleasant clients get extra unbilled effort.

The formula, and the one term people get wrong

The shape is trivial:

Project profit = project revenue − project cost
Project cost = Σ (hours logged by each person × that person's loaded hourly cost)

Everyone computes revenue correctly. Almost everyone computes cost wrong, by using the salary rate: ₹60,000 a month ÷ 160 hours = ₹375 an hour. That number ignores employer statutory contributions, the cost of the desk and the laptop and the software, and — most significantly — the fact that nobody delivers client work for every working hour of the year.

Building a loaded hourly cost

Four steps, per person or per role band:

  1. Annual salary cost. Gross annual salary plus employer statutory contributions (provident fund and similar) plus any bonus you actually pay. Call this ₹8,40,000 for a ₹60,000-a-month employee with employer costs added.
  2. Allocated overhead. Rent, utilities, software, hardware, admin salaries, accounting, insurance — total annual overhead divided by headcount. Say ₹1,80,000 per person.
  3. Available hours. This is the step that changes the answer most. Start from 52 weeks × 40 hours = 2,080, then subtract:
    • Leave — 18 days × 8h = 144h
    • Public holidays — 11 days × 8h = 88h
    • Internal and non-billable time — admin, training, business development, internal meetings. Realistically 20% of what remains ≈ 370h
    Leaving roughly 1,478 available hours, not 2,080.
  4. Divide. (₹8,40,000 + ₹1,80,000) ÷ 1,478 = ₹690 per hour.

Compare that with the naive ₹375. Using the salary rate would have understated the cost of every hour by 45%.

A worked example

A website project invoiced at ₹2,40,000. From the task log:

Designer — 120h @ ₹690₹82,800
Developer — 180h @ ₹810₹1,45,800
Project manager — 40h @ ₹920₹36,800
Total cost₹2,65,400
Revenue₹2,40,000
ResultLoss of ₹25,400 — a margin of −10.6%

Run the same numbers with unloaded salary rates and the project shows a comfortable profit of about ₹95,000. That gap is the difference between a business that thinks it is doing fine and one that knows where it is losing money. The correction is not to work harder on this project — it is to price the next one from this data.

The five mistakes that distort the number

What to do with an unprofitable project

A negative margin is information, not a verdict. Work through the causes in order:

  1. Was it underpriced, or overdelivered? Compare hours logged against hours quoted. If you sold 200 hours and delivered 340, this is a scope problem, not a pricing problem — and the fix is capturing scope changes as billable lines.
  2. Were the estimates wrong? If your estimate-to-actual ratio is 1.6 and you priced at 1.0, the project was unprofitable before it started. Fix the estimating loop.
  3. Was the wrong person on it? Senior time on work a junior could do is a common and quiet margin leak.
  4. Is it strategically worth it? Some loss-making projects genuinely earn their place — a reference client, an entry into a sector. That is a legitimate decision, but it should be a decision, not an accident you discover a year later.

And be ready for the uncomfortable finding: the client everybody enjoys working with is often the least profitable, precisely because pleasant clients get extra effort nobody bills for. That is worth knowing before renewal, not after.

Make it monthly, not annual

Profitability computed once a year is a post-mortem. Computed monthly, it is a steering input — you can catch a project drifting at 40% completion, while there is still scope to renegotiate, reassign or reduce.

Two numbers reviewed monthly are enough for most small businesses: margin per active project, and hours delivered versus hours sold per retainer. The second is what should set the price at renewal — the method is here.

Quick reference

Profit formulaProject revenue − (hours logged × loaded hourly cost)
Loaded cost formula(Annual salary + employer costs + allocated overhead) ÷ available hours
Available hours example2,080 − 144 leave − 88 holidays − ~370 non-billable ≈ 1,478
Worked loaded rate(₹8,40,000 + ₹1,80,000) ÷ 1,478 ≈ ₹690/hour
Naive rate errorSalary-only rate (₹375) understates true cost by about 45%
Review cadenceMonthly, per active project — annual review is a post-mortem
Retainer metricHours delivered vs hours sold, per period

Frequently asked questions

How do you calculate project profitability?

Subtract project cost from project revenue, where cost is the sum of each person's hours on the project multiplied by their loaded hourly cost. Loaded cost means salary plus employer statutory contributions plus allocated overhead, divided by the hours that person is genuinely available for client work — not by total calendar hours.

What is a loaded hourly cost?

It is the true hourly cost of employing someone: annual salary plus employer contributions plus their share of overhead such as rent, software, hardware and admin, divided by available hours after leave, holidays and non-billable time. For a ₹60,000-a-month employee this typically works out near ₹690 an hour, against a naive salary-only figure of about ₹375.

How many billable hours are in a year?

Far fewer than the 2,080 implied by 52 forty-hour weeks. After roughly 18 days of leave, 11 public holidays and about 20% of the remainder spent on internal work, admin, training and business development, around 1,450 to 1,500 hours is realistic. Using 2,080 understates your hourly cost by roughly a third.

Why does a project look profitable until you use loaded costs?

Because salary-only rates exclude employer contributions, overhead and the reality that nobody delivers client work every working hour. Those exclusions typically understate cost by 40 to 60%, which is enough to turn a genuine loss into an apparent profit — and to keep you repeating the same underpricing.

What should I do if a project is unprofitable?

Diagnose before acting. Compare hours delivered against hours quoted to see whether it was underpriced or overdelivered, check whether your estimates were systematically low, look at whether senior people did work a junior could have done, and then decide whether the project is strategically worth continuing. A deliberate loss-leader is fine; an accidental one is not.

How often should project profitability be reviewed?

Monthly for active projects. Annual review is a post-mortem — you learn what happened but can no longer influence it. Monthly review lets you catch a project drifting at 40% completion, while renegotiating scope, reassigning people or adjusting the plan is still possible.

How Merik handles it

The hours side of this calculation is a by-product of Merik's daily task log: every entry carries its client and project, time spent and who did it, so per-project hours exist without a separate exercise. Project Intelligence rolls those entries into a per-project view — stage stepper, contributor breakdown, sparklines and drill-down — which is the "hours logged by each person" term in the formula above.

Quotes and invoices sit against the same client and project records, so invoiced value and delivered effort can be read side by side rather than reconciled across two systems. Add your loaded hourly rates and the margin calculation is arithmetic on data you already have. See the task insights and project modules, the feature list, or how it works.

Create your workspace →

Or talk to us about your team →