Minimum WhatsApp support metrics: reference table with formula and target
This is reference material, not an article to read straight through. The idea is for you to build your monthly dashboard with these indicators and to come back to this table every month to verify that you are calculating them the same way as the previous time. An indicator that changes its formula from one month to the next is useless: you will be comparing apples to oranges and you will not know whether you improved or simply changed the calculation.
Before the table, three warnings that are worth more than any indicator. First: if your data source mixes incoming and outgoing messages, campaigns with conversations, and test messages with real messages, any number you pull will be wrong. Second: attention indicators are calculated on conversations, not on individual messages; a conversation with twenty messages counts as one. Third: if you cannot define in one sentence what counts as "answered", you are not ready to measure yet.
How to read the table
Each row includes the name of the indicator, the exact formula, where the data comes from in practice, and a suggested target. Targets are reference ranges, not absolute truths: a two-person business cannot have the same first-response target as one with a team of ten. What matters is not reaching the number, it is always measuring the same way and watching the trend month over month.
Targets are reference ranges for internal use, not industry standards. Adjust them to your industry and your team size before using them to evaluate anyone.
| Indicator | Formula | Where the data comes from | Suggested target |
|---|---|---|---|
| Conversation volume | Unique conversations received in the month | Inbox, counting conversations and not messages | No target: it is the denominator for everything else |
| Response rate | Conversations with at least one reply ÷ conversations received × 100 | Inbox, marking which ones were left without a human or automated response | 95% or more |
| First response time | Sum of times until the first response ÷ number of conversations answered | Customer entry timestamp and first response timestamp | Depends on the industry: in direct sales, minutes; in technical inquiries, hours |
| Resolution time | Sum of times from the first response to closure ÷ conversations closed | First response timestamp and last closing message timestamp | No universal target: it is compared against the previous month |
| Abandonment rate | Conversations without a business response within 48 h ÷ conversations received × 100 | Inbox, filtering conversations without activity on the business side | 5% or less |
| Messages per conversation | Total messages ÷ unique conversations | Inbox, counting all messages in the conversation | No target: it helps detect conversations that drag on too long |
| Conversations per agent | Conversations assigned ÷ active agents in the month | Inbox with assignment by agent | No fixed target: it is the basis for calculating staffing |
| Reopening rate | Conversations reopened after being closed ÷ conversations closed × 100 | Inbox, counting reopenings on the same contact | 10% or less: higher indicates it was closed without resolving |
| After hours | Conversations received outside the configured schedule ÷ total conversations × 100 | Entry timestamp and defined service hours | No target: it is measured to size the auto-response |
| Handoff to human | Conversations that moved from automated to agent ÷ conversations with automated response × 100 | Inbox, marking the handoff | No target: if it rises a lot, the auto-response is not resolving |
| Recontact within 7 days | Contacts who write again within 7 days ÷ contacts served × 100 | Inbox, matching the same number within the 7-day window | 15% or less: higher suggests the first response did not close |
| Campaigns answered | Replies to a campaign ÷ campaign messages delivered × 100 | Campaign statistics | No universal target: it is compared campaign against campaign |
The three indicators almost everyone calculates wrong
First response time is the most misleading of all. If you calculate it by averaging all incoming messages, a conversation with fifteen customer messages weighs fifteen times more than one with only one, and the number stops representing the real experience. It is calculated on conversations, not on messages. And if you have auto-response configured, decide in advance whether that response counts as a first human response or not: if you count it, the indicator will look spectacular and you will not be measuring the same thing as before.
The abandonment rate gets ruined when the team closes conversations to clean up the inbox. If closing means "I mark it as resolved" and not "the customer stopped writing," the metric becomes decorative. The only way it's useful is if closing is a deliberate action: it's closed when there's a resolution, not when there's silence.
The reopening rate depends on your ability to identify the same contact. If the business answers from several numbers or the customer writes from another device, the re-contact isn't detected and the metric lies on the low side. There's no way to fully fix this: it's accepted as a floor, not as an exact value.
A technical detail that changes all time-based metrics: use the message timestamp (the one the platform sends), not the date the record was saved in your system. If your database saved a migration's history over two days, any analysis by hour will tell you everyone writes at the same time on the same day. With the real timestamp, the curve looks like business hours.
What to do with each metric based on the result
None of these metrics gets fixed by looking at it: each one points to a specific change in the process or in the configuration.
| If the metric comes out... | What's usually happening | What to check first |
|---|---|---|
| Response rate below 90% | There are conversations nobody sees: they get lost in the inbox or arrive outside business hours | Whether auto-reply is configured and whether the team checks the inbox at the start and end of the day |
| Very high first response time | Either there aren't enough people during peak hours, or notifications aren't reaching whoever is supposed to respond | The distribution of conversations by hour and who is assigned to each time slot |
| High abandonment rate | Conversations are being closed without resolving them or nobody picks them back up | The internal definition of "closed" and whether there's someone responsible for reviewing what's still pending |
| High reopening rate | The first response only partially resolved it: the customer comes back with the same question | The saved responses that are used most and whether they're complete |
| Very high human handoff rate | The auto-reply doesn't cover frequent questions | The topics that repeat most and whether they're covered in the automatic responses |
| High out-of-hours rate | The configured hours don't match when people actually write | The real hours of highest volume and the auto-reply for that time slot |
Monthly checklist: what to tick off before calling the month closed
- 1Define the exact period: from day 1 to the last day of the month, and use it the same way every month.
- 2Filter out test messages, internal conversations, and mass campaigns before counting.
- 3Count unique conversations, not messages: group by contact and by time window.
- 4Calculate the response rate first: it's the metric that invalidates all the others if it comes out low.
- 5Calculate the first response time over answered conversations, not over the total.
- 6Break the calculation down by agent if you want to use it for management, and by time slot if you want to use it for staffing.
- 7Compare each metric against the previous month and against the same month last year if you have the data.
- 8Write down in one line what changed in the process that month: without that note, the variation can't be explained.
- 9Save the month's spreadsheet before touching any configuration, so you don't lose the baseline.
- 10Check that the definition of "closed" and "answered" is the same one you used the previous month.
Common mistakes that ruin measurement
- Mixing channels: if the same team handles WhatsApp, Instagram and Messenger, measuring everything together hides where the problem is. Separate by channel.
- Changing the formula halfway through because you didn't like the number. That's not measuring, that's sugarcoating.
- Measuring once and drawing conclusions. A single month says nothing: you need at least three to see a trend.
- Using the average for everything. In response times, the average hides the extreme cases, which are precisely the ones that generate complaints.
- Counting messages instead of conversations. It's the most common mistake and the one that distorts the most.
- Not recording what happened that month (a campaign, a promotion, a service outage). Without context, the variation can't be interpreted.
- Measuring without first agreeing on what will be done with the result. A dashboard nobody uses to decide gets abandoned in two months.
How to estimate how many people you need with these numbers
With the volume of conversations and the average resolution time you can estimate the workload. The math is simple: multiply conversations in the month by the average resolution time in minutes, and divide by the number of minutes one person works in the month. That result tells you how many people you need just to handle conversations, without counting administrative tasks or supervision. If the number comes out to 0.6, it doesn't mean half a person is enough: it means one person has room for other tasks, but not for two channels at once.
The estimate is a guideline: it helps you decide whether you need to add a person or reorganize shifts, not to replace the team's judgment. If you want to go deeper into calculating an agent's capacity, there's the study on the daily capacity of a WhatsApp agent.
| Data you need | How you get it | What it's for |
|---|---|---|
| Conversations in the month | Count of unique conversations in the inbox | It's the base volume for the whole account |
| Average resolution time | Sum of resolution times ÷ closed conversations | Converts conversations into minutes of work |
| Minutes available per person | Support hours per day × working days × 60 | It's the denominator of the estimate |
| Non-support task factor | Percentage of time spent on tasks that aren't responding | Adjusts the estimate upward |
| Time slot coverage | How many time slots the business needs to cover | If there's more than one slot, it multiplies the need |
What changes when the channel is on the official API
If you handle WhatsApp with Meta's official API, some indicators are measured differently. Message templates have to be approved before use, and the only timeframe that can be stated is up to 48 hours: there's no guarantee of any other timeframe. That means an indicator like "campaigns responded to" depends on the template being approved on time, and if it isn't, the month is measured with fewer campaigns than planned. It's worth noting that data alongside the indicator, because it explains variations that otherwise seem to come from the team and don't.
Meta's conversation prices vary by country and are governed by their official documentation, so any estimate of cost per conversation must be updated with that source before putting it into a dashboard. If your dashboard mixes service indicators with outdated costs, the decision you make with it will be wrong on the cost side, not on the service side.
How this looks in practice
A business that starts measuring with this table usually discovers two things in the first month. The first is that its real response rate is quite a bit lower than it thought, because there were conversations nobody was seeing. The second is that the first response time does not depend on the team's speed, but on how many conversations arrive together during peak hours. Neither of the two is fixed by measuring better: they are fixed by changing the inbox configuration or the shift distribution. Measurement serves to tell you which of the two it is.
A concrete example from food service: a place that sells delivery and dine-in receives the bulk of its orders between 11:30 and 13:30 and between 19:30 and 21:30. If it measures conversations by time slot, it will see that in those two windows more than half of the day's volume comes in with the same staffing as during the dead hours. There the first response time indicator does not go down for lack of effort from the team, but because the slot is poorly covered. The answer is usually to add a short shift at peak or move a person from the administrative shift, not to ask the team to respond faster.
In aesthetics the pattern is different: the volume is more even, but it concentrates on appointment reminders and confirmations. If the business measures re-engagement and sees that 20% of contacts write again within 7 days about the same topic, it is almost always because the confirmation was sent without the information the customer needed (address, price, payment method). The indicator does not point to a speed problem, it points to a message content problem. That kind of reading only appears when you separate the indicators by contact reason and don't just look at the overall average.
Tools like Wando, which suggest replies with AI and leave them for team approval, change mainly the first response time indicator: the suggestion is ready earlier, but the reply is sent when someone approves it. That means the indicator still measures the same thing (when the reply goes out), not when it was generated. If you are going to measure with a tool like that, note it in the indicator definition so you don't compare against months when the reply was written by hand. If you want to see how the AI suggestion behaves in the inbox before deciding, you can try it free for 14 days, no card, and check the current plans at wando.online/pricing.
Frequently asked questions
How many metrics should I measure per month?+
Six is enough to start: conversation volume, response rate, first response time, abandonment rate, conversations per agent and reopen rate. The rest are added once the first ones are always calculated the same way. Measuring twelve metrics badly is worse than measuring six well.
Which is the most important metric of all?+
Response rate. If there are conversations that get no response at all, the rest of the metrics are calculated on an incomplete base and the conclusions are useless. It is the first one to make stable before looking at the others.
Is first response time measured in minutes or hours?+
It depends on the industry and the type of inquiry. In direct sales, where the customer is comparing options in the moment, it is measured in minutes. In technical or administrative inquiries, it is measured in hours. What matters is not the number, it is that the unit stays the same every month.
What do I do if I don't have last month's data to compare against?+
Start anyway. The first month serves as a baseline and from the second month on you already have a comparison. What you should not do is wait to have a perfect system: one month measured with a simple formula is worth more than three months without measuring anything.
Are campaign conversations counted in the support metrics?+
It is better not to mix them. A campaign generates conversations that would not exist without the send, and that distorts the response rate and the first response time. They are measured separately and, if you want, compared afterwards.
How do I define what a closed conversation is?+
With an explicit, written criterion: for example, when the customer confirmed it was resolved, or when X days passed without a response after a resolution. What does not work is closing to clear the inbox, because that inflates the response rate and hides abandonment.
Can I use these metrics to evaluate an agent?+
Yes, but carefully. First response time depends on how many conversations arrived at once, not only on the person's speed. If you use it to evaluate, separate by time slot and compare agents handling similar volumes.
How often should the metrics table be reviewed?+
Once a year, or when the support process changes. If the formula changes mid-year, you lose the comparison with previous months. If you have to change it, note the date of the change and do not compare against previous months without clarifying it.
Answer WhatsApp with AI
Try Wando free. No credit card required.