THE ORDER OF OPERATIONS

Deterministic first. AI last.

The pipeline is fixed. A language model enters at the last stage only, once the score already exists and can no longer be moved by anything it says.

  1. 01signals

    Structured profile fields. Nothing scraped, nothing guessed.

  2. 02enrichment

    Sourced evidence attached to the record, labelled at the field.

  3. 03gates

    Γ runs on the whole pool. Blocks and caps applied first.

  4. 04score

    S = min(Σ fᵢ, Γ). Computed in code, reproducible.

  5. 05explanation

    The model writes prose about a score it cannot change.

THE SEVEN COMPONENTS

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

f₁
Complementarity
What one seeks against what the other offers.
f₂
Product fit
Category, specification and volume actually align.
f₃
Value-chain role
Producer, distributor, integrator, buyer — not all the same.
f₄
Category
Adjacent sectors trade; identical ones compete.
f₅
Commercial
Ticket size, terms and readiness to transact.
f₆
Logistics
Corridor, route and lead time make a deal shippable.
f₇
Ecosystem
Regulatory, certification and partner coverage.

THE FIRST COMPONENT

Two dairy producers are not a match. They are a mirror.

Similarity search is the default because it is easy. It is also the reason so many matchmaking tools seat two competitors together and call it a lead. Complementarity asks a different question: does either party want 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.

THE GATES

Γ is programme configuration, not a hardcoded opinion.

Move the controls. Watch a score that a narrative cannot rescue.

Profile A

Who
Nigerian F&B producer · Lagos
Seeks
Seeks: distribution, KSA importers
Offers
Offers: packaged goods, halal-certified

Profile B

Side
Offer overlap
Product evidence
Language
Components 91. Gate ceiling 100. Score 91. No gates firing.
  • BLOCK

    Wrong side. In a two-country corridor, two Saudi firms never match.

  • CAP 45

    No trade. Neither party offers what the other wants.

  • CAP 70

    Product unverified. Intent aligns, evidence doesn't.

  • OFF

    Direction-scoped. A rule that matters entering one market, not the other.

Γ(a,b) = min( all caps ) · 𝔹[ no hard block ]

Cheapest filter first. Tokens are spent only on survivors.

S(a,b) = min( Σ wᵢ · fᵢ(a,b) , Γ(a,b) )

The score is computed in code. The model never authors the total.

Configurable per programme, per direction

Every gate has four settings. A gate that blocks in one corridor may only flag in another; the programme decides, and the setting is recorded with the score.

DIRECTION
Which side may be introduced to which, per corridor.
block / cap / flag / off
OFFER OVERLAP
No complementary offer between the two records.
cap 45 / flag / off
PRODUCT EVIDENCE
Claims unverified against a source.
cap 70 / flag / off
LANGUAGE
No shared working language between the two parties.
block / off

WHAT THE MODEL IS ALLOWED TO DO

The model narrates. It never decides.

EVIDENCE
The model explains a score it did not produce. It may cite fields; it may not create them.
SOURCED / INFERRED
Every claim is labelled at the field. A sourced claim carries its source; an inferred claim says so.
CONFIDENCE
Confidence reflects the quality of the evidence, not the fluency of the sentence.
NO SCRAPING
Nothing is harvested. The graph is built from what parties submit and what partners verify.

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

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

A system that cannot say “I don’t know” will always say something else.

HUMAN IN THE LOOP

The programme owner outranks the algorithm.

APPROVE
The match enters the schedule and becomes an introduction.
REJECT
Rejection requires a category. An unexplained rejection teaches nothing.
LOCK
A match the programme owner requires, exempt from re-generation.
EDIT
Adjust the pairing or the slot; the score and the change are both kept.

Rejections feed the next generation: a rejected category is a constraint the next run already knows about. Every state change writes an immutable audit row with the actor, the value before and the value after.

If you cannot say who changed a match and when, you do not have a record.

INTRO → MEETING → DEAL

A match is only real once it survives the calendar.

INTRO
A scored pair, allocated to a slot, with both parties told why.
MEETING
Attendance and outcome captured against the match, not the room.
DEAL
Value traced back to the introduction that produced it.

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

Bring us a room and a number.

Tell us the event, the corridor, and the outcome you are measured on. We will show you the match set the current data supports — including where it is thin.