THE MATHS OF THE ROOM

A match is a number you can check.

The full derivation, in sequence: why a language model cannot verify, how complementarity is computed, what the gates do to a score before a model is called, how scores become a schedule, and the single metric that survives a finance review.

Download the PDF ↓

01

A model asked to verify will instead generate.

We shipped v1. It placed a guest in healthcare. He had never worked a day in healthcare — the model recognised nothing and autocompleted a plausible sector. That is not a bug you prompt your way out of.

P(sector | company) ≈ P(sector | vibes)

The formal expression of “it sounded like a clinic.”

Most “AI matchmaking” maximises similarity — which seats two competitors together and calls it a lead.

02

Complementarity, not similarity.

Similarity search is easy and wrong. Two dairy producers are not a match; they are a mirror. The first component asks whether either party wants what the other has.

C(a,b) = |L(a) ∩ O(b)| + |L(b) ∩ O(a)|

L = what they seek · O = what they offer

Commerce runs on complementarity. Someone must want what the other has.

03

Σ is seven numbers, each of which you can read.

Σ(a,b) = Σᵢ wᵢ · fᵢ(a,b), i = 1 … 7

f₁
Complementarity — what one seeks against what the other offers.
f₂
Product fit — category, specification and volume align.
f₃
Value-chain role — producer, distributor, integrator, buyer.
f₄
Category — adjacent sectors trade; identical ones compete.
f₅
Commercial — ticket size, terms and readiness to transact.
f₆
Logistics — corridor, route and lead time.
f₇
Ecosystem — regulatory, certification and partner coverage.

04

Γ runs on the whole pool, before the model is called.

Gates are structural. They are evaluated over every candidate pair, they do not consult a model, and no amount of narrative moves them.

Γ(a,b) = min( caps(a,b) ), Γ = 0 if any block fires

Blocks zero the pair. Caps set a ceiling. Hard constraints remove the pair entirely.
BLOCK
Direction. The corridor does not permit this introduction.
CAP 45
No complementary offer between the two records.
CAP 70
Product claims unverified against a source.
EXCLUDE
No shared working language. The pair never enters the pool.

05

The score is a minimum, not an average.

S(a,b) = min( Σ(a,b), Γ(a,b) )

A ceiling cannot be argued past by a strong component. Same two profiles in, same score out. Every time.

06

Scoring is the easy half. Allocation is the event.

max Σ S(a,b) · x(a,b) s.t. 5 ≤ meetings(a) ≤ 8, load(b) ≤ κ

A constrained bipartite assignment — not a ranked list.
≥ 5
No orphans. Nobody flies in and sits alone.
≤ 8
No burnout. A day holds a finite number of good conversations.
κ
No hogging. Three popular distributors would otherwise absorb the room.

x(a,b) = 0 ∀ (a,b) ∉ 𝒞

Context enters as a constraint, not a filter applied afterwards.

Ranking gives you a leaderboard. Allocation gives you a day that works.

07

The model narrates. It never decides.

A language model enters at the last stage only, once the score exists and can no longer be moved by anything it says. Claims are labelled sourced or inferred at the field, confidence reflects the quality of the evidence, and nothing is scraped.

{ amount: 0, basis: "insufficient evidence" }

When the evidence is thin the model returns nothing rather than something plausible.

08

“Great energy in the room” is not a KPI.

A = Σ deals traced to a match / Σ matches introduced

Attribution — per match, per event, per corridor.
318
guests, 3 editions
20
countries
$4.78M
deal value traced

Photos prove attendance. Attribution proves the event was worth holding.