Everyone gets the ball
to the same place
FC Seoul are a team of five-goal days and no-goal days. But getting the ball into the central area in front of goal looked the same on both. The difference came after that, and the public data could not explain it. This is a record of how far the numbers go, where they stop, and what should be measured at the point where they stop.
THE SHORT VERSION
- Of the 43 goals scored by Seoul players themselves, 40 came from one cell — the centre of the box (zone 17). But the share of box entries reaching that cell is 72% for Seoul and 69% for the eleven opponents. Nothing distinguishes Seoul up to that point.
- The difference is what happens after arrival. Ranking all 25 matches by the xG each delivery produced, the top ten went 10W 0D 0L and the bottom ten 3W 5D 2L.
- And the side that delivered more scored one fifth as many goals — 20.7 deliveries and 33 goals against 30.0 deliveries and 6 goals.
- I tested every attribute the event data holds: where the cross came from, where it landed, its type, the structure preceding it. Top and bottom matches look nearly identical. Only the outcome differs, fourfold.
- The remaining variable exists only on video — whether the player was free at the moment of delivery. The piece closes with a way to measure it.
01The question
Why does the same team score five one week and none the next?
FC Seoul scored 47 goals through round 25: 43 from open play, 2 from free-kicks, 1 penalty and 1 opposition own goal. The spread between matches is wide. A side that won 7-0 at Anyang (R24) and 5-0 at home to Gwangju (R05) also failed to score in four matches against Jeonbuk, Gangwon, Gimcheon and Anyang.
In the 16 matches where they scored first, Seoul went 15W 1D 0L. In the five where they conceded first, 1W 4L. All four goalless matches were draws. This team wins whenever it scores. So the question narrows to one thing: what is different about the days they score?
02A first hypothesis, and its rejection
"Seoul use the middle of the box well" — the data said no
Watching the matches, my first read was this: Seoul get bodies into the middle of the box well. R09, the 3-0 win over Bucheon, was the clearest case — four players arriving in front of goal at once in the 84th minute.
To test that, "the middle of the box" has to become a coordinate. On the standard 18-zone grid — six columns by three rows — the central cell in front of goal is called zone 17: X ≥ 83.3, Y between 33.3 and 66.7.
Seoul's goals do cluster in that one cell: 40 of 43 (93%). So do Seoul use it better than others?
No. Of 834 balls Seoul played into the box, 602 (72%) landed in zone 17. The eleven opponents managed 438 of 636 (69%). Computed team by team rather than pooled, the opposition average is 68.6% — the same. The xG generated per delivery matches to three decimal places: 0.050 against 0.050.
Getting the ball into the centre of the box is not a distinguishing act in this league. The first hypothesis fails here. And yet the outcomes are not the same — from that cell Seoul took 163 shots for 40 goals, their opponents 122 shots for 16.
03Ranking the 25 matches
xG per delivery — the top ten won every match, the bottom ten scored six goals in ten
One metric. xG per delivery = the xG created from zone 17 in that match, divided by the number of balls delivered into it. It asks how dangerous each individual delivery into the centre of the box was, rather than how many there were.
The plot separates top-left from bottom-right, and it separates in the direction opposite to intuition.
| Rank | Rd | Match | Score | Deliveries | Shots | xG per delivery |
|---|---|---|---|---|---|---|
| 1 | R09 | Bucheon (H) | 3-0 | 16 | 9 | 0.156 |
| 2 | R02 | Ulsan (A) | 4-1 | 18 | 11 | 0.145 |
| 3 | R05 | Gwangju (H) | 5-0 | 17 | 6 | 0.107 |
| … | ||||||
| 17 | R14 | Gwangju (A) | 1-0 | 39 | 9 | 0.029 |
| 18 | R13 | Jeju (A) | 1-2 | 51 | 10 | 0.027 |
| 19 | R20 | Ulsan (H) | 1-3 | 50 | 11 | 0.025 |
| 25 | R21 | Jeonbuk (A) | 0-0 | 13 | 0 | 0.000 |
R05, the 5-0 against Gwangju, put the ball into the centre of the box 17 times. R20, the 1-3 against Ulsan, did it 50 times — nearly three times as often, for one fifth of the goals.
The third row is the reason. How many times the ball is delivered within a single attack is what differs.
On the good days one delivery ends the attack — a shot, or a turnover. On the bad days it goes in, gets cleared, is picked up and goes in again, and is cleared again. The cycle repeats inside the same possession. The delivery count accumulates while shots do not, and the shots that do come are taken from poor angles. The share of shots with at least a 20% chance of going in is 47% against 12% — four times apart.
Just over a minute around the 87th in the Pohang match shows the shape of it. The ball went into the same place three times — a corner from the left, a corner from the right, and an open-play cross. The first two were cleared; Kim Jin-su won the second ball from the second corner, four players moved it round, and Lee Seung-mo delivered a third time for the goal.
But the official highlight keeps only the last fifteen seconds. The two corners and the two clearances are gone, so on video the sequence reads as "defend, break out, cross, score". Knowing the preceding 49 seconds makes it "scored at the third attempt".
The same footage, meaning something else once you know what came before
This one is built by laying the match footage over the data. A highlight clip on its own cannot carry it.
- Left pane — the highlight above, as broadcast.
- Right pane — the pitch diagram on the same clock, starting 49 seconds earlier, so corners ① and ② and both clearances pass first.
- Where they meet — at 87:01 the footage begins, and the delivery counter already reads 2.
Repetition does not always fail: this sequence went in at the third attempt. But across 25 matches the days with more repetition were the days with fewer goals (Fig 4). And a repetition that ends in failure survives in no highlight at all — I went looking for the repeated sequences from R13 Jeju away and R20 Ulsan at home, and in all three matches that passage had been cut. Highlights keep the last action and discard what came before. From public video alone there is no way to show a failed repetition.
04The best of them — R05, Gwangju at home, 5-0
17 deliveries, 6 shots, 5 goals. And all five arrived by a different route
R05, the Gwangju match on 22 March, ranks third by xG per delivery and second in the season for xG per shot, at 0.304. Yet its 17 deliveries put it level with the lower-ranked matches. This was not a win built on volume.
All five goals finished in the same cell. The way there was different each time. Classifying the final delivery gives four types — short pass, open cross, set-piece cross, long throw-in. This is the only match in the 25 to use all four. R24, the 7-0 at Anyang, used three, and five of its six goals came from open crosses.
R05 Gwangju (H) 5-0 — five ways to reach the same place
Held constant — the destination is fixed to zone 17 and only the route varies. All five goals are in the official highlights.
- 8' Son Jung-beom — left wide, restart cross, headed down
- 46' Klimala — right wide inswinger (deflected)
- 59' Ross — right wide set piece
- 72' Klimala — left half-space run
- 81' Lee Seung-mo — right by-line running cross, first time
① The 46th-minute goal came off Jung Seung-won's cross deflecting from Moon Min-seo's head. The data records only "block", which does not separate a deflection from a clearance. It was not a designed pattern, so it is not cited as one.
② There was a disallowed goal in the 15th minute, ruled out for a foul by Song Min-kyu. The event data holds only a failed cross and a foul committed — the goal event does not exist at all. Without the video I would not have known the moment happened.
05But why it happened is not explained
I put in every attribute the data holds, and they all came back the same
So far, what differed. The next question is why. I tested each attribute the event data carries for anything separating the good crosses from the rest.
First, the three structures that are supposed to create freedom, each tagged individually: a switch (a cross played straight after a large change of side), a three-player combination (the previous three passes involving three different players), and an individual beat (a cross straight after the crosser's own successful dribble). All 436 open-play crosses were classified.
| Structure | Count | xG per cross | |
|---|---|---|---|
| After a switch | 92 | 0.0307 | no effect |
| No switch | 344 | 0.0345 | |
| Three-player combination | 90 | 0.0412 | +29% |
| No combination | 346 | 0.0319 | |
| After a dribble | 10 | — | too few |
Only the three-player combination points weakly in the expected direction. The real problem came next.
The crosses from the top and bottom matches cannot be told apart. The share preceded by structure, the share of cut-backs, the accuracy of arrival, the position they were played from — all effectively equal. And yet the xG each cross generates is 0.0700 against 0.0167, a factor of four.
There is one case that makes this unmistakable.
Four crosses Choi Jun played to Klimala from the same place on the right. Same deliverer, same receiver, same origin coordinate, same side, same space. Two came in matches Seoul won (R03 Jeju away 2-1, R09 Bucheon home 3-0) and two in matches they did not (R17 Gangwon home 0-0, R12 Anyang home 0-0). The event data offers no way to separate them.
Fixing the deliverer and the receiver as well
Two of the four above (Gangwon, Anyang) were Choi Jun to Klimala. Adding the other two of that same pairing gives four crosses with all six attributes fixed — and the results still do not separate.
0.27 and 0.16 from the matches Seoul won; 0.18 and 0.11 from the ones they did not. The four values overlap. Same player, same spot, same target — and the cross alone cannot tell you whether the team won that day.
Whether he was free when he put them in is recorded by nobody.
Four crosses played from the same place, in the same shape
Held constant — open-play crosses from the deep right wide area, curling toward the by-line and landing in zone 17. Side, space, depth, cross shape, phase and destination are all fixed. Two are goals and two are shots on target, so all four appear in the highlights.
- R02 Ulsan (A) 4-1 · 2' — Son Jung-beom → Ruiz · goal · xG 0.87
- R03 Jeju (A) 2-1 · 92' — Choi Jun → Lee Seung-mo · goal · xG 0.33
- R17 Gangwon (H) 0-0 · 40' — Choi Jun → Klimala · on target · xG 0.18
- R12 Anyang (H) 0-0 · 7' — Choi Jun → Klimala · on target · xG 0.11
Three of the four are Choi Jun crossing from the same spot, so the gap is not down to a different deliverer. As Fig 8 shows, isolating the four he played to Klimala leaves them equally indistinguishable by coordinates. What to watch is not the cross but the second before it — how many opponents were around the crosser, and which shoulder the runner in the box was going off.
06So what should be measured
Recording the quality of a cross as the freedom the player had when he played it
There are three metrics for crossing: attempted, completed, completion rate. But completion rate asks only "did it reach a teammate", never "did reaching him create danger". Adding coordinates changed nothing. A fourth axis is needed.
The proposal is to tag the room the player had at the moment of delivery on three axes.
| Axis | 2 points | 1 point | 0 points |
|---|---|---|---|
| F1 Pressure | No opponent within 3m | Opponent 3–7m and closing | Opponent within 3m, or contact |
| F2 Time | Two touches or from a standstill | One touch first | First time / off a loose ball |
| F3 Range of options | Cut-back, cut inside and recycle all available | One alternative | No option other than the cross |
Five or six points is a free cross, zero to two a pressured cross. Corners and free-kicks are structurally unpressured and must be counted separately. The 3m and 7m thresholds on F1 fill a box that FIFA's Football Language leaves at "appropriate distance" without a number; the analyst sets it, and it is labelled as such.
And the tagging leads to a prescription
For Seoul's bottom ten matches the vertical axis already exists — 0.0162 xG per cross. The horizontal axis is empty, so the cell cannot be identified. Top-left (freedom wasted) prescribes crossing technique and decision work; bottom-left (both failing) prescribes rebuilding the build-up. They are opposites.
The framework also defines the condition that would kill it. If the shot-conversion rate of free crosses and pressured crosses turns out to be the same, the concept is wrong and another axis has to be found.
Every number here comes from public data, and I watched and recorded the matches myself. The one constraint was that the video work could only be done from YouTube highlights, since full-match footage was not available to me. That limited the moments I can cite to goals and shots on target, and the clip selection reflects that limit.
How many crosses a player put in is already recorded. Whether he was free when he put them in is recorded by nobody. I believe that record could become data that helps a team play better.
Appendix · Sources and verification
Every number is collected directly from the official records of the K League Data Portal. SHA-256 hashes of the eight source files (21MB) are recorded, and every table and figure is rendered by script from the original CSVs — no figure was transcribed by hand.
| Item | Value |
|---|---|
| Raw events | 34,518 rows × 33 columns (both teams, 25 matches, 100% coordinate coverage) |
| Primary source | 05_events_chalkboard.json · 14,310,821 B · 88da5555a40fa9c8… |
| Coordinate normalisation | Attacking direction determined per round, team and half from shot coordinates, then unified. Validated by opponent-duel X sums averaging 99.9 |
| Grading | A verbatim from the portal · B derived from it · C the analyst's operational definition |
Grade C — defined by the analyst: the coordinate boundaries of zone 17; "box entry" (including passes not tagged as crosses that travel 8m or more from outside the box to inside); the boundary of a single attack; the 8-second window from cross to shot; and the 3m / 7m thresholds on the free-cross axes. All are stated in the text.
Corrections
I got seven things wrong and fixed seven.
| # | What was wrong | How it was fixed |
|---|---|---|
| 1 | Aerial duels pooled across the whole pitch, reported as "Seoul on top" | Split by zone, situation and period — inside the box in crossing situations Seoul were 1–10 |
| 2 | First-contact rate in the box under-counted at 9% | Headers that become shots are never tagged as duels — corrected to 15% |
| 3 | The goal-conceded code (GC) misread as a goal kick, breaking attacks apart | All 9 instances checked and recomputed; a dropped goal restored |
| 4 | Reported shot totals as "an exact match with the portal" | Actual figures 295 against 293 — the verification row was withdrawn |
| 5 | A penalty included in the per-attack xG for the Bucheon match | Excluded: 0.089 → 0.052 |
| 6 | "PK point" in the goal text read as a penalty kick | It is a shot-zone label (the penalty spot). Seoul took one penalty all season; the 47-goal breakdown was recomputed |
| 7 | Kim Jin-su's own goal against Daejeon counted as a Seoul goal | The event feed records own goals under the scorer's own team. Removed: 44 → 43 open-play goals |
Open discrepancies and limits
- The portal's on-screen shot totals (299 · 293) disagree with the event-data counts (295 · 282). The cause is unidentified, so only the event-data figures are used here.
- From round 19 set-piece crosses are recorded under the open-play code. The set-piece codes (STCS / STCU) appear 178 times in rounds 1–18 and never after, but checking the coordinates of corner-position deliveries shows the same kicks arriving as OPCS / OPCU from round 19 on. The records were not lost; they were reclassified. A mid-season change in tagging practice seems likely, but I could not confirm the cause. In the text, crosses more than 15 seconds after the previous event are treated as dead balls and excluded (zero false positives on rounds 1–18); analysing the set pieces themselves over that stretch remains impossible.
- Disallowed goals are erased from the event data without trace.
- Official highlights keep only the five to ten seconds before a shot. Sequences of 29 to 56 seconds in which deliveries repeat within one attack survive in no match, so one of this piece's central findings could not be shown on video.
- The position of any player not touching the ball is not recorded. Numbers in the box, off-ball movement and defensive shape cannot be known from this data.
- The correlations here rest on a 25-match sample. Shot- and goal-based metrics are treated as observation rather than as a test until at least a full season is available.
Observation log
Four matches — R05 Gwangju home, R02 Ulsan away, R20 Ulsan home and R09 Bucheon home — were watched in full or over specified passages, and each observation was checked one-to-one against the event data. For R05: 11 confirmed · 5 revised · 0 rejected · 7 unverifiable. All seven unverifiable items concern the position of players not touching the ball.