Formula for measuring the first response resolution rate in WhatsApp (definition, calculation, and interpretation table)
What is the first response resolution rate in WhatsApp
The first response resolution rate (FCR, from first contact resolution) measures the percentage of conversations that are closed with the first message sent by the agent, without the customer needing to write again. It is one of the most useful metrics to evaluate the efficiency of a WhatsApp support team, because it combines two things: the quality of the response and the clarity of the internal process.
Unlike the first response time (which only measures how long it takes you to reply), FCR measures whether that response was enough. A team can respond quickly and still have a low FCR if the responses are generic or incomplete. That is why FCR is a better indicator of the real effectiveness of support.
In WhatsApp, FCR has a particularity: the 24-hour session window of the Meta API. If the customer does not write again within that window, the conversation is considered resolved. That makes the calculation clearer than in other channels, but it also introduces errors if what counts as "resolved" is not well defined.
Formula to calculate FCR in WhatsApp
The general formula is simple:
| Component | Definition |
|---|---|
| Conversations resolved on first response | Those where the customer did not write again after the agent's first response, within the 24-hour window. |
| Total closed conversations | All conversations that had at least one exchange and that were closed (due to expired window, explicit resolution, or agent decision). |
| FCR (%) | (Conversations resolved on first response ÷ Total closed conversations) × 100 |
For example: if in one day you had 80 closed conversations and in 52 of them the customer did not write again after your first response, the FCR is (52 ÷ 80) × 100 = 65%.
How to identify a conversation resolved on first response
To calculate FCR, you need data that is not always available in the WhatsApp Business panel. The Meta API gives you messages with their timestamp, but it does not tell you if a conversation is "resolved". You have to define it yourself with a clear rule.
- The customer sends a message (first contact).
- The agent responds (first response).
- The customer does not send any new message within the next 24 hours (session window).
- The conversation closes due to expired window and is counted as "resolved on first response".
If the customer writes again before the window expires, the conversation is NOT counted as resolved on first response, regardless of whether the second message was a confirmation or a new question. The rule is strict: any subsequent customer message invalidates FCR for that conversation.
FCR interpretation table
| FCR (%) | Interpretation | What to do |
|---|---|---|
| 80% or more | Excellent. The team resolves almost everything on first contact. | Maintain the process and use it as a reference for new agents. |
| 60% to 79% | Acceptable. There is room for improvement, but the team works. | Review unresolved conversations and look for patterns. |
| 40% to 59% | Fair. A significant portion of customers need to write again. | Train the team on complete responses and check if scripts are missing. |
| Less than 40% | Critical. Most conversations require multiple back-and-forths. | Redesign the customer service process: responses are likely generic or the team lacks the necessary information. |
Common errors that distort FCR
- Counting as resolved a conversation where the customer did not respond but the agent sent an automatic welcome message: if the agent did not give a real response, it does not count.
- Using the message creation timestamp instead of the Meta API timestamp: at wando.online we saw that 56% of messages are inserted at 15:00 if you use created_at, but the real activity curve is commercial. Always use the Meta timestamp.
- Mixing inbound conversations with outbound ones (campaigns): campaigns do not have a customer who "writes again", so they distort the denominator.
- Closing conversations manually before the window expires: if the agent marks a conversation as resolved and the customer responds later, the 24-hour rule is broken.
- Not excluding conversations where the customer sends multiple messages before the agent responds: that is not FCR, it is a first response time problem.
How to calculate FCR using WhatsApp API data
If you use the WhatsApp API (Cloud API), you can calculate FCR using the messages you receive. For each conversation, you need the timestamp of the customer's first message, the timestamp of the agent's first response, and the timestamp of the customer's last message. With that, the rule is:
- 1Identify all incoming conversations in the period (exclude outgoing campaign messages).
- 2For each conversation, find the customer's first message and the agent's first response.
- 3If the customer has no messages after the agent's first response within 24 hours, count it as resolved on first response.
- 4Divide the total resolved on first response by the total incoming conversations in the period and multiply by 100.
This calculation assumes you have access to the raw API messages. If you use a tool like wando.online, the inbox already groups conversations and you can export the data to perform this analysis.
What to do if your FCR is low
A low FCR is not a speed problem; it's a content problem. The most common causes are:
- Generic responses that don't answer the customer's specific question.
- Lack of information in the system (the agent doesn't see the order, history, or customer data).
- Internal processes that require the customer to do something else (send a receipt, confirm a detail), and that is requested in a second message.
- Scripts that don't cover the most frequent cases in the industry.
The solution is not to respond faster, but to respond better. Review conversations that weren't resolved on first response, look for patterns by query type, and improve templates or access to information.
Relationship between FCR and other service metrics
| Metric | What it measures | How it relates to FCR |
|---|---|---|
| First response time | How long it takes the agent to reply | A low time doesn't guarantee high FCR; a fast but incomplete reply generates more back-and-forth. |
| Response rate | Percentage of messages that receive a reply | If the response rate is low, FCR makes no sense: there's no reply to evaluate. |
| Overall resolution rate | Percentage of conversations closed regardless of how many messages were exchanged | FCR is a subset of this metric: all resolved on first reply are resolved, but not vice versa. |
Conclusion
The first reply resolution rate is the metric that tells you whether your WhatsApp team is truly resolving or just replying. Calculating it is simple if you have the right data: the Meta timestamp, not your database's, and a clear rule for what counts as "resolved." With the interpretation table, you know if you're in an excellent, acceptable, or critical zone, and what to do in each case.
FCR vs. reopening rate: the flip side few measure
FCR looks at conversations that close well, but there's a mirror metric that reveals the problem earlier: the reopening rate. It's the percentage of conversations that, after closing due to an expired window, the customer reopens within the following 48 hours with a new message. If FCR is low, reopening is high, but the interesting case is when FCR is high and reopening is also high: that means the customer left satisfied but came back for a different reason, and there the problem isn't response quality but service coverage.
To calculate it, you need to cross two 24-hour windows: the original conversation's and the new message's. If the customer writes 30 hours after the first closed, it counts as a reopening. If they write after 3 days, it's likely a new topic and shouldn't penalize FCR. It's a subtle distinction most dashboards don't make, but it changes the interpretation.
| Scenario | FCR | Reopening | Diagnosis |
|---|---|---|---|
| High FCR, low reopening | High | Low | The team resolves and the customer doesn't return. Ideal. |
| High FCR, high reopening | High | High | Replies are good but service doesn't cover everything: the customer returns for something else. |
| Low FCR, high reopening | Low | High | The team doesn't resolve on first contact and the customer insists. Content problem. |
| Low FCR, low reopening | Low | Low | The customer doesn't return because they went to another channel or gave up. Retention problem. |
What to do when the customer sends two messages before you respond
The strict rule says that any subsequent message from the customer invalidates FCR. But there is a borderline case: the customer sends "Hi" and 30 seconds later "do you have order 123?". The agent only responds after the second message. Does that count as resolved on first response? Technically no, because there were two customer messages before the agent's first response. But the customer's intention was a single one. The practical recommendation: count as "first response" the one that answers the customer's last message before the agent intervenes. If the customer does not write again after that response, the conversation is resolved on first response, even if there were two previous messages. If you count the customer's first message as the reference, you will underestimate your real FCR.
This case is more common than it seems on WhatsApp, because customers write in parts. Meta's 24-hour window rule does not distinguish between messages, so the operational definition is yours. Document it and always use it consistently.
Frequently asked questions
What is the first response resolution rate in WhatsApp?+
It is the percentage of conversations resolved with the agent's first message, without the customer having to write again. It is calculated by dividing the conversations resolved at first contact by the total number of closed conversations, and multiplying by 100.
How do I know if a conversation was resolved on the first response?+
The practical rule is: if the customer does not write again within the 24-hour WhatsApp session window after your first response, that conversation is considered resolved on the first response. Any subsequent message from the customer invalidates it.
What is the difference between FCR and first response time?+
First response time measures how long it takes you to reply. FCR measures whether that reply was enough to solve the problem. You can reply quickly and have a low FCR if the replies are incomplete or generic.
What is a good FCR value in WhatsApp?+
There is no universal standard, but as a reference: 80% or more is excellent, 60-79% is acceptable, 40-59% is fair, and less than 40% is critical. Values vary by industry and type of inquiry.
What errors distort the FCR calculation?+
The most common ones are: using the creation timestamp instead of Meta's, counting automatic welcome messages as real replies, mixing campaign conversations with incoming ones, and manually closing conversations before the 24-hour window expires.
Can FCR be calculated per agent or only per team?+
It can be calculated per agent if you tag conversations with the person responsible for the first response. In wando.online, the multi-agent inbox allows assigning conversations, so you can get the FCR per person. Note: if an agent transfers the conversation to another, the FCR should count for the one who gave the first response, not for the one who closed it.
What happens if the customer responds after the 24-hour window?+
If the customer writes after the 24-hour window has expired, the original conversation was closed and that reply does not invalidate it. You count it as resolved on the first response and the new message opens a new conversation. That is correct according to Meta's API: the session expired and the new message is a first contact.
Do out-of-hours auto-replies affect FCR?+
Yes, if the customer writes outside business hours and receives an auto-reply saying "we'll get back to you during business hours," and then does not write again, technically there was no real reply. Do not count those conversations as resolved on the first response. If the auto-reply resolves the inquiry (for example, "our hours are 9:00 to 18:00"), then you can count it, but it is a judgment call you need to define and apply consistently.