Studies & referenceStudies & reference

How to Estimate the Cost per Hour of Coverage in Low-Demand Time Slots

9 min read

What this formula measures (and what it doesn't)

The cost per hour of coverage answers a very specific question: how much it costs you to have people available to respond during one hour of the day, regardless of how many messages come in during that hour. It is not the same as the cost per conversation or the cost per hour of an agent. The cost per hour of an agent is an input; the cost per hour of coverage is the result of dividing everything it costs to sustain the time slot by the hours that slot lasts.

The difference matters because in low-demand slots the numerator barely changes and the denominator collapses. An hour from 15:00 to 16:00 with forty conversations and an hour from 23:00 to 24:00 with three conversations can cost exactly the same if the same staffing covers them. What collapses is the cost per conversation, not the cost per hour. If you look only at the cost per conversation, the nighttime slot seems extremely expensive; if you look only at the cost per hour, it seems free. Neither reading is useful for making decisions.

This page works with the cost of coverage, not with the prices of any tool. Wando's prices are at wando.online/pricing and Meta's vary by country: they are checked in the official documentation.

The base formula, in three steps

The calculation is built in three chained steps. First, the fixed cost of the slot is calculated: everything you pay to have the slot covered, whether or not a message comes in. Second, the variable cost of that slot is calculated: what actually moves with volume. Third, the sum is divided by the hours the slot lasts. That division is the cost per hour of coverage.

  1. 1Step 1 — Fixed cost of the slot = (agents assigned × hours of the slot × cost per hour of the agent) + fixed costs of the slot (licenses, telephony, prorated supervision).
  2. 2Step 2 — Variable cost of the slot = conversations in the slot × variable cost per conversation (templates, outbound messages, any consumption that scales with volume).
  3. 3Step 3 — Cost per hour of coverage = (Fixed cost of the slot + Variable cost of the slot) ÷ hours of the slot.

The cost per hour of the agent is the critical input and it is usually miscalculated everywhere. The typical mistake is to use the gross salary as if it were the cost: you need to add social charges, bonus, vacation, average absenteeism and non-productive time (training, meetings, breaks). If you take the gross amount, the cost per hour of coverage will come out between 40% and 70% lower than reality, and any decision to cover or not cover a slot will be made on a false number.

How fixed cost is distributed across time bands

If the same team covers several time bands of the day, the fixed cost cannot be assigned entirely to each one. There are four reasonable criteria, and it is best to choose one and stick with it. The hours-based criterion distributes the total fixed cost in proportion to the duration of each time band. The staffing-based criterion distributes it in proportion to how many agents each time band requires to meet its own response time target. The minimum staffing criterion first assigns the operating floor of each time band and distributes the rest by hours. The direct criterion assigns to each time band only the cost of the agents who are exclusively in it.

CriterionHow it is distributedWhen it is appropriateWhat it distorts
By hoursTotal fixed cost ÷ total operating hours × hours of the time bandWhen staffing is similar across all time bandsMakes long time bands look cheap even if they are overstaffed
By staffingTotal fixed cost × (agents in the time band ÷ sum of agents across all time bands)When staffing changes sharply between time bandsMakes time bands that require more people look expensive even if they have low volume
By minimum staffingThe minimum staffing of each time band is assigned first and the rest is distributed by hoursWhen there is an operating floor that cannot be loweredRequires defining beforehand what that minimum staffing is, and that is a decision, not a fact
DirectOnly the cost of the agents who are exclusively in the time band is assigned to itWhen there are agents dedicated to a single time bandUnderestimates the cost of time bands that share people with others

All four criteria are valid. The mistake is changing criteria between time bands and then comparing them with each other: the comparison stops making sense because each time band was measured with a different rule.

Concrete example: night time band of a clinic

Let's look at a real case of a clinic with a night shift. The time band is from 22:00 to 6:00 (8 hours). There is one on-duty agent who responds in 15 minutes and one prorated supervisor. The hourly cost of the agent with overhead is $4,500. The fixed cost of the time band includes the full shift plus 20% of prorated supervision. The variable cost is almost zero because three conversations come in all night and none uses a paid template.

  • Fixed cost of the time band = (1 agent × 8 hours × $4,500) + ($4,500 × 8 × 0.20 supervision) = $36,000 + $7,200 = $43,200.
  • Variable cost of the time band = 3 conversations × $0 (no paid templates) = $0.
  • Cost per hour of coverage = ($43,200 + $0) ÷ 8 hours = $5,400 per hour.
  • Cost per conversation = $43,200 ÷ 3 = $14,400 per conversation.

Now the same calculation for the time band from 15:00 to 16:00, where 40 conversations come in and there are two active agents. Fixed cost = (2 × 1 × $4,500) + ($9,000 × 0.20) = $9,000 + $1,800 = $10,800. Variable cost = 40 × $0.30 average template = $12. Cost per hour of coverage = $10,812. Cost per conversation = $10,812 ÷ 40 = $270.30.

The comparison is brutal: the nighttime slot costs half per hour ($5,400 versus $10,812) but 53 times more per conversation ($14,400 versus $270). If you look only at cost per conversation, the night is a disaster and the temptation is to cut it. If you look only at cost per hour, the night seems cheap and the temptation is to leave it as is without reviewing anything. The right decision comes from comparing the cost of the nighttime slot against the expected value of the three conversations that come in: if they are medical emergencies worth more than $14,400 each in reputation or in referrals, the slot is justified; if they are schedule inquiries, it is not.

Comparison table by team size

The following table shows how the cost per hour of coverage behaves depending on team size, in a one-hour slot. The agent cost-per-hour columns are example values so the mechanism is visible: replace them with your real number. What matters is the shape of the result, not the values.

Team assigned to the slotAgent cost per hour (example)Fixed cost for the hourVariable cost (10 conversations)Cost per hour of coverageCost per conversation
1 agent$10,000$10,000$2,000$12,000$1,200
2 agents$10,000$20,000$2,000$22,000$2,200
3 agents$10,000$30,000$2,000$32,000$3,200
4 agents$10,000$40,000$2,000$42,000$4,200
2 agents + 1 on call$10,000$20,000 + on call$2,000Depends on the on-call costDepends
1 agent + auto-reply outside business hours$10,000$10,000$2,000$12,000$1,200 (only on what is handled live)

Example values, not prices from any provider. The last row shows the case where part of the volume is resolved without an agent: the cost per hour does not go down, but the cost per conversation handled live does, because the denominator changes.

The important takeaway from the table is that the cost per hour of coverage scales with staffing and the cost per conversation scales with staffing and with volume at the same time. When the volume in the slot is low, the second number spikes without the first one moving. That does not mean the slot is a waste: it means its justification cannot be volume, it has to be something else.

The cutoff point: when to stop covering a slot

A low-demand slot is covered for one of these reasons: because the business sells during that time, because the volume is low but the value per conversation is high, because there is an operational or contractual obligation, or because the cost of not answering is greater than the cost of answering. If none of those reasons applies, the slot is not covered and is handled with an automatic message that sets a response expectation.

The cutoff point is calculated by comparing two numbers, not one. On one hand, the hourly cost of covering the time slot. On the other, the expected value of the conversations that are lost if the time slot is not covered. If the second is greater than the first, the time slot is justified even if the cost per conversation is extremely high. If it is lower, it is not justified even if the hourly cost seems low.

Reason to cover the time slotHow it is verifiedWhat to do if it is not verified
It sells during that scheduleThere are conversations that end in an order, reservation or payment within the time slotRemove the staffing and leave an automatic reply with the reopening hours
Low volume but high valueThe average value per closed conversation exceeds the hourly cost of coverageReassign the time slot to on-call staff instead of full staffing
Operational or contractual obligationThere is a written commitment to respond during that scheduleThere is nothing to calculate: the cost is the price of complying
The cost of not responding is greaterThere are complaints, cancellations or urgent matters that escalate when no one respondsKeep coverage, but measure how many real urgent matters there are per time slot
None of the aboveThere is no evidence of any of the four casesDo not cover. Automate the response and review the decision in three months

The middle column is the one that is almost never completed. Without that verification, the decision to cover or not cover a time slot is made out of habit.

How to measure the real volume of a time slot before calculating

Before applying the formula, you need to know how many conversations fall within the time slot, and that number has traps. The first is the time zone: if the database stores dates in UTC and the business operates in local time, all the time slots will be shifted. The second is the date field used to group: you must use the message timestamp as reported by the channel, not the date the record was saved, because a history import can concentrate months of messages into two days and ruin any hourly distribution.

The third trap is counting messages instead of conversations. A time slot with twenty messages can have three conversations or twenty. The hourly cost of coverage does not change, but the cost per conversation does, and the decision to cover or not cover is made based on conversations. Count conversations started in the time slot, not total messages.

  • Check the time zone before grouping by hour.
  • Group by the message timestamp, not by the record's upload date.
  • Count conversations started, not messages.
  • Separate the conversations that resolved themselves from those that needed a person.
  • Look at at least eight weeks before drawing conclusions: a single week does not show seasonality.

Three mistakes that inflate or hide the cost

The first mistake is assigning the cost of the entire team to the low-demand band. If the same three agents cover from 9:00 to 18:00, the cost of the 17:00 hour is not the cost of all three agents: it is the portion that corresponds to it according to the allocation criterion you have chosen. Assigning everything to the slow band makes it look unsustainable and leads to cuts right where there is nothing to cut.

The second mistake is treating minimum staffing as if it were a variable. If the business cannot operate with fewer than two people per shift for reasons of safety, backup, or agreement, that minimum staffing is not a coverage decision: it is a floor. The cost per coverage hour for that band will be high and no formula can bring it down, because the floor is not up for discussion.

The third mistake is not counting on-call time. An on-call agent who is not in front of the screen but has to respond within ten minutes does not cost the same as an agent who is off, and does not cost the same as an active one. If the band is covered with on-call staff, the cost per coverage hour must include that availability, even if there are no conversations.

None of these three mistakes is fixed with a tool. They are fixed by first defining what is fixed, what is variable, and what is an operational floor.

How to use the number once you have it

The cost per coverage hour serves three concrete decisions. The first is to compare bands with each other using the same allocation criterion, to see which one is sustained by volume and which one for another reason. The second is to justify to the business why a band is covered or left uncovered, with a number in hand instead of an opinion. The third is to measure the effect of a change: if a band is moved to automatic replies with AI suggestions and human review, the cost per coverage hour for that band drops to whatever supervision costs, and the cost per conversation can be compared against the previous one.

That last point is where a tool like Wando can come in, but only as one piece of the calculation: the AI suggests replies and the team approves them with one click, so it reduces active time per conversation without eliminating human review. It does not eliminate the cost of the band, it lowers it. The formula remains the same; the numerator changes. If you want to see how the inbox behaves with suggestions, you can try it with the 14-day free trial, no card required.

It is a good idea to recalculate the number every quarter. Staffing changes, volume changes, and fixed costs change. A cost per coverage hour calculated once and filed away serves to justify an old decision, not to make a new one.

Frequently asked questions

What is the difference between cost per hour of coverage and cost per hour of an agent+

The cost per hour of an agent is what one person costs per hour, with overhead included. The cost per hour of coverage is what it costs to sustain an entire time slot, adding up all assigned agents plus the fixed costs of that time slot, divided by the hours it lasts. The first is an input for the second.

Why does the cost per conversation spike in low-demand time slots+

Because the cost of sustaining the time slot barely changes even if few conversations come in. If the same staffing is available at 23:00 as at 15:00, the cost per hour is the same, but the conversation denominator is much smaller. The number rises because of the denominator, not because the time slot is inherently inefficient.

How do I allocate the fixed cost if the same team covers several time slots+

Choose one criterion and stick with it: by hours, by staffing, by minimum staffing, or direct. Any of the four is defensible. The problem is changing criteria between time slots and then comparing them to each other, because the comparison stops making sense.

When does it make sense to stop covering a time slot+

When there are no sales in that time slot, the value per conversation does not justify the cost, there is no operational obligation, and the cost of not answering is lower than the cost of answering. In that case, staffing is replaced by an automatic response that sets expectations about hours, and the decision is reviewed in a few months.

What is minimum staffing and why can't it be lowered+

It is the number of people below which the shift cannot operate for reasons of safety, backup, agreement, or continuity. It is not a coverage decision: it is a floor. If the time slot has minimum staffing, its cost per hour will be high and the formula cannot reduce it.

How often should the cost per hour of coverage be recalculated+

Every quarter is a reasonable interval, or whenever staffing, the volume of the time slot, or a relevant fixed cost changes. A number calculated only once serves to justify an old decision, not to make a new one.

Answer WhatsApp with AI

Try Wando free. No credit card required.