FAR POST ANALYTICS

Methodology

Sillok Score v2 Methodology

Sillok Score v2 compresses one question into a single number between 0 and 100: measured per 90 minutes, how does this player’s output compare with players in the same division and the same position?

The score is a weighted average of percentiles, not a raw total. Each input is a percentile within the player’s division and position, and the weights below combine them. A score of 70 means the player’s weighted profile sits at 70 on that 0-100 percentile scale; 50 is the middle of the group. Because every input is a percentile, the meaning of “70” does not drift when a season’s raw values are reloaded.

How the score is built

The score is produced in three stages. We publish the structure and the weights in full, because a number nobody can interrogate is not worth trusting.

  1. 1Per-90 normalisation

    Every counting statistic the score uses — goals, assists, shots on target, key passes, completed dribbles, tackles and interceptions — is converted to a per-90-minute rate, and shot accuracy is added as a ratio. Raw season totals reward availability and punish rotation, which is the wrong bias when the aim is to find players whose minutes have not yet caught up with their ability. Players under 450 minutes are left out of the rankings entirely, and our reports flag anything under 900 minutes as a small sample.

  2. 2Percentile conversion within a comparison group

    A per-90 rate means little in isolation. Two tackles per 90 is unremarkable for a holding midfielder and extraordinary for a winger. Each rate is therefore converted into a percentile against players in the same division and the same position group (forward, midfielder or defender). Divisions are never pooled: a J1 player is compared only with J1 players.

  3. 3Position-weighted aggregation

    The percentiles are combined with fixed position weights. Forwards: goals 0.30, shots on target 0.15, assists 0.15, key passes 0.15, completed dribbles 0.15, shot accuracy 0.10. Midfielders: key passes 0.30, tackles 0.20, assists 0.20, completed dribbles 0.15, interceptions 0.15. Defenders: tackles 0.40, interceptions 0.35, key passes 0.25. Age is shown alongside the score but never enters it, so a high score reflects output, not youth. Goalkeepers are not scored: the save and concede data available to us is not enough for a like-for-like composite.

The result is the 0-100 figure shown on our Sillok Rankings and in our reports. Every published figure names the formula version and the date it was calculated.

What the score leaves out

Some inputs we would like to use are not in our data. API-Football does not supply progressive passes, pass completion or aerial duels, so the defender weighting uses key passes (passes that led to a shot) as a rough stand-in for forward passing. Duels won are not used at all, because only part of J1 has them and J2 and J3 have none.

Because the weights are published here, any score can be checked against its inputs. What a reader cannot check from this page is how well the score predicts a successful move; that is what the validation section below is for.

What the score cannot see

Sillok Score v2 is built entirely from match event data. Everything that does not appear in an event feed is invisible to it, and several of those invisible things are among the most decisive factors in whether a transfer succeeds or fails.

Tactical adaptability
A player’s numbers are produced inside one particular system, with one particular set of instructions and one particular set of teammates. The score cannot tell you whether a midfielder whose passing percentile was built at a possession-dominant club will still function in a side that spends most of the match without the ball.
Mentality and temperament
Nothing in an event feed measures how a player responds to being dropped, to a hostile away crowd, or to six months without a start. Recruitment departments treat this as a first-order variable, and rightly so. The score does not address it at all.
Language and cultural adaptation
A move from Japan to a European league is a relocation before it is a transfer. Settling in, language, distance from family, and the ordinary practicalities of a new country have ended careers that the numbers said were about to begin.
Injury history and durability
The score reads minutes played, but it cannot read why the missing minutes are missing. A favourable per-90 rate accumulated across a fragmented season may belong to a rotation option or to a recurring injury risk, and the score cannot tell the two apart.
Uneven data coverage between divisions
Our current data source supplies shots, key passes, dribbles, tackles and interceptions for J1 but not for J2 and J3, where only goals, assists and minutes come back. Sillok Score v2 is therefore published for J1 only. We would rather leave J2 and J3 unscored than rank them on a fraction of the inputs.

Sillok Score v2 is a screening instrument, and it is worth being blunt about the size of that claim. Its purpose is to reduce a division’s player pool to a shortlist worth someone’s attention, and nothing beyond that. It is not a valuation, not a recommendation, and not a substitute for watching the player. Every name it surfaces is the beginning of the work rather than the conclusion of it.

Data sources

Player, squad and match statistics come from API-Football, covering J1, J2 and J3. The current dataset is the 2024 season. Detailed per-metric enrichment currently covers 489 of 1768 players. Comparison groups are built only from players with measured values for the metric in question.

Where our editorial scouting reports cite finishing quality, chance creation or defensive volume beyond what the API supplies, those figures are cross-referenced against Football LAB. A number that cannot be traced back to one of these two sources does not go into a published report.

The Sillok Engine

Behind the reports on this site sits an offline research pipeline we call the Sillok Engine. It is named after the Annals of the Joseon Dynasty, a Korean record kept daily for almost five centuries and valued not for its elegance but because it wrote events down as they happened rather than as they were later remembered. That is the standard we hold ourselves to. Every evaluation carries the date it was made and the version of the formula that made it, and is not edited afterwards.

  1. 1Stage 1 — Per-90 normalisation

    Raw season totals are converted to a per-90-minute basis. Source files are never modified; every processing step writes to a new file, so any figure can be traced back to the input it came from. Players below 450 minutes in the season being evaluated are excluded from rankings entirely, because per-90 rates built on small samples are unstable enough to mislead.

  2. 2Stage 2 — Composite scoring

    Per-90 indicators are converted to percentiles within position and combined into a single weighted score, Sillok Score v2. Formulas are versioned, the current version being the second, and every figure states which version produced it so that scores from different versions are never silently compared. Version 2 does not score goalkeepers at all: the save and concede data available to us is not sufficient for a like-for-like composite, so they are deliberately left out rather than ranked on field-player metrics. Age is recorded for display and deliberately excluded from the calculation, so that a score measures what a player did rather than a blend of performance and potential.

  3. 3Stage 3 — Transfer outcome model (exploratory)

    A logistic regression estimating the probability that a player establishes himself after a first move to Europe, trained on a hand-researched dataset of first transfers out of the J-League and K League. We publish its current state rather than waiting for a flattering one. On 113 cases, age is the only variable reaching statistical significance, and discrimination is weak, with an area under the curve of 0.598. An earlier version scored higher, but that was an artefact of a variable encoding information unavailable at the time of transfer; removing it lowered the number and made it honest. The dataset is being expanded before we revisit the model.

What the engine is not used for

Scouting Report #010 is the first published report to use a Sillok Engine figure, a score from Sillok Score v2 formula. The other reports on this site are built from J.League official records and Football LAB, cross-checked as described above; the engine runs on a separate dataset and serves as a research tool for deciding which players are worth examining closely. We keep the two apart deliberately. Whenever an engine output informs a published report, we say so in that report and name the formula version and the date it was calculated. Outside those cases, presenting the engine as the source of our published judgements would overstate what it does.

How to read a verdict

Two separate labels appear alongside each player on our Track Record page, and they answer different questions. The verdict is our own judgement at the time of writing. The status is what happened afterwards, recorded later. Reading one as the other will give a misleading picture of how often we have been right.

Our judgement, fixed at publication
WATCH means we believe the player is worth a scout's attention now. MONITOR is weaker: the profile is interesting but something material is unresolved, usually sample size or a role change. Neither is a prediction that a transfer will happen, and neither is ever revised after publication.
What happened next, recorded later
REALIZED means the player moved to Europe and our report predates the announcement. CASE_STUDY means the same move happened but our report came out on or after the announcement date, so it followed the news rather than anticipating it. TRACKING means no move has occurred yet and the entry is still open. NOT_BORNE_OUT means the verification window closed without a move. We separate REALIZED from CASE_STUDY because collapsing them would let us claim credit for transfers that were already public when we wrote about them.

As of the most recent update, the majority of our recorded outcomes are case studies rather than realised calls. We would rather show that plainly than present a record that reads better than it is.

How the score is validated

A scoring model that is never checked against reality is an opinion with decimal places attached. Every scouting verdict we publish carries a date, and we track what subsequently happened to the player: the moves that materialised, the ones that never did, and the calls that turned out to be wrong. That record is the only meaningful test of whether Sillok Score v2 measures anything real, and we keep it public for exactly that reason.

See the Track Record →