Customer Dataset for CRM Analysis
This ready-made customer dataset provides a sample for practicing CRM data analysis. It includes 25,613 rows across three tables, covering customer information, interactions, and support tickets. Analyze customer segments, interaction channels, and ticket resolutions.
At a glance
- 3tables
- 25,613rows
- 23columns
- Jan 2020 – Jan 2025date range
The 3 tables
preview and data dictionary per tableCustomers customers · table · 5,000 rows
Contains demographic and segmentation information for 5,000 customers.
Preview
| customer_iduuid | first_namestring | last_namestring | emailstring | citystring | statestring | countrystring | signup_datedate | customer_segmentstring |
|---|---|---|---|---|---|---|---|---|
| 27910bb9-e25c-4018-99a9-79612dfcbfd5 | Eleanor | Miller | [email protected] | Springfield | Illinois | United States | 2024-07-29 | Consumer |
| e3e4d6db-c0d6-46af-9681-7e76db23e6c6 | Arthur | Morgan | [email protected] | Austin | Texas | United States | 2023-12-26 | Consumer |
| fdb831b7-33d2-4931-8cf5-4ee63b3c3b95 | Beatrice | Mitchell | [email protected] | Phoenix | Arizona | United States | 2021-03-16 | Consumer |
| 965a7e82-c8ef-49fe-ae0b-13f696d752f8 | Clarence | Morgan | [email protected] | Chicago | Illinois | United States | 2020-08-29 | Consumer |
| 2472f68e-9e56-484b-88cb-b14462f667f8 | Dorothy | Myers | [email protected] | Philadelphia | Pennsylvania | United States | 2022-12-04 | Consumer |
| 857080e7-ee9f-477b-a908-deacd8753e60 | Eugene | Marshall | [email protected] | Denver | Colorado | United States | 2023-04-06 | Consumer |
| 1c3006e9-fc5f-44d8-bc7b-ba6bc0d681a4 | Florence | Mason | [email protected] | Seattle | Washington | United States | 2024-03-08 | Consumer |
| 6dca4554-31da-4010-bc80-5f6cfb821a69 | George | Miller | [email protected] | Boston | Massachusetts | United States | 2023-09-14 | Consumer |
| c2da3d23-4d4a-4e2f-b4bc-f9a23e6b113d | Helen | Moore | [email protected] | New York | New York | United States | 2020-01-28 | Consumer |
| d37b6363-0e3a-461d-9975-ede2931cc43b | Irving | Mitchell | [email protected] | Los Angeles | California | United States | 2024-08-09 | Consumer |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
customer_ | uuid | Unique identifier for the customer.unique | 27910bb9-e25c-4018-99a9-79612dfcbfd5 | 0% |
first_ | string | Customer first name. | Eleanor | 0% |
last_ | string | Customer last name or surname. | Miller | 0% |
email | string | Primary email address for communication and CRM identity.unique | [email protected] | 0% |
city | string | City of residence or corporate headquarters. | Springfield | 0% |
state | string | US state name. | Illinois | 0% |
country | string | Country of customer location. | United States | 0% |
signup_ | date | Date the customer registered or created their account. | 2024-07-29 | 0% |
customer_ | string | Business classification tier of the customer. | Consumer | 0% |
Interactions interactions · fact table · 18,098 rows
Logs details of 18,098 customer interactions across various channels.
Preview
| interaction_iduuid | interaction_datedatetime | interaction_typestring | channelstring | duration_minutesinteger | customer_iduuid |
|---|---|---|---|---|---|
| 6de9fcb0-162c-430f-926d-0d52472e5568 | 2023-04-20 14:08:15 | Call | Phone | 5 | c0dc97ca-5ad6-4a64-b313-3a0b22b251bc |
| 3baf0d0b-2dfe-4461-b2eb-12c6b19b5e19 | 2023-06-17 09:39:07 | Call | Phone | 21 | 3372eab3-7981-42ad-baf1-7cd7131955d1 |
| 80498784-1746-47e0-9ba7-54b52f75b22f | 2022-01-19 14:40:25 | Call | Phone | 8 | 435b8359-b7b9-4093-a64f-868824d3ef45 |
| b24e1262-9066-4e76-93cd-117d5cd69c6e | 2023-10-04 12:17:55 | Call | Phone | 13 | 149406aa-80ab-45f3-9578-03f68ce75418 |
| 34684371-ee36-486b-825d-82310e83c330 | 2023-03-21 09:15:34 | Call | Phone | 9 | 681d9925-98a7-4b01-99bb-7f0bd3a63ba2 |
| be714b73-d9ea-4737-b0ff-59ce6928b0e0 | 2024-09-16 06:25:25 | Call | Phone | 17 | 915e0c41-b5cc-402b-bbc1-245591f21c2f |
| 49c3e81f-4062-4a10-a1b1-c61aa953524c | 2024-11-30 12:26:26 | Call | Phone | 11 | a9c86cd7-8693-4972-8975-e0e8f81a1102 |
| 2aed9829-86b5-4962-a43c-6ced0f3c3593 | 2024-11-04 14:11:06 | Call | Phone | 19 | f058bceb-beae-4515-bbc0-65b4bfccf5ec |
| c68c924f-562c-4e2c-ad83-3a994b2a94c0 | 2023-03-08 10:14:16 | Call | Phone | 18 | 0c8a53d5-8a08-4ee6-a5b5-4c2c6f51f671 |
| 031ae471-47b5-4aab-bbaf-2a81d0c84a60 | 2023-10-25 15:57:15 | Call | Phone | 18 | eb7b3e21-b1a4-444e-8d0b-9f15ecb9b313 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
interaction_ | uuid | Primary key uniquely identifying each logged customer interaction. | 6de9fcb0-162c-430f-926d-0d52472e5568 | 0% |
interaction_ | datetime | Timestamp indicating when the interaction took place. | 2023-04-20 14:08:15 | 0% |
interaction_ | string | The modality or nature of the touchpoint. | Call | 0% |
channel | string | The communication platform or medium utilized for the interaction. | Phone | 0% |
duration_ | integer | Duration of the interaction in minutes. | 5 | 0% |
customer_ | uuid | Foreign key to customers.customer_id. | c0dc97ca-5ad6-4a64-b313-3a0b22b251bc | 0% |
Tickets tickets · fact table · 2,515 rows
Records 2,515 customer support tickets with status, priority, and resolution times.
Preview
| ticket_iduuid | open_datedate | close_datedate | statusstring | prioritystring | categorystring | resolution_time_hoursdecimal | customer_iduuid |
|---|---|---|---|---|---|---|---|
| 1bb4757f-0017-407d-bc92-9d8eed1eaa7d | 2022-01-28 | 2022-01-30 | Closed | Medium | General Inquiry | 43.9 | 6c2a4c44-f647-40dd-b7c6-eddd709332fe |
| e0d74164-11fe-4e32-8a28-92c1f430c7a7 | 2024-10-17 | 2024-10-25 | Closed | Low | General Inquiry | 188.4 | 183d5581-b229-4f32-9eb6-cc22938e80df |
| af95b05d-9227-4866-a305-ff71f4499830 | 2024-10-21 | 2024-10-27 | Closed | Medium | Billing | 138.3 | c4136928-cf74-4433-b77b-cacc757365da |
| a718c277-e30a-43c4-86f1-5c85932c4695 | 2021-12-01 | 2021-12-02 | Closed | Medium | Billing | 21.7 | 68c264e4-002c-4aa1-ad7f-42d4e9ece92d |
| 7d891fad-241a-4d3e-b521-ca1910268339 | 2023-01-04 | 2023-01-10 | Closed | Medium | Billing | 144.7 | 4d24ac12-1aec-4e47-8cb5-3d8ebff66fe3 |
| 5e8c3b61-a34b-4d1d-824d-06ed7609d520 | 2021-07-14 | 2021-07-26 | Closed | Low | General Inquiry | 288.1 | 035a3101-b6b2-4b62-a595-f2d8366d6d38 |
| 5e345732-f690-4850-afd1-fcfbcc3fed7d | 2022-01-04 | 2022-01-05 | Closed | Medium | General Inquiry | 26.1 | 7e831643-1dfb-46fe-99ad-2015e03956b3 |
| 4044f01b-ca77-44d4-bdf5-2e662f344ff1 | 2021-11-05 | 2021-11-07 | Closed | Medium | Billing | 52.4 | 224d7b52-9400-44dc-bbb2-8b5bdf623d11 |
| 4bdd8ae7-947e-4098-ba75-27aac109aa06 | 2024-12-26 | 2025-01-03 | Closed | Medium | General Inquiry | 189.5 | eef7d90f-518c-45d9-88ae-16e5ce21fcce |
| c5763fc5-d3d8-4715-a7f3-0577de8a1da2 | 2024-07-05 | 2024-07-08 | Closed | Medium | Billing | 67.4 | ab281cbf-a6cd-48b7-9cf8-4d8764361037 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
ticket_ | uuid | Unique identifier for each customer support ticket.unique | 1bb4757f-0017-407d-bc92-9d8eed1eaa7d | 0% |
open_ | date | Date the support ticket was initially created and opened. | 2022-01-28 | 0% |
close_ | date | Date the support ticket was resolved and closed, if applicable. | 2022-01-30 | 15% |
status | string | Current operational status of the support ticket. | Closed | 0% |
priority | string | Assigned severity level and priority of the ticket. | Medium | 0% |
category | string | Functional domain or topic of the customer's issue. | General Inquiry | 0% |
resolution_ | decimal | Total elapsed hours from ticket opening to ticket closure. | 43.9 | 15% |
customer_ | uuid | Foreign key to customers.customer_id. | 6c2a4c44-f647-40dd-b7c6-eddd709332fe | 0% |
How the tables join
interactions.customer_id references customers.customer_idmany to one: each Interactions row points to one Customers rowtickets.customer_id references customers.customer_idmany to one: each Tickets row points to one Customers row
Questions to answer with it
Analyze the distribution of customer segments and their signup dates. Which segment has the most customers and when did they typically sign up?
tables: customers
Calculate the average duration of customer interactions by channel. Which channel has the longest average interaction time?
tables: interactions
Determine the average resolution time for support tickets by priority level. Which priority level takes the longest to resolve?
tables: tickets
Using SQL, join customers with their interactions and tickets to find customers who have had more than 3 interactions and at least 1 open ticket.
tables: customers, interactions, tickets
Starter SQL
run against this data before publishingTable names match the SQLite file and the SQL script.
Customer Segments and Signup Dates
SELECT customer_segment, signup_date, COUNT(customer_id) AS num_customers FROM customers GROUP BY customer_segment, signup_date ORDER BY num_customers DESC LIMIT 20;Average Interaction Duration by Channel
SELECT channel, AVG(duration_minutes) AS avg_duration FROM interactions GROUP BY channel ORDER BY avg_duration DESC LIMIT 20;Average Ticket Resolution Time by Priority
SELECT priority, AVG(resolution_time_hours) AS avg_resolution_time FROM tickets WHERE resolution_time_hours IS NOT NULL GROUP BY priority ORDER BY avg_resolution_time DESC LIMIT 20;Customers with Multiple Interactions and Open Tickets
SELECT c.customer_id, COUNT(DISTINCT i.interaction_id) AS num_interactions, COUNT(DISTINCT t.ticket_id) AS num_open_tickets FROM customers c JOIN interactions i ON c.customer_id = i.customer_id JOIN tickets t ON c.customer_id = t.customer_id WHERE t.status = 'Open' GROUP BY c.customer_id HAVING num_interactions > 3 AND num_open_tickets >= 1 LIMIT 20;Load it with pandas
import pandas as pd
# Unzip the CSV download first: one file per table
customers = pd.read_csv("customers.csv")
interactions = pd.read_csv("interactions.csv")
tickets = pd.read_csv("tickets.csv")
# Join interactions to customers
df = interactions.merge(customers, left_on="customer_id", right_on="customer_id", how="left", suffixes=("", "_customers"))
print(df.groupby("customer_segment").size().sort_values(ascending=False))Using it in your tool
- Excel
- Load each table into a separate Excel sheet. Use XLOOKUP to join tables based on customer_id. Create a PivotTable on the customers sheet to analyze customer segments and signup dates.
- Power BI
- Load all three tables. Create relationships: customers to interactions (one-to-many on customer_id) and customers to tickets (one-to-many on customer_id). Create measures for average interaction duration and average resolution time.
- SQL
- Load the SQL dump into a SQLite or other SQL database. Use the customer_id column to join tables: customers to interactions and customers to tickets. Indexes on customer_id will improve query performance.
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.
- The dataset is synthetically generated by GoMask DataFactory.
- Data mimics common CRM and customer support scenarios.
- Relationships between tables are based on statistical distributions.
- 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 data is synthetic and does not represent real-world individuals or events.
- 14.99% of ticket close dates are null, indicating open or pending tickets.
- Customer email addresses are not validated for deliverability.
- Distributions and correlations are modelled, not measured from real records.
blueprint · customer-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
- customers, interactions, tickets
- Licence
- yours to use, including commercially
- API slug
- customer-dataset