Shrinkage is the share of paid, scheduled time when agents are not available to handle customer contacts. In a BPO, the formula is:
Shrinkage % = (Hours not available for contacts ÷ Total scheduled paid hours) × 100
If 2,000 scheduled hours in a week include 500 hours of breaks, training, leave and absence, shrinkage is 25%. Every roster, hiring plan and service level target in a BPO depends on getting this number right.
This guide covers the formula, a full worked example, the planned and unplanned split, the most common mix-up with attrition, and what it all does to your headcount. We wrote it for team leaders, analysts and new WFM staff, and for anyone preparing for a WFM interview.
What counts as shrinkage in a BPO?
Shrinkage covers any paid, scheduled time when an agent cannot take a contact. Most BPOs group it in two buckets.
Planned shrinkage is known in advance and can be scheduled around:
- Breaks, tea and lunch (if paid)
- Training, coaching and team meetings
- Quality feedback sessions
- Approved annual and planned leave
- Offline work assigned by the planner (projects, email backlogs), if it is not counted as productive
Unplanned shrinkage is not known in advance:
- Sick leave and unplanned absence
- Late arrival and early logout
- Extended breaks
- System, headset or network downtime
- Unplanned time on an escalation or support call
Public holidays, week offs and attrition are not shrinkage. They are handled elsewhere in the plan (more on that below).
A note on definitions: BPOs and clients differ on what they include. Some treat paid breaks as shrinkage, others take them out first. Some count offline work as productive. The right answer is the one you agree with your client in writing and then apply the same way every time.
The formula, step by step
- Pick the period and the group. One week, one skill or one team at a time. Do not blend skills with very different patterns.
- Add up scheduled paid hours. Number of agents × paid hours per agent.
- Add up the hours when agents were not available for contacts, split into planned and unplanned.
- Divide and multiply by 100.
Two useful versions:
- Planned shrinkage % = Planned unavailable hours ÷ Scheduled hours × 100
- Unplanned shrinkage % = Unplanned unavailable hours ÷ Scheduled hours × 100
- Overall shrinkage % = Planned % + Unplanned % (when both use the same base of scheduled hours)
Worked example: a 50 agent team
A team has 50 agents, each scheduled for 40 paid hours a week. That is 2,000 scheduled hours.
| Category | Hours | Share of scheduled hours |
|---|---|---|
| Breaks and lunch | 160 | 8% |
| Training, coaching, meetings | 120 | 6% |
| Planned leave | 100 | 5% |
| Planned total | 380 | 19% |
| Sick leave and absence | 80 | 4% |
| Late, early logout, downtime | 40 | 2% |
| Unplanned total | 120 | 6% |
| Overall shrinkage | 500 | 25% |
Planned 19% plus unplanned 6% gives 25% overall. Check: 500 ÷ 2,000 = 25%.
This is an illustrative example. Real BPO shrinkage commonly sits somewhere between 20% and 35%, depending on client rules, shift length, leave policy and attendance culture.
What shrinkage does to your roster
Say your Erlang C calculation says you need 40 agents on the phones in a busy interval. How many do you schedule?
- Common mistake: 40 × 1.25 = 50 agents. This adds 25% on top of 40.
- Correct method: 40 ÷ (1 − 0.25) = 53.3, so 54 agents.
Why? Shrinkage is a share of the scheduled total, not of the 40 you need. If 25% of 54 agents is unavailable, you are left with about 40 available. With 50 agents, only about 37 or 38 would be available and service level drops.
This one fix is often the difference between hitting and missing the service level target. We cover the error in more detail in The Shrinkage Formula Mistake That Quietly Breaks Your Service Level. You can check the required agents with our free Erlang C Calculator.
Shrinkage vs attrition: the mix-up that fails interviews
These two come up together in BPO interviews and are often confused.
- Shrinkage is lost time from agents who are still on the payroll and on the roster.
- Attrition is lost people: agents who have left the company.
The attrition formula is:
Attrition % = (Agents who left in the period ÷ Average headcount in the period) × 100
Example: 6 agents leave a team that averaged 50 agents during the month. Attrition is 6 ÷ 50 × 100 = 12% for the month.
Attrition affects your plan through headcount and ramp-up time for replacements, not through the shrinkage percentage. A new joiner in training is on the roster, so their training hours can be counted as shrinkage, depending on your rules. A person who has resigned is simply no longer in the scheduled total. For the hidden capacity cost of replacing leavers, see The Hidden Capacity Cost of Attrition.
Common shrinkage mistakes
- One blended number for every team. Voice, chat and back office have different patterns. See Shrinkage in Hybrid Contact Centres.
- Planning for average absence. An average hides the bad days. Unplanned absence swings from day to day, so your buffer should too. See how much absence buffer you really need.
- Using the same shrinkage in every month. Leave peaks around festivals and exams, and sickness rises in some seasons. Use a monthly profile.
- Counting holidays or attrition inside shrinkage. Keep them on their own lines.
- Never reviewing it. Compare planned shrinkage to actual every week and reset the assumption when the gap persists.
Does AI change shrinkage?
As more simple contacts move to bots and AI agents, the human queue tends to hold longer and more complex conversations. That can change what your team spends non-contact time on: more coaching, knowledge updates and quality calibration, for example. We do not yet have reliable public benchmarks on how this moves shrinkage in BPOs, so we would not put a new number in your plan.
A practical approach is to track shrinkage in categories every month and watch which lines are growing. If coaching and training hours rise after an automation launch, plan for it in the next roster. We discuss the wider staffing effect in Why Your AI Deflection Numbers Are Quietly Breaking Your Staffing Model.
Quick checklist
- Agree the shrinkage definition with the client, in writing.
- Split planned and unplanned every time.
- Gross up with ÷ (1 − shrinkage), not × (1 + shrinkage).
- Keep attrition, holidays and week offs out of the shrinkage line.
- Review the assumption against actuals weekly.
Not sure which part of your planning is weakest? Try the free WFM Health Check for a quick, printable view of where to look first. For the basics, our guide on how to calculate shrinkage is a good companion read.
FAQ
What is a good shrinkage percentage for a BPO? There is no single right number. Many operations plan somewhere between 20% and 35%. What matters is that the planned figure matches what actually happens, and that you review it regularly.
What is the formula for shrinkage in a call centre? Shrinkage % = (Hours not available for contacts ÷ Total scheduled paid hours) × 100. Split it into planned and unplanned parts for better control.
Is lunch part of shrinkage? It depends on the contract. If lunch is paid and scheduled, it is usually counted as shrinkage. If it is unpaid and outside scheduled hours, it is not. Follow your client agreement.
Is attrition part of shrinkage? No. Attrition is lost headcount. Shrinkage is lost time from agents who are still scheduled.
How do I add shrinkage to an Erlang C result? Divide the required agents by (1 − shrinkage). For 40 required agents and 25% shrinkage, schedule 40 ÷ 0.75 = 54 agents (rounded up).
How often should I recalculate shrinkage? Review it weekly against actuals and refresh the planning assumption monthly, or sooner after a change in policy, client rules or automation.