Dextant

Record / Validation

What has been tested

The scoring method is a trade secret, and so is most of the record of what was tested against it. Two results are below: one that held, and the one that did not.

01  /  Why most of it is not here

An earlier version of this page published the corpus, the coverage counts and a held-out result. The argument for publishing them was that they measure the layer beneath the engine, and that anyone holding the same public data could check them anyway.

That argument was too narrow. Set beside a named corpus and a test design, figures that are individually harmless describe most of a route to reproducing the floor the engine reads from. We would rather hand the whole record to someone who has signed for it than leave a usable trail for someone who has not.

02  /  What the record contains

The following exist, are dated, and are open to a technical reviewer under confidentiality.

  • 01Provenance and coverage of the corpus
  • 02Held-out generalisation on the value layer, against a threshold stated in advance
  • 03The null result in full, and what it ruled out
  • 04Stated boundaries, and what would move them
  • 05Verification protocol in full
  • 06Feature-group ablation on the value layer
  • 07Calibration methodology
  • 08Live demonstrator access

03  /  What held

The obvious way for an engine like this to be wrong is to learn who pays the wages. If it simply recognised that a player belongs to a club, it would rank that club first every time and tell you nothing.

So we scored 1,772 players against the club that actually employs them, and ranked that club among 98.

  • An engine with no signal would rank it near49th
  • An engine that had learned who pays the wages1st
  • Ours30th
  • Players whose own club ranks first3.3%

It is measuring fit, not membership.

Which also means the engine disagrees with the market most of the time. For roughly nineteen players in twenty, the club paying their wages is not the club that would realise the most of them.

04  /  The test we failed

We tested whether our reads of how players supply one another predict what happens when a player is absent. If the engine says a squad depends on him, does that squad measurably drop off without him.

It was run adversarially, on natural experiments: injuries, suspensions and rotations. For each strong supply relationship we compared the receiving player’s value per 90 in matches the supplier played against matches he was absent, requiring at least three qualifying matches on each side.

  • Testable relationships3,289
  • Direction held50.9%
  • Matched random baseline53.4%
  • Companion run, receiving side50.0% against 52.0%

It does not beat baseline. Teams re-route around absences.

A single season cannot validate counterfactual chemistry. Multi-season transfer outcomes can, and that dataset is precisely what a raise funds. Any document describing this layer as awaiting validation is wrong. Validation ran, and it was negative.

05  /  What we changed because of it

  • That layer drives no live number in the product.
  • Every surface built on it is captioned as a read of last season, not a forecast.
  • Swap deltas are comparative reads. They are not predictions.
  • We extended the same caution to the service read, which was not the thing that failed. It is built from the same supply shapes, and a signing is a perturbation, so it is a description of a past pattern rather than a forecast of the service a player would receive after signing.

The last one cost us the most and nobody asked for it.

06  /  What the engine does not claim

  • It is structural, not behavioural. It computes the effect across the network it observed. It does not re-simulate how people would change their behaviour.
  • Swapping a player changes the structure itself, so every swap is a comparative read against what was, not a forecast of what will be.
  • It has not yet been calibrated against real transfer outcomes, because that data does not exist until clubs act on the answers and the results come back.

07  /  What the engine refuses to output

  • It does not compare athletes across roles that are asked for different things.
  • It does not estimate what it cannot observe.
  • It does not print a numeric score beside a named athlete in public.
  • It does not predict injuries. It is not a scouting database.

A blank is a real output.

08  /  Access

The results above are public. The rest of the record is not downloadable here. It is sent in full, under confidentiality, to reviewers we have spoken to.

Access is by introduction

Engine v0.1. Record as of August 2026.