Jeonbuk defend with possession.
The same possession works against them going forward.
Jeonbuk Hyundai make fewer defensive actions than almost anyone in K League 1, and concede the second fewest goals. That is not because they defend badly — it is because there is less to defend. Divide by exposure and their defensive volume is third in the league; their pressing intensity is higher than their opponents’. Yet the same possession inverts going forward. Half of Jeonbuk’s expected goals come from slow build-up, and slow build-up returns only 37% of what it is worth. All 12.2 of the goals they have lost sit there. The first answer this piece found — “they win with less of the ball” — turned out to be a scoreboard artefact, and the wrong turn is left in.
WHAT THIS PIECE FOUND
- Possession by result (W 51.6% / D 56.8% / L 59.4%) is an illusion. Strip the scoreboard out and the sign flips (60.9 / 56.4 / 54.2).
- Defensive actions rank 11th in the league — but 3rd per 100 opponent passes. PPDA is 5.3 against their opponents’ 6.2.
- Fast-break phases return 1.90× their xG. Slow build returns 0.37×. Ulsan’s slow build, same league and same model, returns 0.78×.
- The share of shots that reach the target is identical — Jeonbuk slow build 33.5%, Ulsan slow build 34.2%. Only the share that goes in is halved (12.1% vs 23.7%).
- When opponents sit deep Jeonbuk create more (17.2 shots, 53.3 passes into the box) — and take 1.33 points a match. When opponents come out they take 10.2 shots and 2.22 points.
01Two tables that do not agree
What the standings leave out
Jeonbuk are second in K League 1 — 27 matches, 11 wins, 9 draws, 7 defeats, 42 points. They beat Pohang 2-0 at home yesterday and pushed Ulsan down a place.
That is the standings. Spread the league’s 45 season metrics across all twelve clubs and a second table appears — one the standings do not explain.
Three contradictions at once. They shoot most and rank fifth for goals. Their defensive actions sit near the bottom and they concede second fewest. They lead the league for passes and crosses and complete the fewest dribbles.
Why has the team that knocks hardest and is hit least drawn nine times?
02The first answer was wrong
Clearing away the possession illusion
The first answer was simple. Split possession by result and you get 51.6% in wins, 56.8% in draws, 59.4% in defeats — “the more ball they have, the less they win”. Too clean to trust.
Possession causes results, but it is also a trace of them: a team that concedes first ends up with the ball while chasing. So take only the window in which nobody is ahead yet — everything before the first goal.
The first answer was wrong. It left a question behind, though: the mean first goal in drawn matches arrives on minute 77, twice as late as in wins (40). In those matches Jeonbuk did not have less of the ball — nothing happened at all.
03The real variable is the first goal
Breaking the deadlock
What Jeonbuk lack is not the ability to hold a lead or to survive. It is the ability to break the deadlock first. Which narrows the question: why does the team that shoots most fail to break it?
04First, why is the defence good?
There is an answer — and it is the clue to the attack
Jeonbuk make the fewest blocks in the league, rank 11th for ground duels and interceptions and 10th for recoveries, and concede the second-fewest goals. Read on its own that says “they do not defend and do not get punished”. But defensive actions should scale with how long the opponent has the ball. Divide by that exposure and the picture changes.
The measured figures say the same thing without the approximation. Jeonbuk make 45.8 defensive actions per 100 opponent passes; their opponents make 35.8 per 100 Jeonbuk passes. For the same exposure Jeonbuk defend 28% more. PPDA — passes allowed per defensive action, lower meaning heavier pressing — is 5.3 for Jeonbuk against 6.2.
So the low defensive numbers are not a weakness signal. They are the shadow of possession: with the ball, there is nothing to defend. That is the good news. The problem is that the same possession runs backwards at the other end.
05Same possession, opposite result
The centre of this piece — split by phase, Jeonbuk are two teams
Possession phases were rebuilt from the event stream: consecutive events by one team form a phase, and the number of passes and its duration give it a character. Jeonbuk’s phases really are long — 6.32 passes and 32.5 seconds against their opponents’ 4.78 and 27.8, with 30% of phases running to eight passes or more (opponents 20%).
And yet slow build and fast breaks produce completely different returns.
Written out, the split is +8.52 goals on fast breaks, -3.19 in the middle, -12.17 in slow build. Jeonbuk’s fast break (1.90×) is better than Ulsan’s (1.60×). Their transition game is among the best in the league. Only the slow build collapses.
06Where it leaks
The shots reach the target. They just do not go in
“They cannot score from slow build” splits two ways — either the shots miss the target, or the ones on target get stopped. It is the second.
Which means the on-target shots from slow build are shots a goalkeeper can save: narrow angles, straight at the keeper, struck under pressure. An xG model reads the location and the situation type but not how many defenders are standing in front of the ball. Part of this gap comes from there.
07And Jeonbuk do not choose that
The opponent’s block height decides the phase mix
The 27 matches were split in three by the average position of the opponent’s defensive actions — a measure of how deep they sat.
Volume and results move in opposite directions — and the volume is set by the opponent, not by Jeonbuk. Against a deep block their phases stretch to 7.56 passes and 38.4 seconds (against a high block, 5.52 and 28.9), and the share of eight-pass phases climbs to 39%.
The Ulsan dataset gives a control. Mean block height against Jeonbuk is 39.56, against Ulsan 40.49 — a gap of 0.93, Cohen’s d of 0.17, which is negligible. Comparing the ten clubs both sides played, only six of ten sat deeper against Jeonbuk, and the correlation between a club’s strength and how deep it sat is r = 0.175, essentially none. Opponents treat the two teams much the same. What differs is the output.
08Where it breaks
Block height × phase type
09Same player, different phase
The loss is attached to the phase, not the player
Season totals make it look as though the squad contains a few poor finishers. Split by phase, it does not.
10One tool only
84% down the flanks, fewest dribbles in the league, 648 crosses
Split by phase, the dependence has an address. On fast breaks 12% of shots come straight from a cross; in slow build it is 25% (Ulsan’s slow build: 15%). The more the box fills up, the more Jeonbuk lean on the cross.
The goal breakdown says the same. Open play 26 · Penalties 6 · Own goals 1 · Corners 1. One goal from 124 corners, and six of 34 goals (18%) from the penalty spot.
11Two matches
The cover and the counter-example
Creating without opening
They took 78% of the ball and had 26 shots. One big chance. In this dataset it is the most Jeonbuk-like failure of the season.
They won on the day they created least
Yesterday, at home. Pohang out-created them on xG (1.12 to 0.97). Two goals arrived within two minutes — 14 and 16 minutes into the second half — and the match was over.
What separates the two is not how well Jeonbuk played. It is which phase was available to them.
12Conclusion
And what is still unknown
Jeonbuk defend with possession. That is verified — third in the league for defensive volume once divided by exposure, and a lower PPDA than their opponents. The low defensive numbers are not a weakness; they are the shadow of the ball.
But the same possession runs backwards going forward. The longer they hold it, the more their shots come from slow build, and slow-build shots do not become goals. When the opponent sits deep Jeonbuk create more and take less. Nine draws have cost 18 points, and the gap to Seoul at the top is 17.
Jeonbuk do not need more entries. They need another key for when the door is shut.
Open questions
- How much of the 0.37× is model bias? Post-shot xG would separate chance quality from finishing. The portal does not publish it.
- Is 16% central entry a design choice or a squad constraint? Only a line-up-by-line-up split can answer that.
- Will slow-build output regress towards the mean over the last 11 matches? 27 matches is not a large enough sample to separate skill from luck.
Appendix — data, verification, limits
Parsed directly from the internal responses of the K League Data Portal (portal.kleague.com). No screenshots, no manual entry. All 27 matches: 38,079 raw events with coordinates and xG, 1,079 × 77 per-match player rows, and 45 season metrics for all twelve clubs. The league comparisons were re-collected for every club at the same cut-off (5 Sep 2026).
Cross-checks
| Check | Result |
|---|---|
| Standings ↔ match reports, re-summed | exact (27 matches, 11W 9D 7L, 42 pts, 34-23) |
| Event shots ↔ league search | exact (361 = 361) |
| Event shots on target ↔ league search | exact (125 = 125) |
| League search ↔ match reports (corners) | exact (124 = 124) |
| Event tackles ↔ league search | exact (167 = 167) |
| Event fouls ↔ league search | exact (273 = 273) |
| Coordinate normalisation | mean shot end-X 100.0 for both sides; each half passes separately |
| 45 league-search metrics, duplicate check | all 45 distinct by header+sum signature (0 duplicates) |
Five limits
- Noise in phase reconstruction. 27.4% of events share a (minute, second) stamp, so phase boundaries carry error. A lenient rule was used — a single opponent touch does not end a phase. Under a strict rule (any change of team cuts the phase) slow-build phases fall from 148 to 39 and the test loses its power (Jeonbuk 0.84, Ulsan 1.00). The lenient rule looks right, but this should not be hidden.
- The xG model does not see defensive density. A slow-build shot is harder than the same coordinate suggests. The Ulsan control absorbs some of that bias, not all of it.
- League comparison is only possible through the league-search metrics. Events and xG were not collected for the other eleven clubs. “Jeonbuk’s slow-build conversion is low for the league” cannot be claimed. The available comparisons are Jeonbuk against their own opponents, the 45-metric league ranks, and the Ulsan dataset.
- Two of the three shots missing an xG value are goals (an own goal in R4, a 75th-minute goal in R13). The team xG total is understated by that much.
- Sample. 27 matches of xG under-performance cannot separate skill from luck. Every multiple in this piece is a record, not a forecast.
Sensitivity
Portal data issues found
- The “goals” row of the match report has the wrong total in 11 matches (it disagrees with first half + second half). The same bug appears in the Hwaseong, FC Seoul and Ulsan datasets — it is structural. This piece uses the re-summed halves.
- Kim Young-bin’s headed goal from a corner in R20 is mis-tagged as
ST/RCV(its 0.374 xG is attached correctly). Counting set-piece goals from events alone would miss it. - The league search’s “key passes” excludes crosses (158). Including them, chance-creating passes total 263, of which 37% are crosses.
- League-search values are completions, not attempts. “168 crosses” is completions; attempts run at 24.0 per match.
- “Fouls” and “tackles” are defined differently by source (match report 306 / addition data 303 / league search and events 273). This piece standardises on events and league search.
- The portal does not state left/right polarity. It was fixed by matching the match report’s zone codes (AKL·PAL·GAL against GAR·PAR·AKR) to the Y coordinate of each goal event — L-codes average Y 40.4, R-codes 54.0, and L < R in 97.1% of pairs (233/240). So low Y is the left, and the pitch figures here are drawn to that polarity (attacking right, the attacking team’s left is at the top).
Reproducing
Collection spec in 울산HD/포털_수집_사양_K리그1.md, dataset notes in 전북현대/README_데이터수집.md, the full hypothesis test in 전북현대/가설검증_보고서.md. Every number on this page comes from report_src/data.py, which gen_data.py generates from the CSVs in data/.