top of page

Call Center Performance Dashboard

​

​

 

 

​​

1. The Mission (Project Context)

Efficiency in a call center is often measured by speed, but the true value lies in resolution. This project analyzes 5,000 customer interactions to identify the friction points between operational speed and customer satisfaction. The mission was to provide leadership with a tool that identifies not just how fast we answer, but how well we solve the customer's problem.

​

2. The Interactive Stack (The Visual)

​​​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​​​​

​

3. Technical Architecture

  • Calculated Fields: Utilized Tableau’s DATAPARSE and SPLIT functions to transform the string-based AvgTalkDuration into a numerical 'Seconds' measure for aggregation.

  • Interactive Slicers: Implemented global filters for 'Topic' and 'Agent' to allow supervisors to drill down from a national level to a specific individual’s performance.

  • Visual Encoding: Used a diverging color palette for Satisfaction Ratings (Red for <3.0, Green for >4.0) to provide immediate visual cues for underperformance.

​

4. Key Business Insights (“The Discovery”)

  • The Resolution Gap: 81% of calls are answered, yet only 71% are resolved. This indicates that 10% of customers are getting through to an agent but leaving without a solution, likely leading to costly repeat calls.

  • The "Furniture" of Call Topics: Much like the Retail project, Technical Support is the 'problem category.' It has the highest volume (1,239 calls) but sits below the company average for satisfaction (3.39), suggesting a need for a knowledge-base overhaul.

  • The Quality/Quantity Balance: Top-rated agents like Martha (3.47 Sat) tend to have slightly longer talk durations than lower-rated agents. This suggests that "rushing" calls to meet speed targets is negatively impacting the customer experience.

​

5. Strategic Recommendations

  • Staffing Realignment: Analyze the 19% of 'Unanswered' calls to identify specific hour-blocks where staffing is inadequate, particularly during mid-day peaks.

  • Targeted Training: Roll out Martha’s call handling "Best Practices" to the bottom 10% of agents (specifically targeting Joe and Becky) to normalize satisfaction across the board.

  • Specialized Routing: Route 'Contract' and 'Technical' calls—our lowest satisfaction areas—to senior agents to ensure a higher First Call Resolution (FCR) rate.

​

6. Let’s Talk About the Data

The most interesting technical challenge was dealing with the AvgTalkDuration field. In its raw form (e.g., 00:03:47), it was impossible to average. By converting this to a 'Total Seconds' integer in Tableau, I was able to create the first accurate 'Average Handle Time' (AHT) metric for this dataset, revealing the hidden correlation between call length and customer happiness.

​

​

​

Call Center Dashboard – Build Guide

​

 

Step 1: Data Preparation

  1. Using Tableau Public, connect to the dataset (Call Center Data.xlsx).

 

Step 2: Build Individual Sheets

1. Connect & Prepare Data

  • Connect Excel data source → Tableau.

  • Make sure Date is recognized as a Date field.

​

2. Calls Sheet

i. Rename Sheet 1 → Calls

​

ii. Drag Call Id to Columns → choose Count Distinct.

 

iii. Drag Agent to Rows.

 

iv. Use Show Me → Horizontal Bars → Standard → Entire View.

 

v. Filters

  • Drag Date → choose Week numbers → select All → Ok.

       Right-click → → change to

  • Drag Agent → Filters → Ok.

 

vi. Create Calculated Field.

Name it: CSAT%

SUM(IF[Satisfaction rating] >= 4 THEN 1 ELSE 0 END) / COUNT([Satisfaction rating])

Ok.

​

vii. Add CSAT% to Filters → Ok.

​

viii. Press Ctrl and drag CNTD(Calll Id) to Label.

​

ix. Create Calculated Field.

Name it: Call Color Bucket

IF { FIXED [Agent] : COUNTD([Call Id]) } <= 600 THEN "Low"

ELSEIF { FIXED [Agent] : COUNTD([Call Id]) } <= 630 THEN "Medium"

ELSE "High"

END

​

x. Drag Call Color Bucket to Color.

Click on → Edit Colors (High = green, Medium = amber, Low = red).

​

xi. Sort bars descending.

​

xii. Add Reference Line

Analytics → Reference Line → Table.

Value: CNTD(Call Id), Aggregation: Average.

Label: → “Avg Calls: <Value>”.

Line: dotted

​

3. AHT (Average Handling Time) Sheet

i. Add new sheet → AHT.

​

ii. Talk Duration (Seconds)

DATEPART(‘hour’, [Avg Talk Duration]) * 3600 +

DATEPART(‘minute’, [Avg Talk Duration]) * 60 +

DATEPART(‘second’, [Avg Talk Duration])

​

iii. AHT Charts

AVG([Talk Duration (Seconds)])

​

iv. Place AHT Charts on Columns, Agent on Rows

​

v. Standard → Entire View.

​

vi. Add Agent and CSAT% to Filters.

​

vii. AHT Color Bucket

IF [AHT Charts]>= 230 THEN “High”

ELSEIF [AHT Charts] >= 225 THEN “Medium”

ELSE “Low” END

Drag to → Edit Colors.

​

viii. AHT Label (minutes & seconds)

STR(INT([AHT Charts]/60]) + “m” +

RIGHT(“0” + STR(INT([AHT Charts]%60)),2) + “s”

Drag to Detail.

​

ix. Reference Line

Analytics → Reference Line → Table → Average of AHT Charts.

Label: → “Avg AHT: <Value>” (or insert formatted field).

Line: dotted

Double-click x-axis → title = “Seconds”.

​

4. CSAT% Sheet

i. New Sheet → CSAT%

​

ii. Drag CSAT% to Columns, Agent to Rows → sort descending.

​

iii. Add Agent and CSAT% to Filters

​

iv. Show Agent as Multiple Values dropdown.

​

v. CSAT Color Bucket

IF [CSAT%] < 0.49 THEN “Low”

ELSEIF [CSAT%] <= 0.51 THEN “Medium”

ELSE “High” END

Drag to → Edit Colors.

​

vi. Drag CSAT% to Label → right-click → Format → Number Format → Percentage (1 decimal)

​

vii. Analytics → Reference Line → Table → Average

Label: Custom → “Avg CSAT: <Value>”

Line: dotted

​

5. KPI Sheets

Repeat this quick pattern for each KPI.

​

Overall First Call Resolution

  • Filters: Agent (All), CSAT%, WEEK(Date)

  • Create Calculated Field

       Name it: Overall FCR%

       SUM(IF[Resolved] = “Y” THEN 1 ELSE 0 END) / COUNT([Call Id])

  • Drag Overall FCR% to Text → format as Percentage (1 decimal) → right-justify.

 

Overall Average Handling Time

  • Filters: Agent (All), CSAT%, WEEK(Date)

  • Drag AHT Label to Text → right-justify.

 

Overall Customer Satisfaction Score

  • Filters: Agent (All), CSAT%, WEEK(Date)

  • Create Calculated Field

       Name it: Overall CSAT%

       SUM(IF[Satisfaction rating] >= 4 THEN 1 ELSE 0END) / COUNT([Satisfaction rating])

  • Drag Overall CSAT% to Text → format as Percentage (1 decimal) → right-justify.

​

Step 3: Assemble the Dashboard

i. Add a new dashboard → Call Center Dashboard. Size = Automatic.

​

ii. Layout: row on each of them,

  • Top Horizontal Container → Text box:

  • 18 pt bold center: Call Center Performance Dashboard

  • 14 pt bold center: Benchmarking Calls, Handling Time & Customer Satisfaction by Agent

  • Next container: Overall First Call Resolution, Overall Average Handling Time, Overall Customer Satisfaction Score.

  • Next container: Calls, AHT, CSAT%

  • Go to the Week of Date and Agent slicers, click the downward arrow on each of them, click on “Apply to Worksheets” and “All Using This Data Source”.

 

iii. Style:

  • Set warm light-beige background; every object gets a line border.

  • Outer padding 10, inner padding 5.

  • Remove colour legends (keys) except Week of Date and Agent filters.

  • If spacing is uneven: right-click container → Distribute Contents Evenly.

  • Go to Dashboard, Actions…, Add Action, Filter.

       Name: Agent Highlights.

       Source Sheets: AHT, Calls, and CSAT%.

       Run action on: Select.

       Target Sheets: AHT, Calls, and CSAT%.

       Clearing the selection will: Show all values.

       Filter: Selected fields.

       Source Field: Agent. Ok. Ok.

​

bottom of page