Studies & referenceStudies & reference

Formula to calculate how many conversations an operator can handle per shift

8 min read

Formula to calculate how many conversations one operator can handle per shift

This is a sizing method, not a performance promise. You enter your operation's numbers and the formula returns a range. The calculation serves two concrete decisions: how many people you need per time slot and how many simultaneous conversations one person can keep open without quality dropping.

The usual confusion is mixing up two different capacities. One thing is how many simultaneous threads one operator can handle (instantaneous capacity) and a very different thing is how many complete conversations they close in a shift (capacity per shift). The first depends on thread duration and idle time; the second also depends on non-productive time. If you calculate only one, the number you get is useless.

The four variables that go into the calculation

Before applying any formula, you need to measure four things. If you're missing any, the result will be a fantasy.

  • Average thread duration (D): clock minutes between the customer's first message and the operator's last message that closes the conversation. It's not the same as typing time.
  • Average idle time (M): minutes that pass between when the operator replies and when the customer writes back. It's waiting, not work.
  • Active work time per thread (T): sum of the minutes the operator actually spends reading, thinking, typing and checking. It's measured with a stopwatch or with inbox statistics, not estimated by eye.
  • Non-productive time of the shift (N): shift minutes that are not available for handling: breaks, meetings, training, administrative tasks, shift handover.

D and M are measured on closed conversations. If your inbox doesn't record when a thread ends, take a manual sample of 30 conversations from a typical week. 30 is enough to get an order of magnitude; 5 is not.

Formula 1: simultaneous conversations per operator

Instantaneous capacity is calculated by dividing the total thread duration by the time the operator is effectively working on it. The result is how many threads they can have open at once without any of them waiting longer than reasonable.

Simultaneous = D / T. If a thread lasts 40 minutes of clock time but the operator spends 8 minutes of actual work on it, they can sustain 5 threads open at the same time. Dead time is what makes that simultaneity possible: while the customer thinks, the operator handles another thread.

The classic mistake is calculating simultaneous = D / (D - M), which gives a huge and false number. That quotient measures how much of the thread is waiting, not how much work fits in parallel. Simultaneity is limited by active work, not by clock time.

Formula 2: conversations closed per shift

Capacity per shift uses real available time, not the shift duration. First you subtract non-productive time, then you divide by the active work per thread.

Available minutes = Shift duration − N. Conversations per shift = Available minutes / T.

A 480-minute shift with 60 non-productive minutes leaves 420 available minutes. With 8 minutes of active work per thread, the operator closes 52 conversations in the shift. That is the theoretical ceiling. Then you have to contrast it with maximum simultaneity: if the demand peak requires 20 threads open at once and formula 1 gave 5, the bottleneck is not the shift time but concurrency, and the number of 52 is never reached.

Scenario table: what changes with each duration and each dead time

ScenarioThread duration (D)Dead time (M)Active work (T)Simultaneous (D/T)Conversations per 480-min shift with 60 min non-productive
Quick inquiry10 min4 min6 min1.770
Standard inquiry25 min15 min10 min2.542
Consultative sale45 min30 min15 min3.028
Technical support with back and forth90 min70 min20 min4.521
Complex case with internal referral150 min120 min30 min5.014
Own calculation using formulas 1 and 2. The values of D, M and T are examples to show the method: replace them with your own measurements. The last column is a theoretical ceiling, not observed performance.

Read the table the opposite way from what it seems. The quick inquiry scenario handles 70 conversations per shift but demands 1.7 simultaneous: almost sequential attention. The complex case handles 14 but demands 5 simultaneous, and that is where the real problem appears: nobody sustains 5 complex conversations open without losing the thread of one of them. High simultaneity is not solved with more time, it is solved with more people or with less load per operator.

How to measure D, M and T without expensive tools

  1. 1Choose a representative week, not the peak week or the quietest one.
  2. 2Take 30 closed conversations at random from that week.
  3. 3For each one, note the time of the customer's first message and the time of your last message. The difference is D.
  4. 4Note the total minutes the operator was active in that thread (reading, typing, checking). That is T.
  5. 5M is D minus T, as long as there was no parallel work. If the operator handled other threads in between, subtract that time as well.
  6. 6Average the 30 values of D, M and T. Discard the highest 10% and the lowest 10% before averaging: the extremes distort.
  7. 7Repeat the measurement every quarter. The mix of inquiries changes with the season and with the industry.

If your inbox has message and campaign statistics, use them for volume and for hourly distribution, but thread duration usually requires the manual sample. Total volume does not tell you how long each conversation lasts.

The factor almost everyone forgets: concurrency is not linear

Going from 2 to 4 simultaneous conversations does not double the work: it multiplies it. Each open thread requires reconstructing context when you return to it, and that cost of switching focus does not appear in the formula. In practice, sustainable simultaneity is usually quite a bit lower than the theoretical one, especially when the threads are consultative sales or technical support.

That is why the formula is used as a ceiling and then adjusted with two operating rules: a maximum of open threads per operator (for example, 3 or 4 depending on the type of inquiry) and a referral rule when a thread exceeds a certain time without a customer response. Without those two rules, the capacity calculation is a nice number that does not hold up.

How to go from individual capacity to team size

Once you have the capacity per shift, you can size the team. You need the volume of conversations per time slot and the capacity of one agent in that same slot. The calculation is direct: agents needed = conversations in the slot / conversations one agent closes in that slot. Always round up and add a replacement for absenteeism.

Absenteeism is not a minor detail: if you don't account for it, the day someone is out the entire slot collapses. Add the absenteeism percentage you have measured in your team to the result of the division.

Checklist to validate that the calculation works

  • Measure D, M and T on closed conversations, not on open conversations.
  • You discarded the extremes before averaging.
  • You used available minutes (shift minus non-productive time), not the gross duration of the shift.
  • You compared the result of formula 2 against the concurrency ceiling of formula 1.
  • You defined a maximum number of open threads per agent and a routing rule.
  • You added the measured absenteeism to the final sizing.
  • You measured again after a quarter and compared it with the previous calculation.

Mistakes that invalidate the number

  • Using the shift duration without deducting breaks, meetings and administrative tasks.
  • Confusing thread duration with work time: they are the same thing only when there is no idle time, and there almost never is.
  • Calculating concurrency as D / (D − M), which measures waiting and not work.
  • Averaging without discarding extremes: a single three-hour conversation moves the average of 30.
  • Sizing with the peak demand and not with the average slot: you have too many people almost all day.
  • Sizing with the average and not with the peak: you are short-staffed exactly when it matters most.

When it's worth reviewing the calculation

There are four signals that indicate that the sizing has become outdated: first response time grows without any change in volume; conversations are left unanswered at the end of the shift; operators report that they can't keep up even though the number of conversations is the same; and the mix of inquiries has changed (more consultative selling, more technical support, more complaints). Any of the four justifies re-measuring D, M and T.

An inbox with AI suggestions that learns from the business's real responses can lower T, because the operator types less and approves with one click. That doesn't change the formula: it changes one of its terms. If you adopt a tool like that, re-measure T before redoing the sizing, because the rest of the variables stay the same. Wando works with Meta's official WhatsApp API and is designed for LatAm SMEs, but the method in this article applies with any tool, including a spreadsheet.

Minimal template to build the table for your operation

Copy these columns into a spreadsheet and fill in one row per time slot. With that you have the complete sizing without depending on any tool.

Time slotConversations in the periodAverage duration (D)Active work (T)Capacity per operatorRequired operatorsOperators with absenteeism
09:00–12:0012025 min10 min4234
12:00–15:008025 min10 min4223
15:00–18:0014025 min10 min4245
18:00–21:006030 min12 min3523
Example with 480-minute shifts and 60 non-productive minutes. The absenteeism column applies the percentage measured in your team to the required operators, rounding up.

The last column is the one used to build the shifts. The difference between required and required with absenteeism is what keeps the operation from collapsing on the day someone is absent.

Frequently asked questions

How many conversations can an operator handle at once?+

It depends on the thread duration and the active work. The formula is simultaneous = thread duration / active work time. If a thread lasts 25 minutes and the operator spends 10 real minutes on it, they can keep 2.5 threads open. In practice, it is best to set a maximum below the theoretical one, because every context switch has a cost the formula does not capture.

What is idle time in a WhatsApp conversation?+

It is the time between when the operator replies and when the customer writes back. It is not operator work, it is customer waiting. It is what makes it possible to handle several threads in parallel, but it should not be confused with work capacity: simultaneity is limited by active work, not by waiting time.

How do I calculate how many conversations an operator closes in a shift?+

First subtract the non-productive time from the shift (breaks, meetings, administrative tasks). Then divide the available minutes by the average active work time per thread. A 480-minute shift with 60 non-productive minutes leaves 420 available; with 10 minutes of work per thread, the ceiling is 42 conversations.

Why is the theoretical number not met in practice?+

Because the formula assumes the operator can maintain all the simultaneous conversations the calculation allows, and that is not linear. Every open thread requires rebuilding context, and in consultative sales or complex technical support the sustainable simultaneity is considerably lower than the theoretical one. That is why a maximum number of open threads and a handoff rule are set.

How often should the average duration be measured again?+

Every quarter, or sooner if the mix of inquiries changes. There are four signs that the calculation is outdated: first response time grows with no change in volume, conversations are left unanswered at the end of the shift, operators say they cannot keep up with the same volume, or the proportion of consultative sales, support and complaints changes.

How does absenteeism affect sizing?+

It is added to the result of dividing conversations by capacity per operator. If you need 3 operators in a time slot and your measured absenteeism is 15%, the number for building shifts is 4. Without that adjustment, the day someone is absent the entire time slot is left uncovered.

Does the same formula work for Instagram and Messenger?+

Yes, the method is independent of the channel: what changes is the average thread duration and the active work time, which are usually different on each channel. Measure separately and then add the requirements if the same operator handles several channels.

What if I do not have conversation duration statistics?+

Take a manual sample of 30 closed conversations from a representative week. Note the time of the customer's first message and the time of the operator's last message to get the duration, and the active minutes to get the work. Discard the highest 10% and the lowest 10% before averaging.

Answer WhatsApp with AI

Try Wando free. No credit card required.