You almost certainly have the data. What's missing is a loaded cost per hour and ten minutes of arithmetic.
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.
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.
Four steps, per person or per role band:
Compare that with the naive ₹375. Using the salary rate would have understated the cost of every hour by 45%.
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 |
| Result | Loss 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.
A negative margin is information, not a verdict. Work through the causes in order:
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.
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.
| Profit formula | Project revenue − (hours logged × loaded hourly cost) |
|---|---|
| Loaded cost formula | (Annual salary + employer costs + allocated overhead) ÷ available hours |
| Available hours example | 2,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 error | Salary-only rate (₹375) understates true cost by about 45% |
| Review cadence | Monthly, per active project — annual review is a post-mortem |
| Retainer metric | Hours delivered vs hours sold, per period |
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.
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.
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.
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.
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.
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.
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.