• Marketing
  • 3 tables
  • 25,613 rows
  • 7 formats
  • synthetic data

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.

  • last updated 21 Oct 2026
  • by GoMask
  • Dataset contains 25,613 rows and 23 columns.
  • Includes customer demographics, interaction logs, and support tickets.
  • Data spans from 2020-01-10 to 2025-01-15.
  • Available in CSV, Excel, and SQL formats.
  • Free sample available; full download requires credits.

At a glance

  • 3tables
  • 25,613rows
  • 23columns
  • Jan 2020 – Jan 2025date range

The 3 tables

preview and data dictionary per table

Customers customers · table · 5,000 rows

Contains demographic and segmentation information for 5,000 customers.

Preview

First 10 of 5,000 rows of the Customers table
customer_iduuidfirst_namestringlast_namestringemailstringcitystringstatestringcountrystringsignup_datedatecustomer_segmentstring
27910bb9-e25c-4018-99a9-79612dfcbfd5EleanorMiller[email protected]SpringfieldIllinoisUnited States2024-07-29Consumer
e3e4d6db-c0d6-46af-9681-7e76db23e6c6ArthurMorgan[email protected]AustinTexasUnited States2023-12-26Consumer
fdb831b7-33d2-4931-8cf5-4ee63b3c3b95BeatriceMitchell[email protected]PhoenixArizonaUnited States2021-03-16Consumer
965a7e82-c8ef-49fe-ae0b-13f696d752f8ClarenceMorgan[email protected]ChicagoIllinoisUnited States2020-08-29Consumer
2472f68e-9e56-484b-88cb-b14462f667f8DorothyMyers[email protected]PhiladelphiaPennsylvaniaUnited States2022-12-04Consumer
857080e7-ee9f-477b-a908-deacd8753e60EugeneMarshall[email protected]DenverColoradoUnited States2023-04-06Consumer
1c3006e9-fc5f-44d8-bc7b-ba6bc0d681a4FlorenceMason[email protected]SeattleWashingtonUnited States2024-03-08Consumer
6dca4554-31da-4010-bc80-5f6cfb821a69GeorgeMiller[email protected]BostonMassachusettsUnited States2023-09-14Consumer
c2da3d23-4d4a-4e2f-b4bc-f9a23e6b113dHelenMoore[email protected]New YorkNew YorkUnited States2020-01-28Consumer
d37b6363-0e3a-461d-9975-ede2931cc43bIrvingMitchell[email protected]Los AngelesCaliforniaUnited States2024-08-09Consumer
10 of 5,000 rows · 9 columns

Data dictionary

Data dictionary for the Customers table
columntypedescriptionexamplenull %
customer_iduuidUnique identifier for the customer.unique27910bb9-e25c-4018-99a9-79612dfcbfd50%
first_namestringCustomer first name.Eleanor0%
last_namestringCustomer last name or surname.Miller0%
emailstringPrimary email address for communication and CRM identity.unique[email protected]0%
citystringCity of residence or corporate headquarters.Springfield0%
statestringUS state name.Illinois0%
countrystringCountry of customer location.United States0%
signup_datedateDate the customer registered or created their account.2024-07-290%
customer_segmentstringBusiness classification tier of the customer.Consumer0%

Interactions interactions · fact table · 18,098 rows

Logs details of 18,098 customer interactions across various channels.

Preview

First 10 of 18,098 rows of the Interactions table
interaction_iduuidinteraction_datedatetimeinteraction_typestringchannelstringduration_minutesintegercustomer_iduuid
6de9fcb0-162c-430f-926d-0d52472e55682023-04-20 14:08:15CallPhone5c0dc97ca-5ad6-4a64-b313-3a0b22b251bc
3baf0d0b-2dfe-4461-b2eb-12c6b19b5e192023-06-17 09:39:07CallPhone213372eab3-7981-42ad-baf1-7cd7131955d1
80498784-1746-47e0-9ba7-54b52f75b22f2022-01-19 14:40:25CallPhone8435b8359-b7b9-4093-a64f-868824d3ef45
b24e1262-9066-4e76-93cd-117d5cd69c6e2023-10-04 12:17:55CallPhone13149406aa-80ab-45f3-9578-03f68ce75418
34684371-ee36-486b-825d-82310e83c3302023-03-21 09:15:34CallPhone9681d9925-98a7-4b01-99bb-7f0bd3a63ba2
be714b73-d9ea-4737-b0ff-59ce6928b0e02024-09-16 06:25:25CallPhone17915e0c41-b5cc-402b-bbc1-245591f21c2f
49c3e81f-4062-4a10-a1b1-c61aa953524c2024-11-30 12:26:26CallPhone11a9c86cd7-8693-4972-8975-e0e8f81a1102
2aed9829-86b5-4962-a43c-6ced0f3c35932024-11-04 14:11:06CallPhone19f058bceb-beae-4515-bbc0-65b4bfccf5ec
c68c924f-562c-4e2c-ad83-3a994b2a94c02023-03-08 10:14:16CallPhone180c8a53d5-8a08-4ee6-a5b5-4c2c6f51f671
031ae471-47b5-4aab-bbaf-2a81d0c84a602023-10-25 15:57:15CallPhone18eb7b3e21-b1a4-444e-8d0b-9f15ecb9b313
10 of 18,098 rows · 6 columns

Data dictionary

Data dictionary for the Interactions table
columntypedescriptionexamplenull %
interaction_iduuidPrimary key uniquely identifying each logged customer interaction.6de9fcb0-162c-430f-926d-0d52472e55680%
interaction_datedatetimeTimestamp indicating when the interaction took place.2023-04-20 14:08:150%
interaction_typestringThe modality or nature of the touchpoint.Call0%
channelstringThe communication platform or medium utilized for the interaction.Phone0%
duration_minutesintegerDuration of the interaction in minutes.50%
customer_iduuidForeign key to customers.customer_id.c0dc97ca-5ad6-4a64-b313-3a0b22b251bc0%

Tickets tickets · fact table · 2,515 rows

Records 2,515 customer support tickets with status, priority, and resolution times.

Preview

First 10 of 2,515 rows of the Tickets table
ticket_iduuidopen_datedateclose_datedatestatusstringprioritystringcategorystringresolution_time_hoursdecimalcustomer_iduuid
1bb4757f-0017-407d-bc92-9d8eed1eaa7d2022-01-282022-01-30ClosedMediumGeneral Inquiry43.96c2a4c44-f647-40dd-b7c6-eddd709332fe
e0d74164-11fe-4e32-8a28-92c1f430c7a72024-10-172024-10-25ClosedLowGeneral Inquiry188.4183d5581-b229-4f32-9eb6-cc22938e80df
af95b05d-9227-4866-a305-ff71f44998302024-10-212024-10-27ClosedMediumBilling138.3c4136928-cf74-4433-b77b-cacc757365da
a718c277-e30a-43c4-86f1-5c85932c46952021-12-012021-12-02ClosedMediumBilling21.768c264e4-002c-4aa1-ad7f-42d4e9ece92d
7d891fad-241a-4d3e-b521-ca19102683392023-01-042023-01-10ClosedMediumBilling144.74d24ac12-1aec-4e47-8cb5-3d8ebff66fe3
5e8c3b61-a34b-4d1d-824d-06ed7609d5202021-07-142021-07-26ClosedLowGeneral Inquiry288.1035a3101-b6b2-4b62-a595-f2d8366d6d38
5e345732-f690-4850-afd1-fcfbcc3fed7d2022-01-042022-01-05ClosedMediumGeneral Inquiry26.17e831643-1dfb-46fe-99ad-2015e03956b3
4044f01b-ca77-44d4-bdf5-2e662f344ff12021-11-052021-11-07ClosedMediumBilling52.4224d7b52-9400-44dc-bbb2-8b5bdf623d11
4bdd8ae7-947e-4098-ba75-27aac109aa062024-12-262025-01-03ClosedMediumGeneral Inquiry189.5eef7d90f-518c-45d9-88ae-16e5ce21fcce
c5763fc5-d3d8-4715-a7f3-0577de8a1da22024-07-052024-07-08ClosedMediumBilling67.4ab281cbf-a6cd-48b7-9cf8-4d8764361037
10 of 2,515 rows · 8 columns

Data dictionary

Data dictionary for the Tickets table
columntypedescriptionexamplenull %
ticket_iduuidUnique identifier for each customer support ticket.unique1bb4757f-0017-407d-bc92-9d8eed1eaa7d0%
open_datedateDate the support ticket was initially created and opened.2022-01-280%
close_datedateDate the support ticket was resolved and closed, if applicable.2022-01-3015%
statusstringCurrent operational status of the support ticket.Closed0%
prioritystringAssigned severity level and priority of the ticket.Medium0%
categorystringFunctional domain or topic of the customer's issue.General Inquiry0%
resolution_time_hoursdecimalTotal elapsed hours from ticket opening to ticket closure.43.915%
customer_iduuidForeign key to customers.customer_id.6c2a4c44-f647-40dd-b7c6-eddd709332fe0%

How the tables join

  • interactions.customer_id references customers.customer_idmany to one: each Interactions row points to one Customers row
  • tickets.customer_id references customers.customer_idmany to one: each Tickets row points to one Customers row

Questions to answer with it

  1. 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

  2. Calculate the average duration of customer interactions by channel. Which channel has the longest average interaction time?

    tables: interactions

  3. Determine the average resolution time for support tickets by priority level. Which priority level takes the longest to resolve?

    tables: tickets

  4. 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 publishing

Table names match the SQLite file and the SQL script.

Customer Segments and Signup Dates

sql
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

sql
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

sql
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

sql
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

python
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
Scale this dataset in Data Factory
Tables
customers, interactions, tickets
Licence
yours to use, including commercially
API slug
customer-dataset

What should your data show?

Preview 20 rows free
No signup. No card.