Analytics & BI · Sales funnel
An automotive retail group captured leads across five channels and 13 disparate CRM/ERP tables — and no one could agree on the numbers. I built an Apache Spark pipeline that unifies them into one tested, BI-ready funnel with conversion visible at every stage.
The problem
Leads arrived from online forms, inbound calls, showroom visits, manual entry and the CRM — each landing in its own shape across 13 CRM/ERP tables. There was no single funnel, so the business flew blind on conversion.
What I built
I built a universal SQL engine on Apache Spark that runs eight ordered stages. The first five normalize each lead channel into a common shape; the next two derive funnel levels and per-stage metrics; the last merges everything into one analytics-ready funnel table that Power BI reads directly.
Source tables are pulled with parallel JDBC extraction, and stages are chained in memory — no intermediate writes to the database — so the whole funnel rebuilds in one clean pass.
The result
From the unified model, decision-makers get live funnel KPIs, channel mix and per-brand conversion — at a glance.
Drill-down
The same model powers detailed views — conversion by brand and a performance leaderboard — so managers act on facts, not gut feel.
| Brand | Traffic | → Lead | → Visit | → Test drive | → Contract | → Delivery |
|---|---|---|---|---|---|---|
| Luxury | 99,887 | 63.5% | 34.0% | 22.0% | 7.6% | 7.6% |
| BMW | 30,974 | 71.6% | 40.0% | 24.1% | 6.5% | 7.0% |
| Mercedes-Benz | 45,799 | 49.5% | 27.8% | 19.0% | 8.3% | 8.6% |
| Audi | 4,544 | 64.7% | 34.8% | 26.1% | 4.8% | 4.8% |
| Volvo | 12,791 | 81.0% | 42.3% | 24.8% | 8.6% | 7.3% |
| Lexus | 5,779 | 90.7% | 32.4% | 26.2% | 6.9% | 6.4% |
| Mass-market | 240,485 | 72.8% | 35.8% | 20.1% | 11.3% | 10.9% |
| Toyota | 71,644 | 67.3% | 34.6% | 17.6% | 11.4% | 11.9% |
| Renault | 25,217 | 69.3% | 31.3% | 24.8% | 9.6% | 9.4% |
| Volkswagen | 22,005 | 68.8% | 27.1% | 16.7% | 12.9% | 13.4% |
| Škoda | 25,133 | 73.4% | 42.1% | 28.7% | 13.6% | 14.8% |
| Mazda | 17,099 | 86.7% | 49.6% | 19.1% | 11.0% | 9.0% |
| Total | 368,695 | 67.6% | 32.7% | 19.1% | 9.4% | 9.2% |
Built to be fast & affordable
Built to be trusted
The outcome
Quantified business results (reporting time before/after, conversion lift) — add real numbers.
Stack & role
Sole data engineer — architecture, build, data-quality and deployment.
If your sales or marketing numbers never quite agree, I'll build you one funnel everyone can trust.
Book a strategy call →