Retail ETL & data quality
A repeatable workflow that cleans sales data, validates records, and produces structured tables and reporting outputs.
Python · SQL · SQLite · Data modeling
The problem
Missing dates, inconsistent categories, duplicates, and mismatched totals can quietly undermine reporting. A useful pipeline has to make these issues visible before data reaches a dashboard.
What I built
- Ingest raw sales data and standardize mixed types, missing values, discounts, and mismatched totals.
- Stage records to deduplicate and enforce types; normalize dimension lookups and join facts at row level.
- Deliver clean tables for analysis, quality-assurance tables for review, plots, and a JSON audit.
- Frame the analysis around practical questions: who drives revenue, where money is spent, and when demand occurs.
Key tradeoff
Simplicity versus scale. SQLite keeps the workflow lightweight and inspectable. A multi-user production platform would need additional access controls, orchestration, and a storage strategy suited to its workload.