How I Turned a Kaggle Dataset of 2,240 Customers Into a Strategic Marketing Dashboard Using Python and Power BI

How I Turned a Kaggle Dataset of 2,240 Customers Into a Strategic Marketing Dashboard Using Python and Power BI

By Usamah W Maphumulo · January 20, 2026 · Self-initiated portfolio project
PythonPandasPower BIETLKaggle Dataset
TypeSelf-initiated portfolio project
Dataset2,240 retail customers (Kaggle)
ToolsPython (Pandas) · Power BI
Outcome3-page interactive dashboard identifying $1.36M revenue drivers, 664 at-risk customers, and top-performing segments

This is a self-initiated portfolio project built on a publicly available Kaggle dataset containing transactional and demographic data for 2,240 retail customers — purchasing behaviour across multiple channels, income levels, education, marital status, campaign response rates, and website engagement metrics.

The scenario built around it was deliberately realistic: a retail marketing team with access to customer data but no clear way to extract decisions from it — the kind of situation I'd walk into on a real client engagement.

The Problem

The raw dataset had everything a marketing team would want to know — and no way to use it in its current state.

  • The customer joining date was stored as unstructured text, making any time-based analysis impossible without transformation.
  • The income column contained missing values and unrealistic outliers that would have skewed every revenue metric.
  • Product category spend was split across multiple separate columns with no consolidated "total spend" figure anywhere.

Beyond data quality, the business questions themselves were unanswered: which segments drive revenue, which purchase channel converts best, whether frequent site visitors actually buy more, and which customers are at risk of churning.

What I Did

Step 1 — Data Engineering in Python

Built an ETL pipeline in Pandas covering three things: data cleaning (converting the join date into a proper datetime, stripping non-numeric characters from income, removing two statistically impossible income outliers), feature engineering (a consolidated Total Amount Spent field aggregated from individual product category columns, plus a Total Children per household figure for family-based segmentation), and export as a clean CSV to keep the Power BI model lightweight.

PrincipleA dashboard is only as trustworthy as the data feeding it. Fix the source before building anything on top of it.

Step 2 — Power BI Dashboard Build

A three-page interactive report structured around the actual decisions the marketing team needed to make:

PageFocusKey Visuals
1 — Market AnalysisTop-line performance$1.36M total revenue, 2,240 customers, $605.80 avg spend/customer, web (58.63%) vs store (41.37%) split, revenue growth by month
2 — Campaign EfficiencyRetention riskRecency segmentation (Active / Warm / At Risk / Inactive), web visits vs spend correlation, channel breakdown by household size
3 — Audience InsightsSegmentationIncome vs spending scatter, spend by education level, spend by marital status, top spenders by birth year

Results

FINDING 01

The web is the primary revenue channel, but it has a conversion problem. Web purchases account for 58.63% of all transactions, but customers visiting the site more than 5 times a month are spending less, not more — a retargeting/UX problem worth investigating before spending more on traffic acquisition.

FINDING 02

664 customers are at risk of churning right now. The recency matrix shows 664 customers in the 61–90 day window who have bought before but haven't returned recently — a targeted re-engagement campaign here is a higher-ROI move than acquiring new customers at full cost.

FINDING 03

Graduates are the highest-value segment by a significant margin. Spend by education shows graduates outspending every other group — $0.6M vs $0.3M for the next closest group.

What This Means for Your Business

If your store has customer transaction data sitting in a spreadsheet or an exported CSV with no clear way to read it, this is exactly what I built: a clean pipeline from raw data to a dashboard your whole team can use, without needing to understand the engineering behind it. The questions this project answers are the same ones most e-commerce marketing teams are already asking — the difference is whether your data is set up to answer them.