# Call Center KPI Formulas: AHT, FCR, Abandonment Rate and Shrinkage

> The formulas for AHT, first call resolution, abandonment rate (raw and adjusted) and shrinkage, each with a worked example and a free calculator.

Source: https://edesy.in/blog/call-center-kpi-formulas-aht-fcr-abandonment-shrinkage-2026

**Four formulas cover most of the call center scorecard.** AHT is talk + hold + after-call work divided by
calls; FCR is issues resolved on first contact divided by all issues; abandonment rate is abandoned calls
divided by offered calls (with an adjusted version that drops very short abandons); and shrinkage is the
share of paid time agents are not available for calls, where internal time and absence multiply rather
than add. Each one below has a worked example you can check in a free calculator.

> **Calculators:** [AHT](https://edesy.in/tools/average-handle-time-calculator) ·
> [FCR](https://edesy.in/tools/first-call-resolution-calculator) ·
> [Abandonment rate](https://edesy.in/tools/call-abandonment-rate-calculator) ·
> [Shrinkage](https://edesy.in/tools/call-center-shrinkage-calculator). All run in your browser, no signup.

| KPI | Formula | Example result |
|---|---|---|
| AHT | (talk + hold + ACW) / calls | 7:00 |
| FCR | resolved first time / issues x 100 | 72% |
| Abandonment (raw) | abandoned / offered x 100 | 12% |
| Abandonment (adjusted) | (abandoned - short) / (offered - short) x 100 | 9.28% |
| Shrinkage | 1 - (1 - internal) x (1 - absence) | 28% |

## Average handle time (AHT)

```
AHT = (total talk time + total hold time + total after-call work) / calls handled
```

**Worked example.** In one period, agents spent 1,500 minutes talking, 150 minutes with callers on hold and
450 minutes on after-call work (ACW), across 300 calls.

```
AHT = (1,500 + 150 + 450) / 300 = 2,100 / 300 = 7 minutes = 7:00
```

Per call, that is 5:00 talk, 0:30 hold and 1:30 ACW. In the
[AHT calculator](https://edesy.in/tools/average-handle-time-calculator), choose **From totals**, enter the three totals and
**Calls handled in the same period**, and it shows the same 7:00 with the talk, hold and ACW shares
(about 71%, 7% and 21%).

The share breakdown is where the useful work starts. A high hold share usually points to agents searching
for information; a high ACW share points to slow forms or manual notes. The calculator also turns AHT into
agent hours and cost: at 10,000 calls a month and an agent cost of INR 250 per hour, 7:00 is about 1,167
agent hours, and a 30-second cut saves about 83 hours a month.

## First call resolution (FCR)

```
FCR = issues resolved on the first contact / total issues x 100
```

**Worked example.** 1,000 issues came in this month, and 720 were resolved without the customer contacting
you again within the window.

```
FCR = 720 / 1,000 x 100 = 72%
```

Two choices change the number, so write them down and keep them fixed:

- **The repeat-call window.** A same-day window reads highest, because a customer who calls back next
  morning is not counted. A 7-day window catches more callbacks and reads lower. The
  [FCR calculator](https://edesy.in/tools/first-call-resolution-calculator) lets you pick **Same day**, **3 days** or
  **7 days**.
- **Gross or net.** Net FCR removes issues that cannot be resolved on a first contact by design (a field
  visit, a refund that needs approval). Enter those in the optional field to see both.

The cost of the gap is repeat calls. With 280 unresolved issues and 2 extra contacts each, that is 560
repeat calls; at INR 80 a call, INR 44,800 a month. Reaching 80% FCR would leave 200 unresolved and 400
repeats, avoiding 160 calls, or INR 12,800 a month.

## Call abandonment rate: raw vs adjusted

```
Raw abandonment rate      = abandoned / offered x 100
Adjusted abandonment rate = (abandoned - short abandons) / (offered - short abandons) x 100
```

**Worked example.** 2,000 calls offered, 240 abandoned, of which 60 hung up within 5 seconds.

```
Raw      = 240 / 2,000 x 100 = 12%
Adjusted = (240 - 60) / (2,000 - 60) x 100 = 180 / 1,940 x 100 = 9.28%
```

Why remove short abandons from **both** sides? A caller who hangs up within a few seconds (a misdial, or
someone who changed their mind during the greeting) was never really waiting for an agent, so they are
neither a fair abandon nor a fair offered call. Subtracting them only from the top would understate the
rate.

In the [abandonment rate calculator](https://edesy.in/tools/call-abandonment-rate-calculator), set the **Short abandon
threshold** (5 seconds by default) and enter how many calls were **Abandoned within 5 seconds**. Report
which version you use, and keep the threshold the same month to month. If you call abandoned callers back,
enter the recovered count too; with 50 recovered, 190 remain unrecovered.

## Shrinkage: multiplicative vs simple sum

Shrinkage is the share of paid time agents are not available to take calls. It has two parts:

- **Internal shrinkage:** breaks, meetings, coaching, training, system downtime, on days the agent is in.
- **Absence shrinkage:** leave and unplanned absence, which removes whole days.

```
Total shrinkage = 1 - (1 - internal) x (1 - absence)
```

**Worked example.** An 8-hour paid day is 480 minutes. Breaks are 45 minutes, huddles 15, coaching 20 and
admin or downtime 16, a total of 96 minutes. Absence is 10%.

```
Internal = 96 / 480 = 20%
Total    = 1 - (1 - 0.20) x (1 - 0.10) = 1 - 0.80 x 0.90 = 1 - 0.72 = 28%
```

The simple sum, 20% + 10% = 30%, double counts: an absent agent cannot also take a break that day.
The difference shows up in the roster. If you need **20 agents on the phones**:

| Method | Available share | Roster | Rounded |
|---|---|---|---|
| Multiplicative (28%) | 72% | 20 / 0.72 = 27.8 | **28** |
| Simple sum (30%) | 70% | 20 / 0.70 = 28.6 | 29 |

The [shrinkage calculator](https://edesy.in/tools/call-center-shrinkage-calculator) does this split for you and shows both
figures side by side. The "20 on the phones" number itself usually comes from Erlang C; the
[Erlang C calculator](https://edesy.in/tools/erlang-c-calculator) takes a shrinkage percentage and applies the same
division. For the full lines-and-agents walkthrough, see
[Erlang B vs Erlang C](https://edesy.in/blog/erlang-b-vs-erlang-c-lines-vs-agents-2026).

## How the four fit together

- **AHT** feeds staffing: a longer AHT means more erlangs and more agents.
- **FCR** feeds volume: every unresolved issue comes back as extra calls, which raises the next forecast.
- **Abandonment** is the symptom of under-staffing in the busy hour; check it interval by interval, not
  only as a monthly average.
- **Shrinkage** turns the agents you need on the phones into the headcount you roster.

Track the reasons behind the numbers too. Call recordings and post-call tags show why calls run long or
come back; see [call center analytics with AI](https://edesy.in/blog/call-center-analytics-ai-sentiment-qa-2026). For what
a fully loaded agent hour costs, see [AI vs human call center cost in India](https://edesy.in/blog/ai-vs-human-call-center-cost-comparison-india-2026).

## Taking routine calls off the queue

If a large share of your volume is repetitive (status checks, timings, appointment changes, payment
reminders), an AI voice agent can answer those calls, which lowers the traffic your human team has to
staff for and the abandonment that comes from busy-hour queues.
[See Edesy Voice Agent](https://voice-agent.edesy.in/?utm_source=edesy.in&utm_medium=blog&utm_campaign=call-center-kpi-formulas-aht-fcr-abandonment-shrinkage-2026).

For simple menu routing instead, an [Edesy IVR](https://ivr.edesy.in/?utm_source=edesy.in&utm_medium=blog&utm_campaign=call-center-kpi-formulas-aht-fcr-abandonment-shrinkage-2026)
can send each caller to the right team first time. Start free: INR 20 credit on sign-up, no card needed.

## Frequently Asked Questions

### What is the formula for average handle time?

AHT = (total talk time + total hold time + total after-call work) / calls handled. For example, 1,500 + 150 + 450 minutes over 300 calls is 2,100 / 300 = 7 minutes, or 7:00.

### How do you calculate first call resolution?

FCR = issues resolved on the first contact / total issues x 100. 720 resolved out of 1,000 is 72%. Decide your repeat-call window (same day, 3 days or 7 days) and keep it fixed so the trend is comparable.

### What is the difference between raw and adjusted abandonment rate?

Raw abandonment is abandoned / offered. Adjusted abandonment removes short abandons, callers who hung up within a few seconds, from both the top and bottom: (abandoned - short) / (offered - short). 240 of 2,000 is 12% raw; removing 60 short abandons gives 180 / 1,940 = 9.28%.

### Why is shrinkage not just the sum of its parts?

Internal shrinkage (breaks, meetings, training) only applies on days an agent is present, so it multiplies with absence: total = 1 - (1 - internal) x (1 - absence). 20% internal and 10% absence is 1 - 0.8 x 0.9 = 28%, not 30%.

### How many agents should I roster for 20 on the phones?

Divide by the share of time available: 20 / (1 - 0.28) = 27.8, so roster 28. Using the simple sum of 30% would give 29, one agent more than you need.
