Call Center Dataset for Data Analysis and Reporting
This ready-made synthetic call center dataset is designed for data analysts practicing SQL queries and Power BI dashboards. Explore 5,000 call records with associated agent and customer information. A free sample is available, with full download access costing credits.
At a glance
- 3tables
- 10,100rows
- 25columns
- Jan 2015 – Dec 2024date range
The 3 tables
preview and data dictionary per tableAgents agents · dimension table · 100 rows
Information about support agents.
Preview
| agent_iduuid | first_namestring | last_namestring | emailstring | hire_datedate | teamstring | shift_start_timestring | shift_end_timestring |
|---|---|---|---|---|---|---|---|
| 0ea2b9c5-e48f-4bb4-aa41-e2697e265b16 | Rory | Tate | [email protected] | 2023-09-18 | Delta | 10:00 | 19:00 |
| 2eb8c869-f111-4678-90ec-a81d3be6473f | Quincy | Lowe | [email protected] | 2022-02-08 | Beta | 10:00 | 19:00 |
| b8b85212-1279-4224-b484-a6db72814292 | Devon | Pearson | [email protected] | 2023-10-26 | Delta | 10:00 | 19:00 |
| 585de48f-14cb-431e-904b-ed30fe5f2ef7 | Keiko | Takahashi | [email protected] | 2021-07-01 | Beta | 10:00 | 19:00 |
| ea2b2136-bfea-4b74-9829-f000d2bd4058 | Sasha | Fletcher | [email protected] | 2018-01-04 | Beta | 10:00 | 19:00 |
| 05a1fcfc-8e44-4dff-a808-d3f880c1b663 | Milo | Avery | [email protected] | 2023-09-06 | Delta | 10:00 | 19:00 |
| 77aa35d0-1cc4-4814-99e0-b6e689ab6a1a | Willow | Nguyen | [email protected] | 2019-07-01 | Beta | 10:00 | 19:00 |
| 732670e0-797e-4b23-b474-15057eb1a4b2 | Kai | Evans | [email protected] | 2018-07-24 | Beta | 10:00 | 19:00 |
| c16dd2c0-f21a-46ad-b218-923c435255e8 | Remy | Ortega | [email protected] | 2023-02-08 | Delta | 10:00 | 19:00 |
| 34d43975-3a91-4b0d-8284-bb9d06875a61 | Indra | Vance | [email protected] | 2019-09-26 | Beta | 10:00 | 19:00 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
agent_ | uuid | Primary key uniquely identifying each support agent.unique | 0ea2b9c5-e48f-4bb4-aa41-e2697e265b16 | 0% |
first_ | string | First name of the support agent.unique | Rory | 0% |
last_ | string | Last name of the support agent. | Tate | 0% |
email | string | Corporate email address for the support agent.unique | [email protected] | 0% |
hire_ | date | Date the support agent was hired. | 2023-09-18 | 0% |
team | string | Assigned support team name. | Delta | 0% |
shift_ | string | Standard shift start time (HH:MM). | 10:00 | 0% |
shift_ | string | Standard shift end time (HH:MM). | 19:00 | 0% |
Customers customers · dimension table · 5,000 rows
Details about the customers interacting with the call center.
Preview
| customer_iduuid | first_namestring | last_namestring | emailstring | phone_numberstring | citystring | statestring | account_creation_datedate |
|---|---|---|---|---|---|---|---|
| 45d166ba-3008-4338-93d6-a663eaa80e6e | Arthur | Smith | [email protected] | 214-202-3380 | Chicago | IL | 2016-03-09 |
| a74777e3-e588-4540-b82b-994e23009b9b | Eleanor | Stewart | [email protected] | 462-874-2021 | New York | NY | 2019-10-07 |
| 157cba94-6502-4a52-86a0-bce205b84579 | Walter | Simpson | [email protected] | 861-073-4467 | Los Angeles | CA | 2017-12-10 |
| 68fbbf5e-0bb0-49e3-bdd7-faee5cfefa6f | Mildred | Sullivan | [email protected] | 310-788-2518 | Houston | TX | 2022-08-10 |
| d64f4c55-2f9d-48cc-8e68-16f8dd5dd216 | Clarence | Stone | [email protected] | 834-891-4470 | Phoenix | AZ | 2018-01-19 |
| d6782643-b84e-4a6a-8151-d1cf9a6691e1 | Gladys | Spencer | [email protected] | 369-586-9743 | Chicago | IL | 2022-04-22 |
| d9b62ab5-fcbd-4f11-9bc6-218a6dbf9136 | Harold | Sterling | [email protected] | 757-915-3035 | New York | NY | 2021-12-18 |
| b9cda48c-f19d-4a31-9336-574b4a15f3c0 | Marion | Scott | [email protected] | 590-279-4568 | Los Angeles | CA | 2019-02-24 |
| bf453717-83ff-4e71-986a-c4c8b1f3d0af | Raymond | Simmons | [email protected] | 855-681-8696 | Houston | TX | 2015-07-05 |
| 97d850b0-b434-4937-be47-3c4c93900f43 | Beatrice | Stevens | [email protected] | 469-336-8995 | Phoenix | AZ | 2023-09-22 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
customer_ | uuid | Unique identifier for each customer record.unique | 45d166ba-3008-4338-93d6-a663eaa80e6e | 0% |
first_ | string | Given name of the customer. | Arthur | 0% |
last_ | string | Surname of the customer. | Smith | 0% |
email | string | Contact email address of the customer.unique | [email protected] | 0% |
phone_ | string | Standardized North American 10-digit phone number.unique | 214-202-3380 | 0% |
city | string | US city where the customer resides. | Chicago | 0% |
state | string | US state abbreviation of the customer. | IL | 0% |
account_ | date | Date the customer account was established between 2015 and 2023. | 2016-03-09 | 0% |
Calls calls · table · 5,000 rows
Records of individual call interactions.
Preview
| call_iduuid | call_start_timedatetime | call_end_timedatetime | duration_secondsinteger | call_typestring | call_outcomestring | sentiment_scoredecimal | agent_iduuid | customer_iduuid |
|---|---|---|---|---|---|---|---|---|
| 88da76bf-78d5-4cd2-93db-1f94d1c314ee | 2023-07-13 09:51:42 | 2023-07-13 10:00:54 | 552 | Inbound | Resolved | 1 | 9ff28b91-31d9-485f-a2ab-5e0b43cf9d6e | a4fa24a6-87d5-4768-9a22-42d3d55c60c9 |
| 6f705d62-7b6b-4881-b703-b65d740b5458 | 2024-01-09 09:01:25 | 2024-01-09 09:06:52 | 327 | Inbound | Resolved | -0.06 | 9538166d-c3e5-4b01-990a-be4e5dfcf202 | 1ba20052-2c9f-4f5d-a7c6-7e0ba6a69493 |
| 58593e76-56c0-415a-9607-1ad13ff201a0 | 2023-02-15 09:04:34 | 2023-02-15 09:06:11 | 97 | Inbound | Resolved | 0.4 | 3ac5329d-05c1-49a1-945a-ba8aa1aa22ac | 368aac45-1ee2-4266-8d08-205fe6e5b950 |
| e7fc3e00-4db6-455e-8f67-76d9917c6f50 | 2023-12-06 10:32:07 | 2023-12-06 10:39:06 | 419 | Inbound | Resolved | -0.38 | 149c7502-dedf-4f6d-a29e-17ace2736033 | b4bb0976-5e3e-4bb7-8cff-659c0ccbdd87 |
| e8e44f21-2018-4411-acd9-97e5bf77161f | 2024-11-29 14:39:58 | 2024-11-29 14:43:51 | 233 | Inbound | Resolved | 0.69 | 51558957-4d0a-4142-a6fc-bbcd51fbb182 | bbc9b903-3b74-417f-b05e-71e60f919a68 |
| 2b62e880-bde0-4eaa-8153-cdeba3309ced | 2023-08-23 12:47:14 | 2023-08-23 12:50:25 | 191 | Inbound | Resolved | -0.22 | 77aa35d0-1cc4-4814-99e0-b6e689ab6a1a | c942d9f1-c23b-4457-a48d-1d3b0d4dcd37 |
| b89e7154-8206-4b1d-8ba0-42300d5b0a30 | 2023-12-06 09:35:41 | 2023-12-06 09:39:55 | 254 | Inbound | Resolved | 0.49 | 86012c29-f5a8-420d-ae7b-7e7266a327b1 | 52d76aaa-d388-4f0c-8d96-5c846e0049c7 |
| 02e02ada-e632-42b1-8674-b15bab09b930 | 2024-08-29 09:08:17 | 2024-08-29 09:09:34 | 77 | Inbound | Resolved | 0.02 | baf9b7de-28e5-46e2-96fc-cee448f2b394 | c511d730-45d7-40c8-949c-87dad8276107 |
| 4cebe956-0abd-4b6a-b4ec-8b6f0b7cd7ff | 2024-11-04 10:24:45 | 2024-11-04 10:28:39 | 234 | Inbound | Resolved | 1 | a3b9d540-8caf-4514-8d53-58e1ccc8f5c9 | db6c1cfa-b117-4131-af66-f76215cb5e99 |
| 42c4c1af-714b-49b5-8a36-0fdedcb7ab8a | 2024-04-09 10:20:36 | 2024-04-09 10:22:25 | 109 | Inbound | Resolved | 0.51 | 9960c9a5-eb73-49ab-9e10-761d3572099e | 14969f5a-a6ba-4573-9324-1edfd67a868b |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
call_ | uuid | Unique identifier for each call interactionunique | 88da76bf-78d5-4cd2-93db-1f94d1c314ee | 0% |
call_ | datetime | Timestamp when the call was initiated | 2023-07-13 09:51:42 | 0% |
call_ | datetime | Timestamp when the call was terminatedunique | 2023-07-13 10:00:54 | 0% |
duration_ | integer | Total length of the call in seconds | 552 | 0% |
call_ | string | Direction or context of the call | Inbound | 0% |
call_ | string | Final resolution status of the call | Resolved | 0% |
sentiment_ | decimal | Calculated sentiment score of the interaction ranging from negative to positive | 1 | 0% |
agent_ | uuid | Foreign key to agents.agent_id | 9ff28b91-31d9-485f-a2ab-5e0b43cf9d6e | 0% |
customer_ | uuid | Foreign key to customers.customer_id | a4fa24a6-87d5-4768-9a22-42d3d55c60c9 | 0% |
How the tables join
calls.agent_id references agents.agent_idmany to one: each Calls row points to one Agents rowcalls.customer_id references customers.customer_idmany to one: each Calls row points to one Customers row
Questions to answer with it
Write a SQL query to find the average call duration per agent, filtering for 'Resolved' calls.
tables: calls, agents
Create a Power BI dashboard showing the distribution of call outcomes by call type.
tables: calls
Calculate the number of calls handled by each customer, ordered by the most frequent.
tables: calls, customers
Identify agents with the highest average sentiment score for 'Inbound' calls.
tables: calls, agents
Starter SQL
run against this data before publishingTable names match the SQLite file and the SQL script.
Average Call Duration per Agent for Resolved Calls
SELECT AVG(c.duration_seconds) AS average_duration, a.first_name, a.last_name FROM calls c JOIN agents a ON c.agent_id = a.agent_id WHERE c.call_outcome = 'Resolved' GROUP BY a.agent_id, a.first_name, a.last_name ORDER BY average_duration DESC LIMIT 20;Call Outcome Distribution by Call Type
SELECT call_type, call_outcome, COUNT(*) AS call_count FROM calls GROUP BY call_type, call_outcome ORDER BY call_type, call_count DESC LIMIT 20;Top Customers by Number of Calls
SELECT COUNT(c.call_id) AS total_calls, cust.first_name, cust.last_name FROM calls c JOIN customers cust ON c.customer_id = cust.customer_id GROUP BY cust.customer_id, cust.first_name, cust.last_name ORDER BY total_calls DESC LIMIT 20;Top Agents by Average Sentiment for Inbound Calls
SELECT AVG(c.sentiment_score) AS average_sentiment, a.first_name, a.last_name FROM calls c JOIN agents a ON c.agent_id = a.agent_id WHERE c.call_type = 'Inbound' GROUP BY a.agent_id, a.first_name, a.last_name ORDER BY average_sentiment DESC LIMIT 20;Call Duration Rank by Agent using Window Function
SELECT agent_id, duration_seconds, RANK() OVER (PARTITION BY agent_id ORDER BY duration_seconds DESC) as duration_rank FROM calls LIMIT 20;Load it with pandas
import pandas as pd
# Unzip the CSV download first: one file per table
agents = pd.read_csv("agents.csv")
customers = pd.read_csv("customers.csv")
calls = pd.read_csv("calls.csv")
# Join calls to agents
df = calls.merge(agents, left_on="agent_id", right_on="agent_id", how="left", suffixes=("", "_agents"))
print(df.groupby("team").size().sort_values(ascending=False))Using it in your tool
- Excel
- Load each table into a separate sheet. Use Power Query to join tables based on agent_id and customer_id. Create a PivotTable on the 'calls' sheet to analyze call outcomes by call type.
- Power BI
- Create a star schema with 'calls' as the fact table and 'agents' and 'customers' as dimension tables. Establish relationships: calls.agent_id -> agents.agent_id, calls.customer_id -> customers.customer_id. DAX measures: Total Calls = COUNT(calls[call_id]), Average Duration = AVERAGE(calls[duration_seconds]).
- SQL
- Load the SQLite or SQL relational download. Use agent_id and customer_id for joining tables. Example join path: calls JOIN agents ON calls.agent_id = agents.agent_id.
Formats available
- CSV (zip)One CSV file per table, zipped
- Excel workbookOne worksheet per table
- SQLite databaseA ready-to-query database file with every table
- Parquet (zip)One Parquet file per table, zipped
- SQL scriptCREATE TABLE with primary and foreign keys, then INSERTs
- CSVA single CSV file
- JSONA single JSON file
How this data was generated
Synthetic data. Every row was generated: no real people, customers or companies are in this dataset.
Synthetic data generated by GoMask DataFactory from a relational blueprint: keys, links and rules are enforced in code, text columns are filled by a language model. No real people, companies or transactions.
- Data generated using GoMask DataFactory.
- Synthetic data mimics call center operations.
- Checked by an automated quality gate: unique keys, no orphan foreign keys, required columns filled, declared rules and date ranges (realism score 100).
Limitations
- The dataset is synthetic and does not represent real-world individuals or events.
- Sentiment scores are generated and may not perfectly reflect human emotion.
- Distributions and correlations are modelled, not measured from real records.
blueprint · call-center-dataset
Scale this dataset
Same tables. As many rows as you need.
Open the blueprint behind these 3 tables in Data Factory: keep the relationships, change a column, and generate it at the size you need.
- 200,000 rows
- 1,000,000 rows
- Tables
- agents, customers, calls
- Licence
- yours to use, including commercially
- API slug
- call-center-dataset