Customer Insights Data for Power BI Dashboards
This ready-made dataset provides customer information, sales transactions, and interaction logs. It is designed for BI professionals to build insightful dashboards in Power BI. A free sample is available, with the full download costing credits.
At a glance
- 3tables
- 48,540rows
- 21columns
- Jan 2020 – Dec 2024date 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 | customer_segmentstring | loyalty_tierstring | signup_datedate |
|---|---|---|---|---|---|---|---|---|
| 2c3f923a-bdfa-446b-9e0a-a9dae01b8791 | Olivia | Smith | [email protected] | New York | New York | Consumer | Bronze | 2023-06-29 |
| a14cdee6-ec62-47ac-8d0c-be01b7279f2f | Liam | Sanders | [email protected] | Los Angeles | California | Consumer | Bronze | 2024-05-18 |
| 2fc742e8-c5e4-4aed-9b2c-b2f4fb4b422b | Emma | Stewart | [email protected] | Chicago | Illinois | Consumer | Bronze | 2020-11-26 |
| c303d437-2c6b-4392-89e6-094e7550f9df | Noah | Scott | [email protected] | Houston | Texas | Consumer | Silver | 2023-02-19 |
| c0fc3d07-bda1-45d0-8fd4-a9aadd178877 | Ava | Sullivan | [email protected] | Phoenix | Arizona | Consumer | Bronze | 2023-02-07 |
| 2c73a88d-8cc8-4068-9ddf-894a4911f537 | Elijah | Simmons | [email protected] | New York | New York | Consumer | Silver | 2023-05-27 |
| 9c074f35-3ce6-459d-b1fa-47262df8c76f | Olivia | Stevens | [email protected] | Los Angeles | California | Consumer | Silver | 2020-12-18 |
| 74cae42e-f44e-4063-9c68-6d95ec47e09d | James | Spencer | [email protected] | Chicago | Illinois | Consumer | Silver | 2020-07-26 |
| b18a66fa-c89f-466d-bb7a-06ad4d13459b | Isabella | Stone | [email protected] | Houston | Texas | Consumer | Bronze | 2022-11-12 |
| b996f2ea-a17e-42f6-aeae-f8f3658c120c | William | Sharp | [email protected] | Phoenix | Arizona | Consumer | Bronze | 2023-12-24 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
customer_ | uuid | Primary key uniquely identifying each customer.unique | 2c3f923a-bdfa-446b-9e0a-a9dae01b8791 | 0% |
first_ | string | Given name of the customer. | Olivia | 0% |
last_ | string | Family surname of the customer. | Smith | 0% |
email | string | Unique email address of the customer.unique | [email protected] | 0% |
city | string | City of residence. | New York | 0% |
state | string | State of residence. | New York | 0% |
customer_ | string | Market classification segment for the customer (Consumer, Corporate, Home Office). | Consumer | 0% |
loyalty_ | string | Customer loyalty reward tier (Bronze, Silver, Gold, Platinum). | Bronze | 0% |
signup_ | date | Date the customer registered their account. | 2023-06-29 | 0% |
Sales sales · fact table · 12,982 rows
Records 12,982 sales transactions between 2020 and 2024.
Preview
| sale_iduuid | sale_datedate | product_idstring | quantityinteger | unit_pricedecimal | total_pricedecimal | customer_iduuid |
|---|---|---|---|---|---|---|
| ad93f475-16db-487b-bded-9b0401229395 | 2024-06-10 | PROD-2554 | 2 | 53.73 | 107.46 | 4886c57a-1860-494a-b751-7f104b93dfb1 |
| 09797179-57e5-44d6-8296-3bf00c36f8aa | 2024-10-29 | PROD-4314 | 2 | 68.54 | 137.08 | 3a54e490-9e9d-4bc5-a938-9acbfec717b7 |
| 04c400c3-3b79-4ee6-be19-09351b7212bd | 2024-01-17 | PROD-2728 | 1 | 25.15 | 25.15 | c947d5fa-e6ba-499c-92e5-1774af4bf07d |
| 8ea394cf-bee4-4497-a15a-cb893e87c431 | 2023-12-20 | PROD-9401 | 1 | 71.58 | 71.58 | 3b0054e8-2b3c-4fee-908d-8eeef8f5d41e |
| 3f4a7afa-c8da-46e7-b03d-f0ec2294c6a4 | 2023-03-28 | PROD-4446 | 2 | 29 | 58 | 8c71b2f6-8147-4fdb-9c88-49542d1f8ceb |
| 8a209b53-b2ed-4b43-a6b1-ea805e064df6 | 2024-08-02 | PROD-3578 | 2 | 24.87 | 49.74 | ed6ac9f5-c6a8-48bf-8306-5e2e38371cf5 |
| 4e5832b5-ac58-4563-95d5-8b12aa34c8f6 | 2021-02-20 | PROD-27975 | 2 | 32.81 | 65.62 | 7e3ae94c-1ed9-4c61-8106-ae67ba2a12d1 |
| e60a0989-c9ec-48e0-854f-7441a2851e1d | 2024-01-23 | PROD-9042 | 1 | 26.81 | 26.81 | bb96ab1e-3f20-4418-bde8-cc011778f913 |
| 402ed369-8ca1-4640-84b2-9bcdd40a2193 | 2024-04-17 | PROD-3193 | 2 | 96.39 | 192.78 | 76245d2c-af71-4270-a3fc-3cc93d383554 |
| c3bbac1f-d9ff-4100-8b00-27674f041e5a | 2024-11-10 | PROD-52885 | 1 | 52.69 | 52.69 | b31197db-6e1a-4454-bdd4-5aedb9ce4d03 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
sale_ | uuid | Unique identifier for each sales transaction. | ad93f475-16db-487b-bded-9b0401229395 | 0% |
sale_ | date | Date when the transaction occurred between 2020 and 2024. | 2024-06-10 | 0% |
product_ | string | Standardized SKU or product catalog identifier. | PROD-2554 | 0% |
quantity | integer | Number of units purchased in the transaction. | 2 | 0% |
unit_ | decimal | Price per single unit of the product sold. | 53.73 | 0% |
total_ | decimal | Total purchase cost calculated as quantity multiplied by unit_price. | 107.46 | 0% |
customer_ | uuid | Foreign key linking to the customers table. | 4886c57a-1860-494a-b751-7f104b93dfb1 | 0% |
Interactions interactions · fact table · 30,558 rows
Logs 30,558 customer interactions across various channels from 2020 to 2024.
Preview
| interaction_iduuid | interaction_datedate | interaction_typestring | notesstring | customer_iduuid |
|---|---|---|---|---|
| 34009b63-6a6b-4157-a9f3-54b5f5234d46 | 2024-12-04 | Phone | Inquired about the availability of a product that is currently out of stock. | be0207e1-311b-48e5-90e5-60b9b8f8222a |
| a0bae0c9-f8cc-4049-a35f-e374ee2271f1 | 2024-11-24 | Addressed a complaint about a damaged item received in the last shipment. | 24d19972-aa58-435c-abf0-e17bf33077ae | |
| c04495dc-6199-4f9f-b6c5-24296af53559 | 2024-08-28 | Phone | Called to discuss a potential partnership opportunity. | b20f0772-3377-4cac-9d38-b7eb6d2ccdf2 |
| 76a2d4fb-67ee-4045-a7fb-f1916dc7c2b7 | 2022-11-25 | Chat | Answered a question about available support hours. | 9a48eff2-4709-4f96-8e57-95d1b6d69edd |
| f176a524-fe88-415c-a680-cd4dd331b3d8 | 2024-10-13 | Replied to a question about warranty coverage for a specific product. | 9891e26c-9a9d-419f-8a8c-bdee0144bf5d | |
| c0f6a99b-98a1-40d5-847d-adf1ad9d91d6 | 2024-05-06 | Confirmed a subscription cancellation as per customer's request. | 55aaefc8-a5bc-4a84-868d-bd91cdaf0232 | |
| 5eb95051-8968-4a66-bb82-527276e7de5c | 2024-09-10 | Chat | Helped the customer manage their notification preferences. | 60515fdd-4e8a-4c12-9888-999eaaa98d47 |
| 933bb93e-5640-419a-aa1b-c98c9bb0ffbb | 2024-12-28 | Chat | Troubleshot a payment processing error. | 0dc70a54-c655-43af-8ea4-3602551f0b65 |
| 4813281f-ba1f-4452-8060-a2b0958ab0c6 | 2023-04-10 | Phone | Inquired about the process for transferring ownership of an account. | 78e55d3c-afa7-478c-b3b7-7dd3d8448564 |
| f6c97f8c-329d-4bd0-92c0-3b5d27335533 | 2024-10-29 | Social | Offered assistance with a technical problem. | b38d0414-b4d6-406a-a7ca-73291aa972f1 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
interaction_ | uuid | Primary key unique identifier for each interaction event. | 34009b63-6a6b-4157-a9f3-54b5f5234d46 | 0% |
interaction_ | date | Calendar date when the customer interaction occurred. | 2024-12-04 | 0% |
interaction_ | string | Channel medium used during the customer interaction (Email, Chat, Phone, Social). | Phone | 0% |
notes | string | Brief summary notes documenting customer inquiries, troubleshooting, or follow-ups. | Inquired about the availability of a product that is currently out of stock. | 0% |
customer_ | uuid | Foreign key linking to the customers table. | be0207e1-311b-48e5-90e5-60b9b8f8222a | 0% |
How the tables join
sales.customer_id references customers.customer_idmany to one: each Sales row points to one Customers rowinteractions.customer_id references customers.customer_idmany to one: each Interactions row points to one Customers row
Questions to answer with it
Analyze the total sales revenue by customer segment and loyalty tier using Power BI.
Join customers and sales tables on customer_id. Use SUM(total_price) and group by customer_segment and loyalty_tier.
tables: customers, sales
Identify the top 5 customers by total sales value and their most frequent interaction type.
Calculate total sales per customer, then find the most frequent interaction type for each customer. Combine and rank.
tables: customers, sales, interactions
Create a Power BI dashboard showing customer acquisition trends over time based on signup date.
Use the signup_date column to plot the count of new customers over time. Consider grouping by month or year.
tables: customers
Calculate the average quantity sold per customer for each product category.
Join customers and sales tables. Calculate the average quantity sold for each customer, then aggregate by product category (assuming product_id can be mapped to categories).
tables: customers, sales
Starter SQL
run against this data before publishingTable names match the SQLite file and the SQL script.
Total Sales per Customer Segment
SELECT c.customer_segment, SUM(s.total_price) AS total_sales FROM customers c JOIN sales s ON c.customer_id = s.customer_id GROUP BY c.customer_segment ORDER BY total_sales DESC LIMIT 20;Top 20 Customers by Total Sales
SELECT c.customer_id, c.email, SUM(s.total_price) AS total_sales FROM customers c JOIN sales s ON c.customer_id = s.customer_id GROUP BY c.customer_id, c.email ORDER BY total_sales DESC LIMIT 20;Customer Acquisition Trend (Monthly)
SELECT STRFTIME('%Y-%m', signup_date) AS signup_month, COUNT(customer_id) AS new_customers FROM customers GROUP BY signup_month ORDER BY signup_month LIMIT 20;Average Quantity Sold per Transaction
SELECT AVG(quantity) AS average_quantity_sold FROM sales LIMIT 20;Customer Interaction Count by Type
SELECT interaction_type, COUNT(*) AS interaction_count FROM interactions GROUP BY interaction_type ORDER BY interaction_count DESC 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")
sales = pd.read_csv("sales.csv")
interactions = pd.read_csv("interactions.csv")
# Join sales to customers
df = sales.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 sheet. Use Power Query to join 'sales' and 'customers' tables on 'customer_id'. Create a PivotTable from the joined data to analyze sales by segment and loyalty tier.
- Power BI
- Create relationships: 'customers' to 'sales' (one-to-many on customer_id) and 'customers' to 'interactions' (one-to-many on customer_id). Measures: Total Sales = SUM(sales[total_price]), Customer Count = COUNTROWS(customers). Build visuals for sales trends and customer demographics.
- SQL
- Load the SQLite or SQL relational download. The primary keys are customer_id (customers), sale_id (sales), and interaction_id (interactions). Join tables using customer_id to link sales and interactions to customer details.
- Python
- Use pandas to load CSV or other formats. Merge 'sales' and 'customers' DataFrames on 'customer_id'. Analyze sales performance, customer behavior, and interaction patterns using libraries like pandas and matplotlib.
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.
- Customer IDs are synthetic UUIDs.
- Transaction and interaction data are procedurally generated based on customer profiles.
- 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 actual customer behavior.
- Product categories are not explicitly defined; product_id is a direct identifier.
- Interaction notes are brief and may not capture full conversation details.
- Distributions and correlations are modelled, not measured from real records.
blueprint · customer-insights-data-power-bi
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, sales, interactions
- Licence
- yours to use, including commercially
- API slug
- customer-insights-data-power-bi