Statistics Quest

Capstone project · Customer analytics and data quality · about 220 minutes

Full statistical investigation: from a messy export to a decision

Take a raw customer export full of duplicates, typos, placeholders, impossible values and a unit mix-up; audit it, clean it with documented rules, analyse the cleaned data, and show which conclusions survive — and which collapse — when the cleaning changes.

The brief

Rimal Living (a fictional homeware retailer) wants to launch a loyalty programme and a small-business offer. The marketing director has exported the customer table from the point-of-sale system and asks three questions:

  1. What does an average customer spend per year? The loyalty programme is being designed to rebate 2% of annual spend (the rate is a planning assumption for this scenario), and finance needs a budget.
  2. Do small-business customers spend more than individuals? If so, a dedicated B2B offer is worth building.
  3. Do customers who opted in to marketing emails spend more? The director wants to push opt-ins if they do.

Stakeholders. The marketing director wants quick answers; the finance manager will hold you to the budget; the IT team owns the point-of-sale system and needs to know what to fix at source. An earlier draft by a colleague, computed straight from the export, has already circulated with a mean spend of SAR 12,128.

Constraints. You must document every cleaning rule and how many records it changes, so the analysis can be reproduced and audited. Records cannot be re-collected; where a value cannot be trusted you must decide whether to correct it, set it to missing or drop the record — and say which decisions are judgement calls.

The data. customers_messy is the raw export (700 rows). customers_clean is the reference result of a documented cleaning pipeline, provided so you can check your own decisions and compare analyses before and after cleaning. Both are synthetic: generated with deliberately planted problems, describing no real business or person.

Dataset

Customer records (messy)

700 rows · one row = one customer record (some customers appear twice) · synthetic data

CustomerSignup dateCitySegmentAge (years)Annual spend (SAR)Referral sourceEmail opt-in
C00012024-02-28RiyadhSmall business31571670Advertisementtrue
C00022021-07-15JeddahIndividual204679.64Friendtrue
C00032024-08-12DammamSmall business303027.49Advertisementfalse
C00042022-11-14RiyadhIndividual345440.72Searchfalse
C00052022-12-01RiyadhIndividual471382.89Social mediafalse
C00062023-11-01KhobarIndividual374162.73Store visitfalse

Included with a Formula Quest membership

This capstone has 5 stages and 19 graded tasks, ending with a written report.

View Formula Quest memberships