Bench pressure and utilization: stop margin loss

Bench looks like a staffing issue: who is free next week. For the owner and finance it is already money: payroll continues, and those hours will not hit the invoice—or they will land as a disputed line. If you only watch utilization in the tracker, the decision arrives at month-end, after margin has already compressed.

This is for T&M and hybrid service teams. It is not “hire faster” and not a PSA replacement: how to tell approved-scope billable hours, hours in a scope change without a money status, and idle time—before you invoice.

Who this is for: owner, delivery lead, and finance in teams of roughly 10–50 FTE.
When to read: if people sit on the bench while Friday close still cannot answer what is invoice-ready.
What you get: four weekly states per person, bench cost in money, a three-role weekly contour, failure modes, and product boundaries.
Next step: 20-minute review and pilot plan, KPI and go/no-go, security and procurement pack.

Expected pilot outcome (directional, not a guarantee):
1) bench cost is visible in money every week, not only as a utilization percentage;
2) idle hours are not mixed into “ready to invoice” lines;
3) on 2–3 engagements there is an explicit call: internal work, a scope-change request, reassignment, or wait—before period close.

TL;DR: utilization without a link to the invoice is silent margin leak. You need “can we bill this,” not “Tempo says we were busy.”

Three decisions in 30 seconds:
1) review utilization by role and engagement weekly, not as one company number;
2) price idle time in currency (cost rate × hours without billable cover);
3) in the same slot, reconcile invoice readiness: what to bill, what is in approval, what must not go on the act.

What bench and utilization mean here

Utilization is the share of time someone spent on work the company counts as “busy.” In the tracker that is often any worklog. For margin, billable utilization matters: hours the contract allows you to put on the customer invoice.

Bench is paid time without client-scope cover: no engagement, a pause, or someone rolled off with no start date for the next one. That is not the same as internal work, presales, or training. Internal work can be a named decision. Idle time without a plan cannot.

The mix-up is expensive. “85% utilized” with a third of hours dumped internally or over SoW without status looks healthy in delivery and broken on the invoice. See also reconciliation before invoice.

Why bench compresses margin quickly

In a 10–50 FTE shop, most cost is people. Revenue arrives in batches: acts, milestones, monthly invoices. A week idle for a senior at an illustrative cost rate of 2,500 RUB/hour and 32 paid hours is on the order of 80,000 RUB with nothing on the invoice. Two such roles for two weeks looks like a “mystery” margin dip later blamed on discount or a difficult client.

Figures are illustrative. The point is timing: idle cost is immediate; revenue waits for invoice readiness. If you only see margin after ledger close, reassignment is already late.

A second leak sits next to bench and is often merged with it. Someone is “utilized” on an engagement, but hours exceed approved scope with no money status on the change. Tracker utilization is high. Those hours are not invoice-ready. That is not bench; it is scope change without a commercial path and disputed lines.

Four states of a person’s week

A weekly review only needs four buckets. Do not fold them into one “busy” percentage.

  1. Billable on approved scope. Inside SoW / live T&M, rates known, you can prepare the invoice pack.
  2. On the engagement, scope not commercially closed. Overrun, “we’ll do it for now,” waiting on the client. Work in the tracker. A blocker on the invoice until the volume change has a status.
  3. Non-billable occupied time. Presales, internal product, training, admin. An owner decision: investment, not idle. Name it and cap it, or it hides bench.
  4. Bench. No client cover and no named internal assignment for the week. Cost is payroll (or a payroll share) for those hours.

Delivery usually sees (1) and parts of (2). Finance sees the invoice. The owner hears “everyone is busy.” Without a shared bucket table, the three roles argue from different facts.

How to price bench for one week

A minimum model from payroll and the tracker, without a PSA:

Keep unbilled tail separate: bucket (2) hours still without a money status. Not bench, same cash hit. See unbilled WIP.

You set the “alarm” threshold. A practical signal: bucket (4) above your internal bar two weeks in a row on one role, or bench rising with no engagement start date in the pipeline. One quiet week after a release is not yet a system.

Why a tracker hours report is not enough

Jira, Yandex Tracker, YouTrack, and Tempo answer who logged what. They do not answer whether those hours may go on the invoice, whether scope is agreed, or whether someone is parked on an engagement “until something else appears.” MarginLayer does not replace the tracker: actuals are read one-way. The layer exists so “logged” and “invoice-ready” are not the same number.

“Who is on the bench / whom to hire” is a capacity-planning class of tool. If that is the only pain, a commercial layer before invoice will not replace it and should not pretend to. If utilization is “green” while the invoice is disputed or month-end is a surprise, put buckets (2) and (4) on the same weekly review.

Weekly contour: owner, delivery, finance

One 45–60 minute slot. Not a separate utilization committee and not delivery-only.

The output is named decisions and dates, not “we looked at utilization.” Tie it to the invoice-readiness checklist: bench must not become a hidden invoice line “so people are not idle.”

Typical mistakes

What to do in 7 days

  1. Pick 2–3 live engagements and the people on them (or who should be).
  2. Tag last week into the four buckets. If cost rate is missing, use a working estimate and mark the assumption.
  3. Compute weekly bench cost and a separate list of bucket (2) hours without a money status.
  4. In one slot with delivery and finance, decide for each item: internal assignment, volume escalation, reassignment, or explicit wait.
  5. Store the outcome where you will find it in seven days—not only in chat.

When not to start this review

FAQ

Is this the same as Tempo utilization or a Jira report?

No. Those are logged hours. This is whether they may be billed, and whether “busy” is hiding idle time or unscoped work. Tasks stay in the tracker.

Will MarginLayer raise utilization by itself?

No. The product does not promise margin or utilization lift out of the box. A pilot checks whether idle time and disputed volume are visible before invoice on 2–3 engagements.

Do we still need a resource-planning tool?

If the pain is who is free in six weeks and whom to hire, that is capacity. The commercial layer closes a different gap: actual hours ↔ scope ↔ invoice. They can sit side by side; do not merge the promises.

Which KPI belongs in the pilot?

Closer to the pilot canon: disputed invoice lines, time to invoice-ready, share of volume changes with a money status. Bench cost in money is a useful owner operating indicator, not a substitute for those three if the pilot goal is invoice readiness.

Next step

After the call: which 2–3 engagements to use, how to tag buckets for one week, KPI passport, and data checklist.

Boundaries and assumptions

Pilot ranges and the bench arithmetic are illustrative and anonymous. Outcomes depend on hour quality, rates, and whether the review actually happens every week. MarginLayer does not replace ERP/ledger, does not issue the legal invoice, and is not a resource-planning system. The cabinet is the management contour before invoice: scope, actuals, change status, readiness to bill.