WhatsApp Support Staffing Calculator: How Many Agents You Need Based on Your Volume
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 hour | AHT 4 min | AHT 6 min | AHT 8 min | AHT 10 min |
|---|---|---|---|---|
| 10 | 1 | 2 | 2 | 3 |
| 20 | 2 | 3 | 4 | 5 |
| 30 | 3 | 4 | 6 | 7 |
| 40 | 4 | 6 | 8 | 9 |
| 60 | 6 | 8 | 11 | 14 |
| 80 | 8 | 11 | 15 | 18 |
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.
- 1Build the volume curve by hour for the week. Not an average: all 168 hours. Mark the peak hours and the valley hours.
- 2Apply the formula hour by hour. You will get the minimum staffing for each hour.
- 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.
- 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.
- 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.
- 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.
| Factor | What it represents | Working range | How it is measured in your operation |
|---|---|---|---|
| Weekly coverage | Days that must be covered versus days each person works | 1.2 to 1.4 for a 7-day operation | Coverage days ÷ working days per person |
| Absenteeism | Unforeseen absences and short leaves | 1.05 to 1.15 | Days lost ÷ planned days in the last quarter |
| Vacations | Annual vacation days for the team | 1.04 to 1.08 | Vacation days ÷ working days in the year |
| Non-conversational work | Meetings, training, reports, internal tasks | 1.05 to 1.20 | Minutes per day outside the inbox ÷ minutes in the shift |
| Peak-valley curve | Unavoidable overstaffing to cover the peak | 1.00 to 1.15 | Depends 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.
| Signal | What to look at | What it means |
|---|---|---|
| Stable wait | Time to first response by time slot | If it stays within what you defined, staffing covers demand |
| Actual occupancy | Minutes handling conversations ÷ minutes in the workday | If it is well above target, the team is overloaded or the actual AHT is higher than measured |
| Peak queue | Unattended conversations in the highest-volume hour | A recurring queue in the same slot indicates that this specific period is understaffed |
| Idle capacity | Hours with very low occupancy | May 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.