Draft, not yet verified. Written from the typical scope of this role, not from records. Before publishing: correct anything that isn't what you actually did, replace each highlighted [number] with a figure you can defend in an interview (or a plain description of the change, never an estimate), then delete this note.
01 · The problemTwo funnels that never met
Lead source was captured on the lead and lost when it converted. Lifecycle stages had no dates, so conversion rates were snapshots of whatever happened to be in each stage that day, and time between stages couldn't be measured at all.
Spend decisions were made on lead volume, because lead volume was the only number marketing could see.
02 · What I builtOne funnel, dated and sourced
- A date stamp for every lifecycle stage, so conversion is measured on cohorts (leads created in a period, followed forward) instead of point-in-time counts.
- Source carried through: first-touch source and campaign written from lead to contact to opportunity, so revenue could be traced back to where it started.
- A SQL funnel model with conversion and median days between stages by source, segment and month.
- A Power BI funnel page from first touch to closed-won, with the biggest stage-to-stage drop flagged automatically.
- [If true: a lead-scoring model in Azure ML, kept behind clear business rules. Otherwise remove this line and Azure ML from the stack.]
03 · StackWhat it ran on
| Layer | Tool | Used for |
|---|---|---|
| Modeling | SQL | Stage history, cohort conversion, source attribution |
| Reporting | Power BI | Funnel, source and velocity pages |
| Modeling (ML) | Azure ML | [confirm or remove] |
04 · What changedOutcome
- Marketing and sales reviewed [one funnel / which meeting] instead of two reports.
- The biggest leak was identified as [stage → stage], and [what was done about it].
- [A spend or process decision the funnel changed, in plain terms]
Company data is not shown. The demo on this site has a stage-conversion view built the same way: see win rate by stage.