The model makes Club Brugge KV the title favourite, first in 64.1% of 20,000 simulated seasons, ahead of Union St. Gilloise on 33.4% and Genk on 1.4%. On expected points that is Club Brugge KV 73.9, Union St. Gilloise 70.2, Genk 55.9. Three clubs finish in the top four more often than not: Club Brugge KV 99.5%, Union St. Gilloise 98.2%, Genk 55.5%.

At the other end, Lommel United carries the highest relegation risk at 73.7%, then Kortrijk on 54.3% and RAAL La Louvière on 50.0%. The bottom club averages 30.5 points to Club Brugge KV's 73.9.

Right, so here's what this simulation is about: a distribution of outcomes, not a single answer. It's like a map of where a club might land, not a GPS telling you exactly where you'll finish. It's useful for seeing how wide a club's range is. Is Club A always top four, or do they swing between fifth and tenth? That's what you get from this. But remember, it's blind to everything a season actually throws at it: injuries, form, fixture pile-ups, you name it. It's a pre-season snapshot, a starting point. Use it to frame your thinking, not to nail your colours to the mast. It's a tool, not a gospel.

Every club, every finishing position

Club123456789101112131415161718xPts
Club Brugge KV64.0830.214.300.950.300.100.020.020.0173.9
Union St. Gilloise33.4252.959.202.670.950.420.230.090.040.030.0170.2
Genk1.377.2427.9718.9012.908.896.604.863.682.491.901.260.850.550.340.140.0455.9
St. Truiden0.473.2616.3316.3313.8711.329.117.495.534.813.862.671.931.440.810.530.190.0652.6
Charleroi0.221.9010.7412.5811.9811.1910.128.717.616.145.404.203.502.401.600.990.530.2150.2
SK Beveren0.191.579.1311.6911.8111.4310.319.227.636.825.784.763.572.461.930.950.540.2149.7
Zulte Waregem0.080.815.437.999.129.539.329.318.638.047.216.755.294.753.402.271.460.5947.2
Gent0.060.634.236.227.858.838.918.989.048.628.497.166.075.204.302.921.690.7846.2
Antwerp0.030.403.365.516.877.898.428.978.968.888.198.037.205.974.783.382.101.0445.4
Standard Liege0.030.352.825.086.317.768.228.919.128.588.498.596.996.475.023.912.261.0945.0
KV Mechelen0.010.181.963.725.026.097.167.728.229.228.829.018.417.906.355.003.481.7443.6
Cercle Brugge0.030.242.023.484.885.686.917.508.568.368.948.528.587.697.405.523.692.0343.3
Anderlecht0.010.191.532.894.285.146.507.127.968.499.078.939.018.407.436.074.552.4442.6
OH Leuven0.010.040.520.971.792.463.604.445.736.877.908.8710.1310.5110.9610.429.145.6539.2
KVC Westerlo0.030.280.561.161.582.213.004.035.406.347.859.5110.9412.7013.0312.329.0837.3
RAAL La Louvière0.120.230.430.771.031.622.423.194.185.467.7010.1012.7315.7117.7716.5134.6
Kortrijk0.010.060.180.380.700.941.482.022.883.655.197.129.3111.8215.4819.2319.5534.0
Lommel United0.010.040.090.220.410.570.801.191.762.744.115.908.4413.6920.9939.0230.5

Each cell is the percentage of 20,000 simulated seasons in which that club finished in that position, so every row adds up to 100%. A blank cell is under 0.005%, not impossible. The xPts column is the club's average points total across those seasons. Club names link to that club's full model profile.

View the same grid as a shaded heatmap, which is easier to scan than the table above.

How it's built

Every one of the 306 fixtures is played out from each club's attacking and defending strength, a blend of shots-adjusted Elo and last season's goal rates, then adjusted for this summer's transfers on both sides of the ball: a departed 16-goal scorer weakens a club's attack, while an incoming ball-winner (tackles won, interceptions, blocks) strengthens its defence. Scorelines are drawn from the same negative-binomial and Dixon-Coles model the live BetSignals signals use. Strengths are frozen at pre-season, so this is a start-of-season expectation, not a mid-season read.

_Generated from the BetSignals season simulation, 20,000 runs._