How SCOUTSWING Reads a Pattern
A watcher, not a guess: four real detectors, and the one confound we haven't fixed yet.
Football has recurring, detectable shapes. A fullback who consistently arrives late in the box. A manager who pulls a winger the moment the team needs a goal, every time, without ever saying so out loud. We built pattern detectors, watchers that sit on top of match and lineup data looking for exactly these shapes. Not a stat you look up: a behavior the data has to actually show before it counts.
Here is the principle, and four examples of it running for real.
The principle: a watcher, not a guess
A detector is a rule that fires when a real, repeated behavior clears a threshold. It is not a model predicting what a player might do. It is a count of what they have done, checked against a bar for "often enough to mean something." Below that bar, nothing fires. We built it that way on purpose: a detector that fired on a single instance would be noise wearing the costume of insight.
We do not just watch for a behavior. We watch for its opposite too. Here is how Joel, our founder, described it:
Our watcher records those, and also records the inverse. There's a manual threshold about what counts as "regularly," but it's all automated.
A detector that only ever looked for the positive case would be structurally biased toward finding what it went looking for. Recording the inverse alongside it is what keeps the signal honest rather than confirmatory.
Example 1: subbed off while the team is chasing a goal, and its inverse
This is the pair Joel's quote is describing directly, and it's the clearest worked case of recording both directions.
One watcher flags a player who gets brought on while their team is behind on the scoreboard, not the final score: the actual score at the moment of the substitution, reconstructed from the match's goal timeline. A single instance proves nothing, so we only count a player in once they've done this enough times. We also check the change in the team's underlying attacking numbers afterward, to separate "this sub genuinely helped" from "this sub happened to coincide with an unrelated goal."
Its mirror watcher flags the opposite: a player removed while the team is behind, the manager pulling someone when the team needs a goal rather than adding them. Same repeated-behavior bar, same scoreboard-reconstruction logic, opposite direction.
Neither of these lives in isolation. Both feed into a single coach-trust read: being brought on to chase a goal, repeatedly, lifts it; being pulled while the team is chasing one, repeatedly, works against it. It is one signal built from two symmetrical watchers, not a single detector with a favorable spin.
Example 2: free kick, penalty, and corner takers
A simpler shape: who actually takes a club's set pieces. This one is closer to bookkeeping than inference. We count who has taken enough of a club's penalties and direct free kicks, or delivered enough of their corners, to be the club's real taker rather than a one-off substitute. Our confidence in this read varies by set-piece type: corner-delivery patterns tend to be sturdier signal than free-kick-taking, where a season's sample of attempts is naturally small, and we disclose that difference rather than smooth it over. Small samples read as less certain, deliberately, rather than dressed up as equally solid.
Example 3: coach trust by consecutive starts
Not every trust signal runs through substitutions. A center back or a deep midfielder can go a whole season without ever appearing in a "subbed off while losing" situation simply because of their role, so we built a separate, complementary watcher: a run of consecutive starts long enough to read as a manager's standing trust, not a run of good luck with fitness and rotation. It is the same underlying question, does the manager trust this player, answered through a different kind of data because not every position generates the same kind of evidence.
Example 4: positional versatility
A player who plays meaningfully different positions across a season, not moved once for an emergency, but genuinely deployed in multiple roles across enough appearances to call it real versatility rather than a one-game fill-in. We draw on two different data sources here depending on what is available for a given competition: precise per-match position data where it exists, broader positional-band data as a fallback where it doesn't.
The qualifier is doing real work
Every flag a detector produces carries hedge language proportional to how confident the detection actually is: "appears to," "tends to," "likes to," tied to how much repeated evidence backs it, not picked for tone. A pattern backed by a long, clean run of evidence reads more assertively than one backed by a thinner one. It is the same "usually / often / rarely" discipline running underneath the copy you'll see on a player page: not decoration, the actual confidence tier talking.
What this is not: the honest limit
Here is a real one, raised by a reader mid-thread, worth answering directly: a positional-versatility flag can be genuinely confounded by a broader tactical trend, not just an individual player's own behavior. If more teams across a league start deploying wide attackers who track back into deeper positions as a matter of tactical fashion, a versatility detector built to catch an individual player's real range can start picking up a leaguewide shift instead of anything specific about that player.
We don't currently correct for this. It's a real, open limitation of a detector built on raw positional counts rather than a model that separates "this player is genuinely versatile" from "this league started playing everyone differently this season." We're naming it here because it's real, not because we've fixed it.
The provenance promise
Every flag on a player page traces back to the actual behavior that produced it, not a black-box label. Where that per-flag drill-down doesn't fully exist yet on the surface today, that's pending.