Contact center operations ยท Case study 01
Fixing Overnight Shift Metrics
Calendar-date reporting made complete overnight shifts look like two incomplete workdays. A simple operational rule restored the real story.
- Problem
- Work split at midnight
- Solution
- Group by shift start date
- Deliverable
- Tested data pipeline + dashboard
The problem
An agent works from 10:00 PM to 6:00 AM. A calendar-based report assigns the first two hours to one date and the remaining six to the next.
The shift is operationally complete, but the report shows two fragments. That can distort hours, calls per hour, productivity, staffing assumptions, and target checks.
The decision
Create an operational workday: the date when the employee's shift started. Every event attached to that shift keeps the same reporting date, even after midnight.
calendar_date = event_timestamp.date() operational_workday = shift_start.date()
Before vs after
| Reporting view | Date | Hours | Calls answered | Manager takeaway |
|---|---|---|---|---|
| Calendar date | 2026-07-01 | 2.0 | 11 | Looks below target |
| Calendar date | 2026-07-02 | 6.0 | 44 | Looks below target |
| Operational workday | 2026-07-01 | 8.0 | 55 | Complete shift meets target |
Business value
Overnight agents are evaluated on complete shifts. Supervisors get cleaner staffing and productivity reporting. The business rule becomes repeatable instead of requiring manual reconciliation.
The dataset is fully synthetic and covers 14 operational workdays, six agents, partial shifts, zero-call intervals, and unusually low activity.