LeadRefinery — How the Platform Works

What changed to build today's engine

Every other page on this site describes the platform as it runs today. This page is a record, not a proposal: it explains a rebuild that has now shipped, so a reader who remembers the earlier design can see exactly what moved, and why. A short list at the end names the few pieces still being finished.

The change in one line

The rebuild cut the calling term to less than half its old length. It also added one promise: a lead that starts its calls gets all of them.

The platform now follows a plan it makes once, rather than a decision it remade every day.

These are the changes, side by side:

What Before Now
Length of the term42 working days21 working days
Calls to one leada maximum of 12exactly 15
Shape of the calling runthree waves, with a rest between themone run, no rests
Campaign stylesone pattern for everybodytwo styles: concentrated and distributed
Who splits the listthe platform split it automaticallya person allocates the leads
How many leads start each daythe platform decided each dayone plan, made on day zero
Time of daya random order; a calculation to learn the best times existed but nothing used itan even, random spread; the unused calculation is removed
Evening callsmobile numbers onlyall phone types
Calls to one person in 7 daysa maximum of 4a maximum of 12
Calls to one person in 24 hoursa maximum of 2a maximum of 3 — compliance sign-off granted 25 August 2026
Gap between two calls3 hours minimum3 hours minimum — no change
Screening result must be newer than30 days21 working days, or 31 calendar days — whichever is sooner

A shorter term

The term is the fixed period that a campaign runs over and that the platform measures results over.

  • Before, the term was 42 working days — about eight working weeks.
  • Now the term is 21 working days — about four working weeks.
  • The consequence: a client sees the full result of a campaign in less than half the time.

One rule follows from the shorter term:

  • A lead starts only if its whole calling run fits inside the 21 days.
  • Leads can start on the first two working days of the term.
  • A lead that cannot finish inside the term does not start. It stays in the queue.

One run of calls, and no rests

Before the change, calls to one lead ran in three waves, in this order:

  1. Wave one made 5 calls across 6 working days.
  2. A rest followed.
  3. Wave two made 4 calls.
  4. A second rest followed.
  5. Wave three made 3 calls. The maximum was 12 calls.

The length of the rest was not even agreed across the platform at the time: the business specification asked for one working week, the live journey waited a fixed seven calendar days, and the rehearsal simulation waited ten working days. Three different values for one idea — this is one of the reasons the rebuild replaced the whole mechanism rather than picking a winner.

Now:

  • One run of exactly 15 calls, for either calling style.
  • No waves and no rests. Two reserve days absorb delay instead — see a lead's calling journey.
  • The words "wave" and "rest" have left the platform.

Two ways to spread the same 15 calls

Now a campaign uses one of two calling styles. Both make the same 15 calls to each lead; only the spread differs.

Style Calls each day Calling days Length of the run
Concentrated2810 working days
Distributed11517 working days

The two styles share these facts:

  • Each style makes 15 calls to each lead.
  • Each style holds two spare days, called reserve days.
  • The platform uses a reserve day when it puts a call off: a state time window closes, a safety stop runs, or the call must move to a later day. A public holiday does not use a reserve day, because the platform does not count a holiday as a calling day at all.
  • The daily calling load falls after working day 7, because the concentrated leads start to finish.

Named calling styles, and a person decides the split

Before, the platform made the split by itself: a client's list was split into two groups automatically, by a set percentage, and a person could not see or change which lead went to which group.

Now a person makes the split. See the settings that decide how a campaign calls for the full mechanism: named, versioned calling styles; an operator who allocates leads by hand; and a loud warning when two running campaigns' release days diverge.

The completion guarantee

This is the most consequential change on this page. It is a change in when the platform decides which leads start calling.

The diagram compares two ways to decide which leads start calling. On the left, Before, the platform made a new decision on each working day, and one lead reached the end of its term with 9 calls made of 12. On the right, Now, the platform makes one plan on day zero: the leads that fit each get all 15 calls, and the leads that do not fit wait in the queue with all 15 calls still owed to them.
Look at the end of each path. The left side ends with a lead that is part-worked: 9 calls of 12, and no time left. The right side has no way to produce one. A lead is either complete, or it still waits with its full entitlement of 15 calls.

Before, the platform decided again on each working day, using the capacity that was free that day. The consequence: a busy week could leave a lead part-worked, reaching the end of the term with 9 calls of 12, and nobody saw the shortfall until week three.

Now the platform decides once. See running a calling campaign for the full mechanism: one plan made on day zero, naming every lead that starts and the exact day of each of its calls; every lead that starts completes all 15 calls, or stops early on a hard exit — a conversion, a request to stop the calls, or a legal block.

How the platform picks the time of day

Before the change, the written plan and the built system disagreed: the written plan described a system that learned which time window worked best for each merchant, but the calculation for that learning existed in the code and nothing ever called it — every wave actually used a random order that covered all four windows.

Now the platform does not attempt to learn a best time at all. It assigns each lead a fixed, random order across the four windows once, when the lead's run opens, and stores that order rather than deriving it again later — so an auditor can see the exact schedule that governed each call. The reason for dropping the learning: an average over a whole population hides merchants whose availability is the opposite of each other. A restaurant is unreachable between 11:00 and 14:00; a contractor has left the office after 09:00; one average serves neither.

Evening calls, open to every phone type

Before, the platform used the evening window — 17:00 to 19:30, local to the person called — only when it knew the number was a mobile; a number of unknown type got three windows, not four. The reason: a business landline gets almost no answers after 17:00.

Now every phone type gets the evening window. It still closes at 19:30, earlier than the law requires, and holds in every state that sets 20:00 as the latest time.

What the rebuild removed

Four mechanisms were deleted. Each one added complexity and produced nothing:

  • Three intensity grades for each lead. Every lead carried the same grade, and no calling behaviour ever read it.
  • Priority re-entry. A signal used to be able to cut a rest short and restart a lead's calling early. There are no rests left to cut short.
  • The learned time-of-day calculation. Described above.
  • The automatic two-group split. Two campaigns with two calling styles replaced it, with a person deciding the allocation.

Two further ideas that were never built — grouping merchants by industry code, and promoting a lead from one calling style to the other — were also dropped from the plans rather than carried forward unbuilt.

What is still being finished

These items are not user-facing features. They are operational work that follows from the rebuild, tracked separately so this page is not confused with a promise about them:

  • A liveness check for blocked numbers. A separate, still-open proposal would let the platform catch a number that a carrier has silently blocked — not merely labelled — sooner than today's checks can. See number rotation.
  • Re-verifying the platform's capacity simulation against the current calling styles' daily pattern, since the last simulation was run against the older, three-wave shape.
  • Checking a lead before it is ever dialled. New groundwork can check whether a number still rings a real, open business before a campaign calls it, placing a hold on a number that looks dead or a business that looks closed. It is switched off everywhere today; no client sees any effect from it yet.