• Marketing
  • 3 tables
  • 48,540 rows
  • 7 formats
  • synthetic data

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.

  • last updated 28 Oct 2026
  • by GoMask
  • Dataset contains 3 tables: customers, sales, and interactions.
  • Includes 48,540 total rows across all tables.
  • Covers a date range from January 11, 2020, to December 31, 2024.
  • Customer data includes segments and loyalty tiers.
  • Sales data features quantity, unit price, and total price.
  • Interaction data logs types like Email, Chat, Phone, and Social.

At a glance

  • 3tables
  • 48,540rows
  • 21columns
  • Jan 2020 – Dec 2024date 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_namestringemailstringcitystringstatestringcustomer_segmentstringloyalty_tierstringsignup_datedate
2c3f923a-bdfa-446b-9e0a-a9dae01b8791OliviaSmith[email protected]New YorkNew YorkConsumerBronze2023-06-29
a14cdee6-ec62-47ac-8d0c-be01b7279f2fLiamSanders[email protected]Los AngelesCaliforniaConsumerBronze2024-05-18
2fc742e8-c5e4-4aed-9b2c-b2f4fb4b422bEmmaStewart[email protected]ChicagoIllinoisConsumerBronze2020-11-26
c303d437-2c6b-4392-89e6-094e7550f9dfNoahScott[email protected]HoustonTexasConsumerSilver2023-02-19
c0fc3d07-bda1-45d0-8fd4-a9aadd178877AvaSullivan[email protected]PhoenixArizonaConsumerBronze2023-02-07
2c73a88d-8cc8-4068-9ddf-894a4911f537ElijahSimmons[email protected]New YorkNew YorkConsumerSilver2023-05-27
9c074f35-3ce6-459d-b1fa-47262df8c76fOliviaStevens[email protected]Los AngelesCaliforniaConsumerSilver2020-12-18
74cae42e-f44e-4063-9c68-6d95ec47e09dJamesSpencer[email protected]ChicagoIllinoisConsumerSilver2020-07-26
b18a66fa-c89f-466d-bb7a-06ad4d13459bIsabellaStone[email protected]HoustonTexasConsumerBronze2022-11-12
b996f2ea-a17e-42f6-aeae-f8f3658c120cWilliamSharp[email protected]PhoenixArizonaConsumerBronze2023-12-24
10 of 5,000 rows · 9 columns

Data dictionary

Data dictionary for the Customers table
columntypedescriptionexamplenull %
customer_iduuidPrimary key uniquely identifying each customer.unique2c3f923a-bdfa-446b-9e0a-a9dae01b87910%
first_namestringGiven name of the customer.Olivia0%
last_namestringFamily surname of the customer.Smith0%
emailstringUnique email address of the customer.unique[email protected]0%
citystringCity of residence.New York0%
statestringState of residence.New York0%
customer_segmentstringMarket classification segment for the customer (Consumer, Corporate, Home Office).Consumer0%
loyalty_tierstringCustomer loyalty reward tier (Bronze, Silver, Gold, Platinum).Bronze0%
signup_datedateDate the customer registered their account.2023-06-290%

Sales sales · fact table · 12,982 rows

Records 12,982 sales transactions between 2020 and 2024.

Preview

First 10 of 12,982 rows of the Sales table
sale_iduuidsale_datedateproduct_idstringquantityintegerunit_pricedecimaltotal_pricedecimalcustomer_iduuid
ad93f475-16db-487b-bded-9b04012293952024-06-10PROD-2554253.73107.464886c57a-1860-494a-b751-7f104b93dfb1
09797179-57e5-44d6-8296-3bf00c36f8aa2024-10-29PROD-4314268.54137.083a54e490-9e9d-4bc5-a938-9acbfec717b7
04c400c3-3b79-4ee6-be19-09351b7212bd2024-01-17PROD-2728125.1525.15c947d5fa-e6ba-499c-92e5-1774af4bf07d
8ea394cf-bee4-4497-a15a-cb893e87c4312023-12-20PROD-9401171.5871.583b0054e8-2b3c-4fee-908d-8eeef8f5d41e
3f4a7afa-c8da-46e7-b03d-f0ec2294c6a42023-03-28PROD-4446229588c71b2f6-8147-4fdb-9c88-49542d1f8ceb
8a209b53-b2ed-4b43-a6b1-ea805e064df62024-08-02PROD-3578224.8749.74ed6ac9f5-c6a8-48bf-8306-5e2e38371cf5
4e5832b5-ac58-4563-95d5-8b12aa34c8f62021-02-20PROD-27975232.8165.627e3ae94c-1ed9-4c61-8106-ae67ba2a12d1
e60a0989-c9ec-48e0-854f-7441a2851e1d2024-01-23PROD-9042126.8126.81bb96ab1e-3f20-4418-bde8-cc011778f913
402ed369-8ca1-4640-84b2-9bcdd40a21932024-04-17PROD-3193296.39192.7876245d2c-af71-4270-a3fc-3cc93d383554
c3bbac1f-d9ff-4100-8b00-27674f041e5a2024-11-10PROD-52885152.6952.69b31197db-6e1a-4454-bdd4-5aedb9ce4d03
10 of 12,982 rows · 7 columns

Data dictionary

Data dictionary for the Sales table
columntypedescriptionexamplenull %
sale_iduuidUnique identifier for each sales transaction.ad93f475-16db-487b-bded-9b04012293950%
sale_datedateDate when the transaction occurred between 2020 and 2024.2024-06-100%
product_idstringStandardized SKU or product catalog identifier.PROD-25540%
quantityintegerNumber of units purchased in the transaction.20%
unit_pricedecimalPrice per single unit of the product sold.53.730%
total_pricedecimalTotal purchase cost calculated as quantity multiplied by unit_price.107.460%
customer_iduuidForeign key linking to the customers table.4886c57a-1860-494a-b751-7f104b93dfb10%

Interactions interactions · fact table · 30,558 rows

Logs 30,558 customer interactions across various channels from 2020 to 2024.

Preview

First 10 of 30,558 rows of the Interactions table
interaction_iduuidinteraction_datedateinteraction_typestringnotesstringcustomer_iduuid
34009b63-6a6b-4157-a9f3-54b5f5234d462024-12-04PhoneInquired about the availability of a product that is currently out of stock.be0207e1-311b-48e5-90e5-60b9b8f8222a
a0bae0c9-f8cc-4049-a35f-e374ee2271f12024-11-24EmailAddressed a complaint about a damaged item received in the last shipment.24d19972-aa58-435c-abf0-e17bf33077ae
c04495dc-6199-4f9f-b6c5-24296af535592024-08-28PhoneCalled to discuss a potential partnership opportunity.b20f0772-3377-4cac-9d38-b7eb6d2ccdf2
76a2d4fb-67ee-4045-a7fb-f1916dc7c2b72022-11-25ChatAnswered a question about available support hours.9a48eff2-4709-4f96-8e57-95d1b6d69edd
f176a524-fe88-415c-a680-cd4dd331b3d82024-10-13EmailReplied to a question about warranty coverage for a specific product.9891e26c-9a9d-419f-8a8c-bdee0144bf5d
c0f6a99b-98a1-40d5-847d-adf1ad9d91d62024-05-06EmailConfirmed a subscription cancellation as per customer's request.55aaefc8-a5bc-4a84-868d-bd91cdaf0232
5eb95051-8968-4a66-bb82-527276e7de5c2024-09-10ChatHelped the customer manage their notification preferences.60515fdd-4e8a-4c12-9888-999eaaa98d47
933bb93e-5640-419a-aa1b-c98c9bb0ffbb2024-12-28ChatTroubleshot a payment processing error.0dc70a54-c655-43af-8ea4-3602551f0b65
4813281f-ba1f-4452-8060-a2b0958ab0c62023-04-10PhoneInquired about the process for transferring ownership of an account.78e55d3c-afa7-478c-b3b7-7dd3d8448564
f6c97f8c-329d-4bd0-92c0-3b5d273355332024-10-29SocialOffered assistance with a technical problem.b38d0414-b4d6-406a-a7ca-73291aa972f1
10 of 30,558 rows · 5 columns

Data dictionary

Data dictionary for the Interactions table
columntypedescriptionexamplenull %
interaction_iduuidPrimary key unique identifier for each interaction event.34009b63-6a6b-4157-a9f3-54b5f5234d460%
interaction_datedateCalendar date when the customer interaction occurred.2024-12-040%
interaction_typestringChannel medium used during the customer interaction (Email, Chat, Phone, Social).Phone0%
notesstringBrief summary notes documenting customer inquiries, troubleshooting, or follow-ups.Inquired about the availability of a product that is currently out of stock.0%
customer_iduuidForeign key linking to the customers table.be0207e1-311b-48e5-90e5-60b9b8f8222a0%

How the tables join

  • sales.customer_id references customers.customer_idmany to one: each Sales row points to one Customers row
  • interactions.customer_id references customers.customer_idmany to one: each Interactions row points to one Customers row

Questions to answer with it

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

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

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

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

Table names match the SQLite file and the SQL script.

Total Sales per Customer Segment

sql
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

sql
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)

sql
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

sql
SELECT AVG(quantity) AS average_quantity_sold FROM sales LIMIT 20;

Customer Interaction Count by Type

sql
SELECT interaction_type, COUNT(*) AS interaction_count FROM interactions GROUP BY interaction_type ORDER BY interaction_count DESC 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")
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
Scale this dataset in Data Factory
Tables
customers, sales, interactions
Licence
yours to use, including commercially
API slug
customer-insights-data-power-bi

What should your data show?

Preview 20 rows free
No signup. No card.