Replacing one global scoring model with portfolio-aware qualification
One global scoring model treated two different buyer portfolios as one. Rebuilt scoring as independent fit-and-behavior models per portfolio, then replaced the monolithic lifecycle workflow with one testable workflow per stage.
Owned the scoring architecture and lifecycle redesign end to end — model design, behavioral mechanics, decay and eligibility logic, and the HubSpot lifecycle rebuild.
The problem
One number was answering two different questions: fit and intent, collapsed into a single score, so an engaged poor-fit lead looked identical to a well-matched buyer. Repeat behavior earned one credit no matter how often it recurred, and with no decay, a two-year-old click still counted as intent.
Context
Marketing qualified leads for two product portfolios through one global scoring model — easy to manage, structurally wrong, and inflating lead volume with inconsistent MQL quality. Lifecycle processing carried the same flaw: one deeply nested workflow handled every stage transition, so scoring couldn't change without risking the machinery it ran on.
Constraints and complexity
The redesign had to be applied retroactively across roughly 400,000 existing contacts without disrupting active routing or in-flight programs.
What I did
How I approached it
- 01Diagnosed the mismatch as architecturalBusiness complexity had outgrown a model designed for simplicity — no amount of tuning fixes that.
- 02Analyzed conversion by portfolioRather than in aggregate, where one portfolio's strong fit rate hides the other's weak conversion.
- 03Separated scoring from lifecycle mechanicsThe model was wrong and the machinery running it was fragile. Treating them as one problem meant fixing neither.
- 04Grounded fit thresholds in won dealsPulled opportunity data to confirm what the ICP actually looked like per portfolio, rather than setting fit criteria from assumption.
What I built
Supporting materials
Why one score failed
Qualification matrix

Lifecycle workflows
Diagrams and figures are representative. Proprietary architecture, internal system names, and confidential customer details are omitted or generalized.