Studies & referenceStudies & reference

WhatsApp Support Staffing Calculator: How Many Agents You Need Based on Your Volume

9 min read

This page doesn't tell you how many people to hire: it gives you the formula to calculate it with your own numbers and a table to check off assumption by assumption. Support staffing isn't decided by gut feeling or by 'we're all swamped': it's decided with volume, average handling time and a target occupancy. If you have those three data points, the rest is arithmetic.

The most common mistake is calculating with the average instead of the peak. A team that handles the average and collapses every Monday morning isn't sized: it's averaged. The formula below forces you to separate the two.

The three variables that go into the formula

Every support staffing calculation rests on three numbers. If one of the three is measured wrong, the result comes out wrong even if the math is right.

  • Volume: how many new conversations come in per hour (or per day) in the period you want to cover. You count conversations, not messages: if a customer sends six messages in a row, that's one conversation.
  • Average handling time (AHT): how long it takes one person to read, resolve and close a conversation, in minutes. It includes the time spent writing, looking up information and typing the reply, not just thinking.
  • Target occupancy: what percentage of the workday you want the team to be actively handling conversations. You don't aim for 100%: if everyone is always busy, no one is left for the peak or for thinking. A usual working range is 65% to 80%.

Occupancy isn't a productivity number: it's a design decision. Raising it lowers the cost per conversation and raises customer wait time. Lowering it does the opposite. There's no universal correct value, there's one you choose and sustain.

The formula

Base staffing is calculated like this:

Agents needed = (Conversations per hour × AHT in minutes) ÷ (60 × Target occupancy)

The numerator is the workload: how many minutes of attention one hour of operation demands. The denominator is how many useful minutes a person actually has in that hour. The quotient gives how many people are needed to absorb that workload at that occupancy.

Example with round numbers: 30 conversations per hour, AHT of 6 minutes, target occupancy of 75%. The workload is 30 × 6 = 180 minutes. The useful capacity per person is 60 × 0.75 = 45 minutes. 180 ÷ 45 = 4 agents.

That 4 is the staffing for the peak hour, not the staffing for the month. The formula is applied hour by hour and then you look for the combination of shifts that covers all hours without overstaffing the valleys.

Example table: staffing by volume and AHT

The table assumes a target occupancy of 75% and a 60-minute hour. That is 45 useful minutes per person per hour. Read the row for your volume and the column for your AHT: the intersection is the number of agents you need in that hour.

Own calculation: agents = (conversations × AHT) ÷ (60 × 0.75), rounded up. Target occupancy 75%. The values are a reference for applying the formula, not an industry standard.

Conversations per hourAHT 4 minAHT 6 minAHT 8 minAHT 10 min
101223
202345
303467
404689
60681114
808111518

Look at the last row: with 80 conversations per hour and an AHT of 10 minutes, you need 18 people. With the same volume and an AHT of 4 minutes, 8. The difference between 18 and 8 is not about staffing, it's about process: cutting AHT in half does the same work as doubling the team, and it's cheaper.

How to measure each variable without fooling yourself

The calculation is easy; measuring well is the hard part. These are the mistakes that make the formula produce a number that doesn't hold up in reality.

  • Counting messages instead of conversations. If you count messages, the volume gets inflated and staffing comes out high. Count threads or closed conversations.
  • Measuring AHT using the fastest person's time. AHT is a team average, not the best case. If you have different shifts, measure by shift.
  • Measuring AHT only on easy inquiries. Difficult inquiries are the ones that consume the workday. If your sample doesn't include them, AHT will go up when they arrive.
  • Calculating with the daily average instead of the peak hour. The average hides the peak. Staffing is defined by the peak and adjusted for the valley.
  • Ignoring non-conversation work. Responding is not the only task: you have to read, search the system, escalate, document. That goes into AHT or goes in as a separate factor.

If you measure volume with data from your own operation, use the message timestamp (the one assigned by the messaging platform), not the insertion timestamp in your database. The insertion date can be off if there were imports or migrations, and it will give you a false time distribution.

From peak to week: how to go from agents per hour to hired people

The formula gives you agents per hour. What you hire are people with a workday, days off, and vacations. To go from one to the other, there are three adjustments applied in order.

  1. 1Build the volume curve by hour for the week. Not an average: all 168 hours. Mark the peak hours and the valley hours.
  2. 2Apply the formula hour by hour. You will get the minimum staffing for each hour.
  3. 3Add the minutes of non-conversation work that you didn't include in AHT (meetings, training, reports). This translates into a percentage of the workday that is subtracted from available capacity.
  4. 4Apply the coverage factor for absenteeism. If each person works 5 days and the team covers 7, you need more people than the sum of agents per hour.
  5. 5Apply the turnover and leave factor. Vacations, leaves, and departures are covered with extra staffing or overtime, and it's better to decide this in advance, not when it happens.
  6. 6Find the combination of shifts that covers the curve with the fewest people. That's your hiring number.

The coverage factor is the one most often forgotten. If you need 4 agents seven days a week and each person works five days, you cannot cover with 4 people: you need 4 × (7 ÷ 5) = 5.6, that is 6 people, before adding vacations.

Adjustment factor table

These factors are multiplied together on top of the hourly staffing. They are not official values from any standard: they are working ranges that each operation calibrates with its own history. The 'how it is measured' column is the one that matters, because you set the number.

Guideline working ranges, not published standards. Each operation must replace them with its own records.

FactorWhat it representsWorking rangeHow it is measured in your operation
Weekly coverageDays that must be covered versus days each person works1.2 to 1.4 for a 7-day operationCoverage days ÷ working days per person
AbsenteeismUnforeseen absences and short leaves1.05 to 1.15Days lost ÷ planned days in the last quarter
VacationsAnnual vacation days for the team1.04 to 1.08Vacation days ÷ working days in the year
Non-conversational workMeetings, training, reports, internal tasks1.05 to 1.20Minutes per day outside the inbox ÷ minutes in the shift
Peak-valley curveUnavoidable overstaffing to cover the peak1.00 to 1.15Depends on how pronounced your peak is; measured with the hourly curve

They are multiplied, not added. If your coverage factor is 1.3 and the absenteeism factor is 1.1, the combined adjustment is 1.43, not 1.4. With 4 agents per peak hour, that gives 5.7, that is 6 people.

What to do when the number is more than you can hire

Almost always the calculation gives more people than there is budget for. There you do not adjust the formula: you adjust the variables, in this order.

  • Lower the AHT. It is the biggest and cheapest lever. Saved responses, information at hand, fewer back-and-forths. Lowering the AHT from 10 to 6 minutes reduces staffing by 40% at the same volume.
  • Move volume outside the peak. Auto-responses by schedule that inform and contain, without resolving, lower the conversations that reach the peak. They don't eliminate work: they shift it.
  • Raise the target occupancy. It is the fastest and riskiest lever: raising it from 75% to 85% lowers staffing by around 12%, and raises customer wait time. It is done deliberately, not by default.
  • Accept more wait during off-peak hours. Defining a different first response time per time slot is a service decision, not a patch.
  • Reduce hourly coverage. Serving fewer hours with good service usually pays off more than serving all day poorly. It is a business decision.

None of these levers is free: each one changes the customer experience. The formula doesn't decide for you, it only shows you what you are sacrificing when you choose.

Checklist to tick off before publishing the number

Before taking the calculated staffing to a hiring decision, go over these points. If any remains unchecked, the number is not ready yet.

  • The volume is counted in conversations, not in messages.
  • The volume is separated by hour of the week, not averaged.
  • The AHT is a team average, measured on a sample that includes difficult inquiries.
  • The target occupancy is a written decision, not an inherited number.
  • Non-conversational work is accounted for, within the AHT or as a separate factor.
  • The weekly coverage factor is applied if the operation covers more days than each person works.
  • The historical absenteeism of the last quarter is applied.
  • The peak-valley curve is identified and it is known how much it costs to cover it.
  • It is defined what happens if the volume rises 20%: do you hire, raise occupancy or lengthen the wait?
  • It is defined who reviews the calculation and how often (monthly is a reasonable starting point).

How to know if the number was the right one

Staffing is not validated the day you hire: it is validated a month later. These are the signs that the calculation was right and the ones that it needs to be reviewed.

Internal management indicators; they are measured on the history of the operation itself.

SignalWhat to look atWhat it means
Stable waitTime to first response by time slotIf it stays within what you defined, staffing covers demand
Actual occupancyMinutes handling conversations ÷ minutes in the workdayIf it is well above target, the team is overloaded or the actual AHT is higher than measured
Peak queueUnattended conversations in the highest-volume hourA recurring queue in the same slot indicates that this specific period is understaffed
Idle capacityHours with very low occupancyMay indicate overstaffing in that slot or non-conversational work not accounted for

If a peak queue and idle capacity in the valley appear at the same time, the problem is not the number of people: it is shift distribution. Rearrange before hiring.

Where AI fits into this calculation

AI does not change the formula: it changes the AHT. If a system suggests the response and the person approves it with a click, writing time drops and AHT drops with it. That reduces the numerator and, therefore, the staffing needed for the same volume.

The effect is measured, not assumed: compare the AHT of a shift with suggestions against one without them, with similar volume. If the difference does not show up in the measurement, do not count it in the calculation. Wando works with that suggestion-and-approval scheme on the official WhatsApp API, but the number that matters for your staffing is the AHT you measure yourself.

Questions that remain open

The formula gives a minimum staffing level for a given load and occupancy. It does not say whether that load can be distributed better, whether the peak can be shifted, or whether it is better to serve fewer hours with better service. Those are operational and business decisions, and they are made with the table in view, not instead of the table.

Frequently asked questions

How many agents do I need to handle WhatsApp?+

It depends on three numbers: conversations per hour, average handling time and target occupancy. The formula is agents = (conversations × AHT in minutes) ÷ (60 × occupancy). With 30 conversations per hour, 6 minutes of AHT and 75% occupancy, you need 4 agents in that hour.

What is average handling time (AHT)?+

It is the average time it takes a person to read, resolve and close a conversation, measured in minutes. It includes writing, looking up information and escalating. It is measured on the team average, not on the fastest person.

What target occupancy should I use?+

There is no universal value. A common working range is 65% to 80%. Raising occupancy lowers the staffing needed and raises customer wait time; lowering it does the opposite. It is a service design decision that is best left in writing.

How do I go from agents per hour to hired people?+

By multiplying by adjustment factors: weekly coverage (if the team covers more days than each person works), absenteeism, vacation, non-conversational work and the overstaffing the peak requires. The factors are multiplied together, not added.

What do I do if the calculation gives more people than I can hire?+

You adjust the variables, not the formula. The levers are lowering AHT, moving volume off-peak, raising target occupancy, accepting more wait time during off-peak hours or reducing coverage hours. Each one changes the customer experience and is best decided deliberately.

Does AI change the number of agents I need?+

It changes AHT, and with it the result of the formula. If reply suggestions reduce writing time, the staffing needed for the same volume goes down. The effect is measured by comparing shifts with and without suggestions, not assumed.

How often should I review the staffing calculation?+

Monthly is a reasonable starting point. Volume changes with seasonality and AHT changes when processes or tools change. Staffing calculated once and never reviewed stops reflecting the operation within a few weeks.

Does the formula work for Instagram or Messenger support in addition to WhatsApp?+

Yes, the formula is channel-independent: it applies to any inbox with conversations and a measurable AHT. What changes between channels is volume and AHT, which are measured separately. If channels share a team, the workloads are added before dividing.

Answer WhatsApp with AI

Try Wando free. No credit card required.