Intraday monitoring shrinkage metric calculation seems incorrect

The intraday shrinkage metric in WFM is calculated differently than many administrators expect.

  • Expected Behavior: Shrinkage = (Scheduled Non-Productive Time) / (Total Scheduled Time)
  • Actual GC Calculation: Shrinkage includes unscheduled breaks, system-initiated status changes, and off-queue time that was NOT scheduled.

Please reference the Resource Center article ‘Understanding WFM Shrinkage Calculations’ for the complete formula breakdown.

The screen recording data contradicts our shrinkage numbers.

Our Chrome extension captures agent activity. I can see an agent actively typing responses to customers, but the WFM dashboard shows them as ‘shrinkage’ during that exact time period. The screen recording proves they were working. Something is miscalculating.

The issue is status mapping. Period.

If the agent’s routing status is ‘Off Queue’ but they are handling an ACD-routed chat, WFM counts them as non-productive. The routing status and the actual interaction state can be out of sync.

GET /api/v2/users/{id}/routingstatus - check this against GET /api/v2/conversations for the same timestamp. If they diverge, your shrinkage math is wrong.

I wrote a reconciliation script that compares the WFM shrinkage output against the raw analytics data.

# Compare WFM shrinkage vs actual productive time
for agent in agents:
    wfm_shrinkage = wfm_api.get_shrinkage(agent.id, date)
    actual_interactions = analytics_api.get_conversations(
        user_id=agent.id, interval=date
    )
    actual_productive = sum(i.duration for i in actual_interactions)
    delta = wfm_shrinkage.non_productive - actual_productive
    if abs(delta) > 300:  # 5-min threshold
        print(f'MISMATCH: {agent.name} delta={delta}s')

Run this weekly and you’ll find the discrepancies.

Why is this so complicated? I just want to know how much time my agents waste.

I have 20 agents. I don’t need fancy scripts. Is there a simple report in the UI that shows me ‘time on calls’ vs ‘time doing nothing’? That’s all shrinkage means to me.

If you use Genesys DX alongside the voice channel, shrinkage gets even more confusing.

Our Bold360 chat agents appear as ‘idle’ in WFM because the chat interactions don’t trigger the same routing status events as voice calls. The WFM engine literally doesn’t know they are handling 5 concurrent chats. We had to build a custom integration that pushes Bold360 activity events into the WFM adherence system.

Does the shrinkage metric include time spent on digital channels differently than voice?

If an agent is handling 3 simultaneous chats, are they counted as ‘productive’ for all 3 channels, or does the system only credit them for the primary interaction? This distinction significantly changes the shrinkage percentage for our omnichannel team.