GoalSoon · 6 August 2026
Both German divisions kick off on Friday. Here are all 38 clubs on the same numbers: the 3. Liga scored as often as the Bundesliga and more often than the division above it, the 2. Bundesliga is the compressed one, and the xG signal that works in the Bundesliga (t = −3.98 over 48 club-seasons) does nothing at all in the third tier — so we do not use it there.
SC Verl held 65.7% of the ball last season. In the whole of German professional football above them — the Bundesliga, the 2. Bundesliga, their own 3. Liga — exactly one club had more, and it was Bayern Munich. Leverkusen, Stuttgart and Leipzig all had less. It is not an artefact of two odd afternoons either: of the 26 Verl matches where possession was recorded, 22 were above 60%, and the median was 66%.
They scored 82 goals, 2.16 a match, more per match than any of the 38 clubs that start the German second and third divisions on Friday. Their goal difference was +34 — the best in the division, better than the champions: VfL Osnabrück went up with +32.
Verl finished sixth. They lost 10 games doing it.
That gap between what a club does and where it ends up is the reason this piece exists. Below are all 38 clubs of the 2026/27 2. Bundesliga and 3. Liga, measured the same way on the same season, with the club-by-club pages linked at the end. Everything is per match, because the two divisions do not play the same number of them — 34 against 38.
| Most possession, all three German divisions | Division | Possession |
|---|---|---|
| Bayern Munich | Bundesliga | 67.4% |
| SC Verl | 3. Liga | 65.7% |
| Bayer Leverkusen | Bundesliga | 59.2% |
| Stuttgart | Bundesliga | 57.7% |
2025/26. Possession is measured on the matches our source covers, which is nearly all of the top two divisions and about 79% of the 3. Liga.
The obvious expectation is that football gets tighter and lower-scoring the further down you go. It does not. Last season the 3. Liga produced 3.21 goals a game, within a rounding error of the Bundesliga's 3.24. The 2. Bundesliga produced 2.93, and it is the outlier of the three.
Schalke won the second division scoring 1.47 goals a game. 12 of the twenty 3. Liga clubs scored faster than the champions of the division above them. That is not a claim about quality — Schalke also had the best defence in their division and went up. It is a claim about what the two divisions look like, and they do not look alike.
The tables tell the same story from the other end. Points per game were spread 0.31 in the 2. Bundesliga (from 0.88 to 2.06) and 0.39 in the 3. Liga (from 0.55 to 2.10). The second division is the compressed one: everybody near everybody, which is exactly why a promoted club can be swallowed by it.
Here is the part we did not expect. The spread in play — xG difference per match — is 0.41 in the 2. Bundesliga and 0.39 in the 3. Liga. Practically identical. So the third division's table is more spread out than the third division's football is. More of what separates a 3. Liga club from its neighbours ends up being the part that does not repeat.
We can price the step, because clubs keep taking it. Sixteen clubs have dropped from the 2. Bundesliga into the 3. Liga in the seasons our data holds. They averaged 0.87 points a game on the way down and 1.44 in the division below — above the 3. Liga's mid-table line of 1.37, and nowhere near the top of it.
Thirteen clubs went the other way. They averaged 1.84 points a game winning promotion and 0.96 in the 2. Bundesliga. Not one of the thirteen managed 1.26. The two moves are not mirror images: coming down lands you above the new mid-table, going up lands you below it.
Which is the whole problem with reading last season's numbers across a division line. Fortuna Düsseldorf scored 0.97 goals a game last season. Of the 38 clubs in this piece, only the three arriving from the Bundesliga scored less — St. Pauli managed 0.85 — and no club that played in the 3. Liga scored as little. Our projection still has Fortuna Düsseldorf at 1.59 points a game, the highest in the third division. That is not a compliment to their attack. It is the exchange rate above, applied to a club that finished 17th in a harder league.
The same arithmetic runs the other way for the two clubs coming up. Osnabrück won the 3. Liga with 2.10 points a game and the best defence in it; Cottbus finished second with 1.90. Our projections for them in the 2. Bundesliga are 1.13 and 1.06 — the two lowest in the division.
Sorted by xG difference per match: created minus allowed, the measure that travels best between seasons. Read it within a division, not across one.
| Club | Division 25/26 | Pos | Pts/g | Goals | xG | Conc. | xGA | xG diff | Result − play | Poss. | Stats from |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Hansa Rostock | 3. Liga | 5 | 1.76 | 1.95 | 2.04 | 1.29 | 1.48 | +0.56 | +0.10 | 55.9% | 30 of 38 |
| Energie Cottbus | 3. Liga | 2 | 1.90 | 1.90 | 1.92 | 1.34 | 1.37 | +0.55 | +0.00 | 52.4% | 30 of 38 |
| Hannover | 2. Bundesliga | 4 | 1.76 | 1.76 | 1.75 | 1.29 | 1.21 | +0.54 | -0.07 | 56.6% | 33 of 34 |
| VfL Osnabrück | 3. Liga | 1 | 2.10 | 1.74 | 1.58 | 0.90 | 1.14 | +0.43 | +0.41 | 45.5% | 30 of 38 |
| SC Verl | 3. Liga | 6 | 1.68 | 2.16 | 1.56 | 1.26 | 1.18 | +0.39 | +0.51 | 65.7% | 30 of 38 |
| Magdeburg | 2. Bundesliga | 14 | 1.15 | 1.53 | 1.82 | 1.71 | 1.49 | +0.33 | -0.51 | 54.1% | 33 of 34 |
| Ingolstadt | 3. Liga | 12 | 1.29 | 1.71 | 1.79 | 1.47 | 1.48 | +0.31 | -0.07 | 47.6% | 30 of 38 |
| Duisburg | 3. Liga | 4 | 1.79 | 1.74 | 1.52 | 1.29 | 1.23 | +0.29 | +0.16 | 46.9% | 30 of 38 |
| Arminia Bielefeld | 2. Bundesliga | 13 | 1.15 | 1.56 | 1.59 | 1.50 | 1.36 | +0.23 | -0.17 | 51.9% | 34 of 34 |
| Dynamo Dresden | 2. Bundesliga | 11 | 1.21 | 1.59 | 1.48 | 1.56 | 1.33 | +0.15 | -0.12 | 50.1% | 34 of 34 |
| Bochum | 2. Bundesliga | 9 | 1.29 | 1.44 | 1.65 | 1.38 | 1.52 | +0.13 | -0.07 | 45.8% | 34 of 34 |
| Waldhof Mannheim | 3. Liga | 10 | 1.37 | 1.55 | 1.60 | 1.90 | 1.48 | +0.12 | -0.46 | 48.4% | 30 of 38 |
| 1. FC Saarbrücken | 3. Liga | 15 | 1.16 | 1.34 | 1.74 | 1.50 | 1.64 | +0.10 | -0.26 | 48.5% | 30 of 38 |
| Darmstadt | 2. Bundesliga | 5 | 1.53 | 1.68 | 1.79 | 1.32 | 1.69 | +0.09 | +0.26 | 51.4% | 34 of 34 |
| RW Essen | 3. Liga | 3 | 1.84 | 2.05 | 1.69 | 1.74 | 1.65 | +0.04 | +0.28 | 50.2% | 29 of 38 |
| Jahn Regensburg | 3. Liga | 13 | 1.29 | 1.42 | 1.63 | 1.53 | 1.62 | +0.01 | -0.11 | 46.2% | 31 of 38 |
| Wehen Wiesbaden | 3. Liga | 9 | 1.40 | 1.42 | 1.51 | 1.37 | 1.53 | -0.02 | +0.07 | 47.4% | 31 of 38 |
| Viktoria Köln | 3. Liga | 11 | 1.34 | 1.34 | 1.39 | 1.40 | 1.42 | -0.03 | -0.02 | 50.9% | 31 of 38 |
| Kaiserslautern | 2. Bundesliga | 6 | 1.53 | 1.53 | 1.43 | 1.38 | 1.51 | -0.09 | +0.23 | 47.6% | 34 of 34 |
| 1. FC Nürnberg | 2. Bundesliga | 8 | 1.35 | 1.38 | 1.27 | 1.32 | 1.41 | -0.14 | +0.20 | 49.4% | 33 of 34 |
| Stuttgart II | 3. Liga | 14 | 1.21 | 1.50 | 1.69 | 1.82 | 1.86 | -0.18 | -0.14 | 56.2% | 30 of 38 |
| Braunschweig | 2. Bundesliga | 15 | 1.09 | 1.06 | 1.25 | 1.59 | 1.47 | -0.22 | -0.31 | 43.8% | 34 of 34 |
| Alemannia Aachen | 3. Liga | 7 | 1.68 | 2.00 | 1.43 | 1.50 | 1.65 | -0.22 | +0.72 | 44.3% | 31 of 38 |
| Hoffenheim II | 3. Liga | 16 | 1.13 | 1.71 | 1.78 | 1.87 | 2.05 | -0.27 | +0.11 | 55.3% | 31 of 38 |
| Hertha BSC | 2. Bundesliga | 7 | 1.50 | 1.38 | 1.44 | 1.29 | 1.72 | -0.29 | +0.37 | 48.7% | 34 of 34 |
| Fortuna Düsseldorf | 2. Bundesliga | 17 | 1.09 | 0.97 | 1.20 | 1.56 | 1.50 | -0.30 | -0.29 | 49.3% | 34 of 34 |
| Greuther Fürth | 2. Bundesliga | 16 | 1.09 | 1.44 | 1.29 | 2.00 | 1.62 | -0.33 | -0.23 | 47.5% | 34 of 34 |
| Wolfsburg | Bundesliga | 16 | 0.85 | 1.32 | 1.41 | 2.03 | 1.81 | -0.40 | -0.30 | 45.3% | 34 of 34 |
| Holstein Kiel | 2. Bundesliga | 12 | 1.21 | 1.29 | 1.23 | 1.41 | 1.69 | -0.46 | +0.34 | 51.7% | 34 of 34 |
| Heidenheim | Bundesliga | 17 | 0.77 | 1.21 | 1.41 | 2.12 | 1.89 | -0.48 | -0.43 | 42.3% | 34 of 34 |
| Preußen Münster | 2. Bundesliga | 18 | 0.88 | 1.12 | 1.19 | 1.79 | 1.77 | -0.58 | -0.10 | 51.4% | 34 of 34 |
| Karlsruher SC | 2. Bundesliga | 10 | 1.29 | 1.56 | 1.30 | 1.88 | 2.02 | -0.72 | +0.40 | 48.4% | 34 of 34 |
| St. Pauli | Bundesliga | 18 | 0.77 | 0.85 | 0.92 | 1.76 | 1.68 | -0.76 | -0.15 | 44.4% | 34 of 34 |
| TSV Havelse | 3. Liga | 17 | 0.92 | 1.50 | 1.43 | 2.34 | 2.27 | -0.83 | -0.01 | 44.1% | 29 of 38 |
| Fortuna Köln | promoted from the Regionalliga — outside our data, no numbers at all | ||||||||||
| SV Meppen | promoted from the Regionalliga — outside our data, no numbers at all | ||||||||||
| SG Sonnenhof Großaspach | promoted from the Regionalliga — outside our data, no numbers at all | ||||||||||
| Würzburger Kickers | promoted from the Regionalliga — outside our data, no numbers at all | ||||||||||
„Result − play" is (goals − xG) − (conceded − xGA) per match: positive means the scoreboard flattered them. Goals, points and position are measured on every match of the season; xG, possession and shots only on the matches our source covers — the last column says how many that was.
Alemannia Aachen outscored their own chances by +0.72 a match last season, the largest gap of the 38. In the Bundesliga that would be a warning. We checked, on German data, across 48 club-seasons: a club's result-minus-play in one season predicts the change in its points per game the next with r = -0.506, slope -0.83, t = -3.98. The control runs the other way, as it should — xG difference predicts next season's points at r = +0.672, t = +6.15. Play carries. Finishing does not.
Run the same test inside the 3. Liga and it collapses: r = +0.052, t = +0.18, on 14 club-seasons. That is nothing. The control is nothing too (r = +0.184, t = +0.65). Part of that is the sample: the 3. Liga's xG coverage only reaches back to 2023/24, and thin coverage inside those seasons leaves 14 clubs with enough measured matches on both sides of a summer — against 48 in the Bundesliga. We are not claiming to have proved the third tier is different; we are saying we cannot show the number works there. But it sits with something we found separately: of the clubs that stayed in the division, last season's points per game correlate with this season's at r = +0.12 in the 3. Liga (n = 80) against r = +0.23 in the 2. Bundesliga (n = 91). The third division does not remember last year.
So we are not going to tell you Alemannia Aachen are due a fall, or that Magdeburg (-0.51) are owed a rise. In the division they play in, we cannot show that the number does any work. In the 2. Bundesliga we cannot even test it: our source carries xG for that division from 2025/26 only, so there is no second season to test it against. The honest position is that the table above describes last season accurately and predicts next season only in the one place we could measure.
Each division has its own page with eight tables per club on the same order — last season's record, goals against xG, match profile, halves, style and discipline, squad and last season's top scorer, values and this summer's movement, and the projection with its error band: