Project

B2B Decision Scoring Engine

Founder / Head of Growth & Ops, Dansu

B2B DECISION SCORING ENGINE

I built a partner discovery and scoring engine that turned messy web and social data into a ranked, outreach-ready pipeline — prioritised by opportunity size, fit, and complexity.

  • I designed a three-part scoring model (opportunity size, fit, complexity) that tiered targets into A/B/C bands, validated by tracking downstream reply and meeting rates by tier.
  • Reduced time-to-viable-target from hours of manual research to an automated, repeatable feed — with A-tier targets consistently outperforming on reply and meeting rate.

Overview

Partnerships were a high-leverage channel, but the top of funnel was broken. Finding the right targets took hours, enrichment was inconsistent, and there was no repeatable way to prioritise who to pursue. I treated it as a product problem: the job was to reliably decide who we should be targeting this week and why.

The problem

The bottleneck wasn't writing outreach — it was qualifying targets quickly with consistent criteria. Before building anything, I ran "manual version 0": took a small batch of targets, collected signals manually, ranked them using a simple rubric, and used it to drive outreach. I tracked outcomes by tier. When the ranking correlated with replies and meetings, I knew the model was worth automating.

What I built

I designed the engine as a four-step pipeline with clean interfaces between each stage.

Discovery. Seed lists of known festivals, venues, retailers, and promoters, then expanded via search patterns and similar-org logic. Sources included org websites, Instagram profiles, event directories, and Google queries. Estimated 150–400 orgs discovered per week depending on seed breadth.

Enrichment. For each org I collected: type and region, size proxies (follower count, event frequency, geographic footprint), contact routes (email, form, partner page, IG), and commercial cues (merch store, sponsor history, partnerships page, brand activations). Target: 60–80% of orgs enriched to usable quality.

Scoring. Three-part model:

  • Opportunity size (0–5): reach proxies and event frequency
  • Fit (0–5): use-case match and audience overlap
  • Complexity (0–5): decision friction and fulfilment complexity

Output: A/B/C tiers. Roughly 10–20% A-tier, 30–40% B-tier, 40–60% C-tier.

Output and handoff. A ranked lead queue with tier, score, "why this scored high," and enrichment fields for personalisation. This fed directly into the CRM workflow layer.

How I validated it

I tracked conversion by score band — A-tier targets should outperform B and C on reply rate and meeting rate. When they didn't, I updated the scoring weights. I iterated on signal weights (sponsor history mattered more than raw follower count), exclusion rules (filtering orgs with no contactable route), and tier thresholds (tightening A-tier to protect time).

Systems I built

  • n8n pipeline for discovery, enrichment, and scoring automation
  • RocketAPI and web scraping for Instagram and org-level signals
  • Supabase for deduplicated lead storage and score syncing
  • Deduplication logic by domain, org name, and IG handle
  • Minimum data quality thresholds before any lead could enter the outreach queue

Impact

  • Time-to-ranked-target list dropped from hours of manual research to a repeatable automated feed
  • Target selection became consistent and explainable — every A-tier lead had a documented reason
  • Higher quality conversations downstream because outreach focused on the right orgs
  • Produced the foundation that fed the full CRM and outreach workflow layer