Data Analytics Project

Marketing Performance & Customer Insights Analysis

Explore customer demographics, purchasing behaviour, product preferences and marketing campaign performance. Build an interactive dashboard that turns customer data into actionable business insights.

2,240 Customer Records 28 Columns Beginner to Intermediate Dashboard Project

01. Project Overview

Understand the business problem before beginning your analysis.

Business Scenario

A retail business wants to understand its customers and evaluate the effectiveness of its marketing campaigns. The company has collected customer demographic information, product spending, purchase channel activity and campaign response data.

Your task is to analyse this dataset and develop a dashboard that helps management identify valuable customer segments, understand product preferences, compare purchasing channels and evaluate campaign effectiveness.

Your Objectives

  • Understand the demographic profile of the customer base.
  • Identify which product categories generate the highest customer spending.
  • Compare purchasing behaviour across different channels.
  • Measure the response and acceptance rates of marketing campaigns.
  • Explore relationships between customer income, spending and engagement.
  • Present meaningful findings through an interactive dashboard.

02. Dataset

Download the source file and load it into your preferred analytics tool.

Marketing Customer Dataset CSV file · 2,240 records · 28 columns
Download Dataset ↗

Customer Information

Birth year, education, marital status, income and household composition.

Purchase Behaviour

Product spending, purchase frequency and activity across sales channels.

Campaign Performance

Previous campaign acceptance, latest campaign response and complaints.

Recommended tools: Microsoft Excel, Power BI, Tableau, Google Looker Studio or Python. Choose one tool and complete the analysis and dashboard in that environment.

03. Data Dictionary

Understand the meaning of each field before building calculations.

Field Description Category
IDUnique customer identifier.Customer
Year_BirthCustomer's year of birth.Demographics
EducationCustomer's education level.Demographics
Marital_StatusCustomer's marital status.Demographics
IncomeCustomer's annual income. The source column contains surrounding spaces in its header.Demographics
KidhomeNumber of children in the household.Household
TeenhomeNumber of teenagers in the household.Household
Dt_CustomerDate when the customer enrolled or joined the business.Customer
RecencyNumber of days since the customer's last purchase.Engagement
MntWinesCustomer spending on wine products.Product Spending
MntFruitsCustomer spending on fruit products.Product Spending
MntMeatProductsCustomer spending on meat products.Product Spending
MntFishProductsCustomer spending on fish products.Product Spending
MntSweetProductsCustomer spending on sweet products.Product Spending
MntGoldProdsCustomer spending on gold products.Product Spending
NumDealsPurchasesNumber of purchases made using a discount or deal.Purchases
NumWebPurchasesNumber of purchases made through the website.Purchases
NumCatalogPurchasesNumber of purchases made through the catalogue.Purchases
NumStorePurchasesNumber of purchases made in physical stores.Purchases
NumWebVisitsMonthNumber of website visits during the month.Engagement
AcceptedCmp1Whether the customer accepted campaign 1.Campaigns
AcceptedCmp2Whether the customer accepted campaign 2.Campaigns
AcceptedCmp3Whether the customer accepted campaign 3.Campaigns
AcceptedCmp4Whether the customer accepted campaign 4.Campaigns
AcceptedCmp5Whether the customer accepted campaign 5.Campaigns
ResponseWhether the customer responded to the latest campaign.Campaigns
ComplainWhether the customer registered a complaint.Customer Service
CountryCountry code associated with the customer.Geography
Important data preparation: The original income header is Income with spaces. Trim column names during import so that it becomes Income. Remove currency symbols and commas from income values and convert the field to a numeric data type.

04. Key Performance Indicators (KPIs)

Create the following KPI cards to summarise business performance.

KPI 01

Total Customers

Count of unique customer IDs.

Use a distinct count of ID.
KPI 02

Total Customer Spending

Sum of spending across all six product categories.

Add all six Mnt fields.
KPI 03

Average Customer Spending

Average total product spending per customer.

Total customer spending ÷ total customers.
KPI 04

Average Customer Income

Average annual income of customers.

Exclude missing income values.
KPI 05

Campaign Response Rate

Percentage of customers who responded to the latest campaign.

SUM(Response) ÷ unique customers × 100.
KPI 06

Total Campaign Acceptances

Total acceptances across the five previous campaigns.

Sum of AcceptedCmp1 through AcceptedCmp5.
KPI 07

Average Customer Recency

Average number of days since the last purchase.

Use the average of Recency.
KPI 08

Total Purchases

Total recorded purchases across the four purchase fields.

Add deals, web, catalogue and store purchases.
KPI 09

Customer Complaint Rate

Percentage of customers who registered a complaint.

SUM(Complain) ÷ unique customers × 100.
Reference values for validation: The dataset contains 2,240 customers, approximately 1.36 million in total recorded product spending, a 14.91% latest campaign response rate and an average recency of 49.11 days. Your results should be close when the fields are cleaned and calculations are configured correctly.

05. Data Visualisation Tasks

Create the following charts to identify patterns and explain customer behaviour.

01

Customer Distribution by Education

Donut Chart

Show the number of customers in each education category.

Dimension: Education · Measure: Count of ID.
02

Customer Spending by Product Category

Horizontal Bar Chart

Compare total spending across the six product categories.

Use the sum of each Mnt field as a separate category.
03

Campaign Acceptance by Campaign

Column Chart

Compare the number of customers who accepted each previous campaign.

Compare AcceptedCmp1, AcceptedCmp2, AcceptedCmp3, AcceptedCmp4 and AcceptedCmp5.
04

Purchase Distribution by Channel

Donut Chart

Show how purchases are distributed across deals, web, catalogue and physical stores.

Compare the four Num...Purchases fields.
05

Customer Income vs. Total Spending

Scatter Plot

Investigate whether customers with higher income tend to spend more.

X-axis: Income · Y-axis: Total Customer Spending.
06

Customer Distribution by Country

Map Chart

Visualise the geographic distribution of customers.

Convert country codes into recognised country names before mapping.
07

Campaign Response by Marital Status

Stacked Bar Chart

Compare campaign responders and non-responders across marital status groups.

Axis: Marital_Status · Legend: Response · Measure: Count of ID.
08

Customer Recency Distribution

Histogram

Show how recently customers made their last purchase.

Use Recency as a numeric field and group it into suitable bins.

06. Calculated Fields

Create these calculated fields to support your analysis.

1. Total Customer Spending

Calculate the total amount spent by each customer across all product categories.

[MntWines] +
[MntFruits] +
[MntMeatProducts] +
[MntFishProducts] +
[MntSweetProducts] +
[MntGoldProds]

2. Total Purchases

Calculate the total number of purchases made by each customer.

[NumDealsPurchases] +
[NumWebPurchases] +
[NumCatalogPurchases] +
[NumStorePurchases]

3. Total Previous Campaign Acceptances

Calculate how many of the five previous campaigns each customer accepted.

[AcceptedCmp1] +
[AcceptedCmp2] +
[AcceptedCmp3] +
[AcceptedCmp4] +
[AcceptedCmp5]

4. Campaign Response Status

Convert the response indicator into readable categories.

IF [Response] = 1 THEN "Responded"
ELSE "Did Not Respond"
END
Note: These examples use Tableau-style calculated-field syntax. Adapt the formulas to the syntax of your selected tool. In Power BI, for example, use DAX measures or calculated columns as appropriate.

07. Advanced Analysis Challenges

Go beyond the basic charts and investigate deeper business questions.

Challenge 01: Customer Segmentation by Spending

Divide customers into Low, Medium and High spending groups using their Total Customer Spending.

Compare customer counts and campaign response rates across the segments.

Challenge 02: Campaign Response by Income Group

Group customers into income bands and compare the latest campaign response rate for each group.

Determine whether income level is associated with campaign response.

Challenge 03: Website Visits vs. Web Purchases

Analyse the relationship between monthly website visits and the number of web purchases.

Use a scatter plot and investigate customers with high visits but low purchases.

Challenge 04: Family Size and Spending Behaviour

Use Kidhome and Teenhome to calculate household children and teenagers, then compare spending patterns.

Explore whether household composition is associated with product preferences.

08. Data Quality & Preparation

Check these issues before interpreting your results.

  • Missing income values: 24 records have missing Income values. Exclude them from income averages and income-based analysis, or handle them using a clearly documented method.
  • Income data type: The source contains currency symbols, commas and spaces. Clean the values and convert Income into a numeric field.
  • Unusual marital status values: Categories such as YOLO, Absurd and Alone appear in the dataset. Review them and decide whether to retain, group or exclude them. Document your decision.
  • Country codes: Country is stored using codes such as SP, SA, CA, AUS, IND, GER, US and ME. Create a verified mapping to full country names before building a map.
  • Age outliers: Calculate age from Year_Birth using a clearly stated reference year. Investigate implausible ages before using age in segmentation.
  • Customer enrollment date: Dt_Customer represents the date the customer joined or enrolled. It is not a transaction date and should not be used to claim monthly sales trends.
  • Spending vs. revenue: The dataset contains customer spending amounts, but no separate revenue, margin or profit field. Label the metric Total Customer Spending rather than Revenue or Profit.
  • Campaign indicators: AcceptedCmp1–AcceptedCmp5 represent five previous campaigns. Response represents the latest campaign response. Analyse these separately.

09. Final Dashboard Requirements

Combine your KPIs and visualisations into one well-structured dashboard.

Suggested Dashboard Layout

Use this structure as a starting point for your final dashboard.

MARKETING PERFORMANCE & CUSTOMER INSIGHTS
Total Customers
2,240
Total Spending
1.36M
Response Rate
14.91%
Avg. Recency
49.11 days
Product Category Spending
Purchase Channels
Campaign Acceptance
Income vs. Spending
Customer Geography
Customer Recency

Dashboard Features

  • Include all important KPI cards at the top.
  • Use clear chart titles, labels and legends.
  • Apply consistent colours and formatting.
  • Add interactive filters for Education, Marital Status and Country.
  • Allow users to explore customer segments and campaign performance.
  • Keep the layout clean and avoid unnecessary visual elements.

10. Evaluation Criteria

Your project will be evaluated on the following areas.

Evaluation AreaWhat We ExpectWeight
Data CleaningCorrect data types, missing values and data quality checks.15%
KPI CalculationsAccurate calculations and meaningful business metrics.20%
VisualisationsAppropriate chart selection, labels and formatting.25%
Dashboard DesignLayout, readability, consistency and interactivity.20%
Business InsightsRelevant observations supported by the data.20%

11. Project Progress Tracker

Use this checklist to track your progress as you complete the assignment.

Completion Progress 0 of 12 completed

Your checklist progress is saved in this browser on this device.

Post your screenshot on LinkedIn with the #TableauwithedSlash and tag @edslash and @tableau.