# Sample Cleanup Report — Product Catalog (Synthetic Demo Data)

This sample uses fully synthetic data created for demonstration. No real customer data is shown. The same process applies to real files.

## Input
- File: before.csv, 28 rows, 8 columns (sku, product_name, category, price, country, last_order_date, buyer_email, stock)
- Typical mess found: mixed date formats (2026/1/5, 05-01-2026, Jan 12 2026, 14.02.2026), country written five different ways (USA, U.S., usa, United States, plus ISO codes DE, FR, UK), prices with currency symbols and text ($12.50, 8.9 USD, USD 23.99, 1,299.00), stray whitespace, lowercase SKUs and emails, exact duplicate rows.

## What was done
- Duplicates removed: 2 rows (SKU-1001 exact duplicate, SKU-1003 repeated with trailing whitespace in the name). Output: 26 rows.
- SKU codes normalized to uppercase, product names whitespace-trimmed.
- Prices converted to plain USD numbers with two decimals (price_usd). 27 of 28 values parsed automatically.
- Countries mapped to one canonical name per country (11 variants collapsed).
- Dates converted to ISO format (YYYY-MM-DD), 6 input formats handled.
- Emails trimmed and lowercased.

## Flagged for a human decision (never silently changed)
1. SKU-1007: stock is -3. Negative stock usually means an oversell or a data entry slip. Value kept, flagged.
2. SKU-1009: price is empty. Left blank rather than guessed.
3. SKU-1010: buyer_email "not-an-email" is not a valid email format. Kept as-is, flagged.
4. SKU-1011: buyer_email is empty.

## Observation worth checking
- SKU-1002 and SKU-1015 look like the same product ("Bamboo Fiber Towel", same price, same buyer) under two different SKUs, with slightly different stock counts (450 vs 455). They were kept as separate SKUs because merging inventory records is a business decision, not a cleanup decision. Worth confirming which SKU is canonical.

## Deliverables in a real engagement
Cleaned file, this report, a field mapping table, and a change log of every modified cell. Source files are never overwritten, and client data is deleted or retained exactly as agreed, never reused.
