‹ ›

1948 Kategoria e Parë Season

86 games · 2 promotion-playoff teams

Final

Champion

Partizani

17 points · 2nd Title

Last Title: 1947

Relegated

No relegation

Biggest Overachiever

Shqiponja

3.93 points above expected

16 points · 12.07 expected points

Biggest Disappointment

Spartak Kucova

5.10 points below expected

4 points · 9.10 expected points

League Table

The final standings for the season. vsSim shows actual points minus the simulation's mean — positive means the team overachieved against the model, negative means they underperformed.

# Team GP W D L Pts GF GA GD SimPts vsSim
1 Vllaznia 10 8 1 1 17 26 7 +19 14.43 +2.57
2 Partizani Champion 10 8 1 1 17 34 8 +26 13.81 +3.19
3 17 Nentori 10 5 2 3 12 9 9 0 10.03 +1.97
4 Red Star Durres 10 4 2 4 10 12 16 -4 9.73 +0.27
5 Besa 10 1 1 8 3 7 33 -26 7.23 -4.23
6 Dinamo Korca 10 0 1 9 1 3 18 -15 4.77 -3.77
# Team GP W D L Pts GF GA GD SimPts vsSim
1 Bashkimi Elbasanas 14 8 5 1 21 36 13 +23 19.75 +1.25
2 Flamurtari 14 8 4 2 20 47 19 +28 18.18 +1.82
3 Apolonia 14 7 5 2 19 31 20 +11 15.52 +3.48
4 Shqiponja 14 6 4 4 16 31 23 +8 12.07 +3.93
5 8 Nentori 14 5 5 4 15 23 25 -2 13.81 +1.19
6 Traktori 14 4 2 8 10 22 34 -12 12.93 -2.93
7 Tomori 14 2 3 9 7 16 34 -18 10.64 -3.64
8 Spartak Kucova 14 1 2 11 4 17 55 -38 9.10 -5.10

Top Overachievers & Disappointments

Teams that most beat — or most fell short of — their simulated point projections. A positive vsSim means the team accumulated more points than the model expected on average; a negative one means fewer.

Biggest Overachievers

# Team Actual Sim vsSim
1 Shqiponja 16 12.07 +3.93
2 Apolonia 19 15.52 +3.48
3 Partizani 17 13.81 +3.19
4 Vllaznia 17 14.43 +2.57
5 17 Nentori 12 10.03 +1.97

Biggest Disappointments

# Team Actual Sim vsSim
1 Spartak Kucova 4 9.10 -5.10
2 Besa 3 7.23 -4.23
3 Dinamo Korca 1 4.77 -3.77
4 Tomori 7 10.64 -3.64
5 Traktori 10 12.93 -2.93

Recent Form

Each team’s last 5 games, hottest first. Form shows the results (navy win, gray draw, red loss, newest on the right); the bars show Elo change over the window, points taken, points expected from the odds, and actual minus expected. Beside each team: current Elo and season points.

Team Elo Season Pts Form Elo Δ (5) Points (5) Expected (5) Actual − Exp
Bashkimi Elbasanas 1515 21 -163 5 7.5 -2.5
Flamurtari 1682 20 +113 9 8.1 +0.9
Apolonia 1570 19 +135 8 6.4 +1.6
Vllaznia 1827 17 +175 10 8.2 +1.8
Partizani 1841 17 +162 10 8.1 +1.9
Shqiponja 1321 16 +70 7 5.1 +1.9
8 Nentori 1495 15 +130 7 5.2 +1.8
17 Nentori 1429 10 +29 6 5.1 +0.9
Traktori 1172 10 +84 4 3.4 +0.6
Red Star Durres 1420 8 +46 5 4.6 +0.4
Tomori 956 7 -194 1 2.6 -1.6
Spartak Kucova 862 4 -144 0 2.3 -2.3
Besa 1061 1 -100 1 2.4 -1.4
Dinamo Korca 1286 1 -88 1 2.7 -1.7

Head-to-Head

Each cell shows a team's record in that matchup (row vs column, formatted W-D-L) with the model's expected points on the line below. Navy-tinted cells mean the team beat the model's expectations by more than one point in that matchup; gold-tinted cells mean they fell short by the same margin.

Beat expectations Fell short Within expectations

Group A

Team 1N BES DK PAR RSD VLL
17 Nentori —
2-0-0
3.62
2-0-0
3.23
0-0-2
1.31
1-1-0
2.85
0-1-1
1.23
Besa
0-0-2
1.91
—
1-1-0
1.57
0-0-2
0.70
0-0-2
1.34
0-0-2
1.47
Dinamo Korca
0-0-2
2.29
0-1-1
3.95
—
0-0-2
1.96
0-0-2
2.76
0-0-2
0.83
Partizani
2-0-0
4.22
2-0-0
4.85
2-0-0
3.57
—
1-1-0
4.10
1-0-1
2.38
Red Star Durres
0-1-1
2.68
2-0-0
4.18
2-0-0
2.76
0-1-1
1.43
—
0-0-2
0.93
Vllaznia
1-1-0
4.30
2-0-0
4.07
2-0-0
4.72
1-0-1
3.14
2-0-0
4.61
—

Group B

Team 8N APO BE FLA SHQ SK TOM TRA
8 Nentori —
0-2-0
1.67
1-0-1
1.25
0-0-2
1.58
0-2-0
3.56
2-0-0
4.14
2-0-0
4.06
0-1-1
2.69
Apolonia
0-2-0
3.85
—
0-1-1
2.09
0-1-1
2.87
2-0-0
3.48
1-1-0
3.10
2-0-0
4.00
2-0-0
2.61
Bashkimi Elbasanas
1-0-1
4.28
1-1-0
3.43
—
1-1-0
2.58
0-2-0
4.47
2-0-0
4.24
1-1-0
4.33
2-0-0
4.83
Flamurtari
2-0-0
3.94
1-1-0
2.65
0-1-1
2.95
—
1-0-1
2.34
2-0-0
5.06
1-1-0
3.56
1-1-0
4.80
Shqiponja
0-2-0
1.96
0-0-2
2.04
0-2-0
1.06
1-0-1
3.18
—
1-0-1
3.87
2-0-0
3.66
2-0-0
2.19
Spartak Kucova
0-0-2
1.40
0-1-1
2.42
0-0-2
1.29
0-0-2
0.51
1-0-1
1.67
—
0-1-1
2.03
0-0-2
2.03
Tomori
0-0-2
1.47
0-0-2
1.54
0-1-1
1.21
0-1-1
1.97
0-0-2
1.87
1-1-0
3.50
—
1-0-1
2.51
Traktori
1-1-0
2.83
0-0-2
2.91
0-0-2
0.72
0-1-1
0.74
0-0-2
3.33
2-0-0
3.50
1-0-1
3.01
—

Points vs. Goals Scored, Allowed, and Differential

Points plotted against goals scored, allowed, and differential. Use the buttons to switch views; hover a team for exact values. The table gives each fit's R² and slope (the change in points per 10 goals).

Fit Metrics

R² Slope
Scored 0.76 +4.6
Allowed 0.33 -2.9
Differential 0.82 +3.0

Scoreline Distribution

Percentage of games ending with each combination of team-goals (rows) and opponent-goals (columns). The diagonal shows draws; cells below the diagonal are wins from the row team's perspective, cells above are losses. Marginal totals on the right and bottom show how often each goal count occurred regardless of opponent. Use the picker to switch between the league-wide view and any individual team.

↓ Scored | Allowed →012345+Total
05.81%5.23%4.65%1.16%1.16%4.65%22.67%
15.23%6.98%4.65%4.07%4.07%3.49%28.49%
24.65%4.65%6.98%0.58%1.16%1.74%19.77%
31.16%4.07%0.58%2.33%—0.58%8.72%
41.16%4.07%1.16%———6.40%
5+4.65%3.49%1.74%0.58%—3.49%13.95%
Total22.67%28.49%19.77%8.72%6.40%13.95%100%

Summary Statistics

Scored Allowed Difference
Mean 1.79 1.79 +0.00
SD 1.91 1.91 2.95
CV 1.07 1.07 —
Max 9 9 +9
Min -1 -1 -9

Games Played: 86

↓ Scored | Allowed →012345+Total
020.00%10.00%————30.00%
120.00%—10.00%—10.00%—40.00%
2—10.00%————10.00%
3—10.00%————10.00%
4———————
5+—————10.00%10.00%
Total40.00%30.00%10.00%—10.00%10.00%100%

Summary Statistics

Scored Allowed Difference
Mean 0.80 0.80 +0.00
SD 1.14 1.40 1.41
CV 1.42 1.75 —
Max 3 4 +2
Min -1 -1 -3

Games Played: 10

↓ Scored | Allowed →012345+Total
014.29%—7.14%——7.14%28.57%
1—7.14%——7.14%7.14%21.43%
214.29%—14.29%———28.57%
3—7.14%————7.14%
4——7.14%———7.14%
5+—7.14%————7.14%
Total28.57%21.43%28.57%—7.14%14.29%100%

Summary Statistics

Scored Allowed Difference
Mean 1.64 1.79 -0.14
SD 1.55 1.76 2.57
CV 0.94 0.99 —
Max 5 5 +4
Min 0 0 -5

Games Played: 14

↓ Scored | Allowed →012345+Total
07.14%—————7.14%
17.14%14.29%—7.14%——28.57%
27.14%7.14%7.14%——7.14%28.57%
3———7.14%——7.14%
414.29%7.14%7.14%———28.57%
5+———————
Total35.71%28.57%14.29%14.29%—7.14%100%

Summary Statistics

Scored Allowed Difference
Mean 2.21 1.43 +0.79
SD 1.37 1.70 2.19
CV 0.62 1.19 —
Max 4 6 +4
Min 0 0 -4

Games Played: 14

↓ Scored | Allowed →012345+Total
0——7.14%———7.14%
114.29%21.43%————35.71%
27.14%—7.14%———14.29%
3—7.14%—7.14%——14.29%
4—7.14%————7.14%
5+14.29%7.14%————21.43%
Total35.71%42.86%14.29%7.14%——100%

Summary Statistics

Scored Allowed Difference
Mean 2.57 0.93 +1.64
SD 1.99 0.92 2.34
CV 0.77 0.99 —
Max 6 3 +6
Min 0 0 -2

Games Played: 14

↓ Scored | Allowed →012345+Total
0—10.00%—10.00%—10.00%30.00%
1—10.00%10.00%10.00%—20.00%50.00%
2—————10.00%10.00%
3———————
4———————
5+—————10.00%10.00%
Total—20.00%10.00%20.00%—50.00%100%

Summary Statistics

Scored Allowed Difference
Mean 0.60 3.20 -2.60
SD 0.84 2.49 2.17
CV 1.41 0.78 —
Max 2 6 +0
Min -1 -1 -6

Games Played: 10

↓ Scored | Allowed →012345+Total
0—20.00%10.00%——10.00%40.00%
1—10.00%10.00%—10.00%—30.00%
2———————
3———————
4———————
5+—————30.00%30.00%
Total—30.00%20.00%—10.00%40.00%100%

Summary Statistics

Scored Allowed Difference
Mean 0.00 1.50 -1.50
SD 0.82 2.51 2.17
CV — 1.67 —
Max 1 7 +0
Min -1 -1 -7

Games Played: 10

↓ Scored | Allowed →012345+Total
07.14%7.14%————14.29%
1—7.14%——7.14%—14.29%
2—7.14%14.29%———21.43%
3———————
4—7.14%————7.14%
5+14.29%14.29%7.14%7.14%——42.86%
Total21.43%42.86%21.43%7.14%7.14%—100%

Summary Statistics

Scored Allowed Difference
Mean 3.36 1.36 +2.00
SD 2.62 1.15 3.06
CV 0.78 0.85 —
Max 9 4 +9
Min 0 0 -3

Games Played: 14

↓ Scored | Allowed →012345+Total
0———————
120.00%10.00%——10.00%—40.00%
210.00%10.00%————20.00%
3———————
4—10.00%————10.00%
5+20.00%10.00%————30.00%
Total50.00%40.00%——10.00%—100%

Summary Statistics

Scored Allowed Difference
Mean 3.40 0.80 +2.60
SD 2.95 1.23 3.53
CV 0.87 1.54 —
Max 9 4 +9
Min 1 0 -3

Games Played: 10

↓ Scored | Allowed →012345+Total
010.00%10.00%10.00%——10.00%40.00%
110.00%10.00%10.00%———30.00%
2———————
310.00%—————10.00%
4———————
5+—10.00%———10.00%20.00%
Total30.00%30.00%20.00%——20.00%100%

Summary Statistics

Scored Allowed Difference
Mean 1.10 1.50 -0.40
SD 2.02 2.80 3.66
CV 1.84 1.87 —
Max 6 9 +5
Min -1 -1 -9

Games Played: 10

↓ Scored | Allowed →012345+Total
0—7.14%——7.14%7.14%21.43%
1—7.14%————7.14%
27.14%—21.43%7.14%——35.71%
37.14%14.29%————21.43%
4—7.14%————7.14%
5+7.14%—————7.14%
Total21.43%35.71%21.43%7.14%7.14%7.14%100%

Summary Statistics

Scored Allowed Difference
Mean 2.21 1.64 +0.57
SD 1.85 1.50 3.01
CV 0.83 0.91 —
Max 7 5 +7
Min 0 0 -5

Games Played: 14

↓ Scored | Allowed →012345+Total
0——7.14%——21.43%28.57%
1——7.14%21.43%7.14%—35.71%
2——7.14%—7.14%7.14%21.43%
3——7.14%7.14%——14.29%
4———————
5+———————
Total——28.57%28.57%14.29%28.57%100%

Summary Statistics

Scored Allowed Difference
Mean 1.21 3.93 -2.71
SD 1.05 2.13 2.81
CV 0.87 0.54 —
Max 3 9 +1
Min 0 2 -9

Games Played: 14

↓ Scored | Allowed →012345+Total
07.14%—21.43%7.14%7.14%—42.86%
1——14.29%——7.14%21.43%
2—7.14%7.14%———14.29%
3—7.14%—7.14%—7.14%21.43%
4———————
5+———————
Total7.14%14.29%42.86%14.29%7.14%14.29%100%

Summary Statistics

Scored Allowed Difference
Mean 1.14 2.43 -1.29
SD 1.23 1.45 1.77
CV 1.08 0.60 —
Max 3 5 +2
Min 0 0 -4

Games Played: 14

↓ Scored | Allowed →012345+Total
07.14%7.14%————14.29%
1——7.14%14.29%7.14%14.29%42.86%
27.14%7.14%7.14%—7.14%—28.57%
3—7.14%————7.14%
4———————
5+——7.14%———7.14%
Total14.29%21.43%21.43%14.29%14.29%14.29%100%

Summary Statistics

Scored Allowed Difference
Mean 1.57 2.43 -0.86
SD 1.28 1.83 2.35
CV 0.82 0.75 —
Max 5 6 +3
Min 0 0 -5

Games Played: 14

↓ Scored | Allowed →012345+Total
010.00%10.00%————20.00%
110.00%—————10.00%
210.00%20.00%————30.00%
3———————
4—20.00%————20.00%
5+10.00%—10.00%———20.00%
Total40.00%50.00%10.00%———100%

Summary Statistics

Scored Allowed Difference
Mean 2.60 0.70 +1.90
SD 2.07 0.67 1.97
CV 0.79 0.96 —
Max 6 2 +6
Min 0 0 -1

Games Played: 10

Season Summary

Every team's regular-season finish compared against 100,000 simulations. Click any column header to sort. Luck is the team's actual points minus the sim's mean — positive means the team beat the model. Percentile is where the actual result fell in the team's sim distribution (e.g. 90% = the team did this well or better in only 10% of sims).

Team Elo Points Avg Luck Percentile Min 5th Q1 Median Q3 95th Max
Partizani 1917 17 13.81 +3.19 96.0% 8 10 12 14 15 17 18
Vllaznia 1827 17 14.43 +2.57 94.0% 10 11 13 14 16 18 20
Flamurtari 1607 20 18.18 +1.82 79.0% 13 14 16 18 20 22 25
Apolonia 1570 19 15.52 +3.48 89.0% 8 10 13 16 17 21 23
Bashkimi Elbasanas 1515 21 19.75 +1.25 79.0% 13 16 18 20 21 24 25
8 Nentori 1495 15 13.81 +1.19 65.0% 6 9 12 14 16 18 21
17 Nentori 1429 12 10.03 +1.97 88.0% 5 7 9 10 11 13 15
Red Star Durres 1420 10 9.73 +0.27 69.0% 5 6 8 10 11 14 15
Shqiponja 1337 16 12.07 +3.93 93.0% 5 7 10 12 14 17 19
Dinamo Korca 1286 1 4.77 -3.77 1.0% 1 2 3 4 6 8 10
Traktori 1172 10 12.93 -2.93 15.0% 7 9 11 13 15 18 19
Besa 1061 3 7.23 -4.23 6.0% 3 3 6 7 9 11 14
Tomori 956 7 10.64 -3.64 10.0% 3 6 9 10 12 15 19
Spartak Kucova 862 4 9.10 -5.10 5.0% 3 4 7 9 11 13 18

Point Totals in Context

How did each team's actual results compare to their simulated points, Elo rating, average opponent Elo, and percentile within simulated outcomes? Use the buttons to switch between views. In each chart, dashed crosshairs at the league means split the plot into four quadrants: pastel green (team did well, model agreed), pastel red (team did poorly, model agreed), and pastel yellow (model and reality disagreed).

Home-Field Advantage Edge

The simulation applies the same home-field boost to every game across the league, so the per-game home win probabilities bake in the model's idea of HFA. For each team, we sum expected points at home and compare to actual home points, and the same on the road. The bar shows (home points above expected) minus (away points above expected). A tall positive bar means the team's home/road split exceeded what the model predicted — a real fortress effect. A tall negative bar means the reverse: they played worse at home or better on the road than expected.

Season Trends

How each metric evolved across the season - Elo rating, actual and projected points, title/promotion probability, and relegation probability - day by day.

Edges & Scoring

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Home Edge
Share of matches won by the home team minus the share won by the away team.
No Edge: under 27% * Slight Edge: 27% to 33% * Clear Edge: 33% to 40% * Strong Edge: 40% and up.
Elo Value
Number of Elo rating points one goal is worth. A team this many Elo points better than another is expected to win by one goal on a neutral field.
Scoring Tilt
Average home goals minus average away goals per match. The gold line is the home goals edge implied by the scoring value of an Elo point and the home-field Elo bonus.
Road-Tilted: under -0.2 * Neutral: -0.2 to 0.5 * Home-Tilted: 0.5 to 1.2 * Strong Home: 1.2 and up.
Home Edge
HomeDrawAway
+22.09%
No Edge
50.00%22.09%27.91%
Elo Value
Home Edge
148 Elo
0.007 goals per Elo point
090.90400
Scoring Tilt
Expected
+1.23 goals
Strong Home
-2+0.62+2

Title Race

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Title-Race Openness
Effective number of teams with a live shot at finishing 1st, from the simulation. 1 means the favorite is a near-lock; larger means a wide-open race. Equal to 1 divided by the sum of squared title odds.
One-Team Race: under 2 * Top-Heavy: 2 to 3 * Open: 3 to 4 * Wide Open: 4 and up.
Champion Preseason Odds
Preseason probability that the eventual champion would finish 1st, from the simulation. The dot marks their rank across all teams, from longshot to favorite.
Preseason Favorite: 1st * Among the Favorites: 2nd to 3rd * Middle of the Pack: 4th to 7th * Longshot: 8th or lower.
Title Margin
Points-per-game gap between the champion and the runner-up. Shown per game so it reads the same across long and short seasons. The gold line is the winning margin the model expected, so a dot to the right means a more one-sided race than projected. A title won on goal difference shows 0.00.
Photo Finish: under 0.04 * Tight Race: 0.04 to 0.12 * Comfortable: 0.12 to 0.22 * Runaway: 0.22 and up.
Title-Race Openness
4.6
Wide Open
123410
Champion Preseason Odds
48%
Partizani, 2nd of 14
LongshotFavorite
Title Margin
Expected
0.08/gm
Tight Race
00.190.5/gm

Simulation-Based Surprises

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Luck Spread
Standard deviation of the gap between each team's actual points and their simulated average points. The gold line is the spread the model expected from chance alone.
As Expected: under 1.98 * Some Luck: 1.98 to 2.97 * Lucky: 2.97 to 3.96 * Wild Swing: 3.96 and up.
Average Finish Error
Average gap between where each team was projected to finish and where they actually finished in the table.
Pinpoint: under 1.33 * Close: 1.33 to 1.99 * Off: 1.99 to 2.66 * Way Off: 2.66 and up.
Biggest Overachiever
The team that finished highest inside its own range of simulated outcomes. The gold line is where the top team in a league of 14 typically lands.
Biggest Underachiever
The team that finished lowest inside its own range of simulated outcomes. The gold line is where the bottom team in a league of 14 typically lands.
Season Outliers
Number of teams that finished above the 95th or below the 5th percentile of their own simulated range. Even a well-calibrated model expects about 10% of teams in the extremes.
Minimal Outliers: under 14 * As Expected: 14 to 22.4 * Several Outliers: 22.4 to 30.8 * Many Outliers: 30.8 and up.
Luck Spread
Expected
3.10 points
Lucky
02.476
Average Finish Error
Expected
0.93
Pinpoint
01.664
Biggest Overachiever
Expected 96.43%
96.00%
Partizani
50100
Biggest Underachiever
Expected 3.57%
1.00%
Dinamo Korca
050
Season Outliers
Expected
2 of 14
Minimal Outliers
01.47

Parity

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Gini Index
How evenly points were spread across the league. Lower means a tight, balanced table; higher means a few teams ran off with most of the points.
Balanced: under 0.12 * Even: 0.12 to 0.17 * Top-Heavy: 0.17 to 0.21 * Lopsided: 0.21 and up.
Noll-Scully
Take a league where every match is a coin flip and nobody is better than anybody. You would still get a table, with a leader and a bottom club, purely by luck, and you can work out how far apart that table would be. This is the real table measured against it. At 1.00 the season was no more spread out than pure chance; at 2.00 it was twice as spread out, which takes genuine differences in quality. Dividing by the luck figure is what makes seasons of different lengths comparable, because a short season spreads a table by luck alone far more than a long one does. Elo SD in the corner is the same question in rating points: how far apart the teams finished on the ratings.
Coin-Flip Parity: under 1.35 * Moderate Separation: 1.35 to 1.8 * Strong Separation: 1.8 to 2.15 * Wide Separation: 2.15 and up.
Interquartile Edge
Chance the team at the 75th percentile of Elo would beat the team at the 25th percentile on a neutral field. Higher means a bigger gap between the upper and lower half of the table.
Even: under 63.5% * Slight Edge: 63.5% to 72.5% * Clear Edge: 72.5% to 77.5% * Wide Edge: 77.5% and up.
Best vs. Worst
Chance the top-rated team would beat the bottom-rated team on a neutral field. The gold line is how large that gap tends to be in a league of this size; a dot to the right flags an unusually dominant or unusually weak team.
Even: under 86.5% * Clear Edge: 86.5% to 93% * Strong Edge: 93% to 97.5% * Dominant: 97.5% and up.
Close Games
Share of matches decided by 1 goal or fewer, draws included. The gold line is how many close games the matchups and the scoring value of an Elo point predict.
Few: under 59.5% * Some Drama: 59.5% to 66.5% * Frequent: 66.5% to 72.5% * Very Frequent: 72.5% and up.
Blowouts
Share of matches decided by 3 goals or more. The gold line is how many routs the matchups and the scoring model predict.
Rare: under 10.5% * Occasional: 10.5% to 14% * Frequent: 14% to 17.5% * Very Frequent: 17.5% and up.
Gini Index
0.29
Lopsided
00.120.210.5
Noll-Scully
Elo SD: 301.06
2.16
Wide Separation
0.91.351.82.153
Interquartile Edge
89%
Wide Edge
50%63.5%72.5%100%
Best vs. Worst
Baseline 100%
100%
Dominant
50%100%
Close Games
Expected
47%
Few
0%39%100%
Blowouts
Expected
33%
Very Frequent
0%39%100%

Predictability

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Brier Score
How close the pregame probabilities landed to the actual result, averaged over the season. Confident, correct calls are rewarded most; confident misses are punished most. Lower is better; since draws are possible, a score under 0.66 beats guessing the base rate.
Highly Predictable: under 0.56 * Predictable: 0.56 to 0.62 * Hard to Predict: 0.62 to 0.66 * Coin-Flip: 0.66 and up.
Matchup Imbalance
How lopsided the matchups were on paper, averaging the gap between the two win probabilities over their sum. 0 means every match was a toss-up; 1 means every match was a heavy favorite against a big underdog.
Very Even: under 0.48 * Slight Separation: 0.48 to 0.56 * Notable Separation: 0.56 to 0.62 * Lopsided: 0.62 and up.
Strangeness
How wild the final table was versus what the model expected. A value of 1 means teams landed about one standard deviation from their projections on average. Above 1 is a stranger season; below 1 hugged the projections.
Very Predictable: under 0.8 * As Expected: 0.8 to 1.1 * Wilder Than Modeled: 1.1 to 1.4 * Chaotic: 1.4 and up.
Repeatability
How closely the final table order matched the preseason Elo order, by Spearman rank correlation. Higher means last season's ratings strongly predicted this season's finish. Shows N/A for an inaugural season.
Weak Carryover: under 0.41 * Some Carryover: 0.41 to 0.59 * Strong Carryover: 0.59 to 0.73 * Near-Lock: 0.73 and up.
Upset Rate
Share of matches the underdog won. The gold line is how often the model expected underdogs to win; a dot to the right means upsets ran hotter than expected.
Chalky: under 12% * As Expected: 12% to 14.5% * Upset-Prone: 14.5% to 18.5% * Very Upset-Prone: 18.5% and up.
Clear Favorite Upset Rate
Share of matches the underdog won, counting only games with a clear favorite (at least 60% likely to win once a draw is set aside). The gold line is how often the model expected these favorites to slip.
Solid Favorites: under 10.5% * As Expected: 10.5% to 12.5% * Shaky Favorites: 12.5% to 16% * Very Shaky: 16% and up.
Brier Score
Expected
0.49
Highly Predictable
00.542
Matchup Imbalance
0.54
Slight Separation
00.5
Strangeness
Expected
1.65
Chaotic
01.002
Repeatability
-0.30
Weak Carryover
00.410.590.731
Upset Rate
Expected
13%
As Expected
0%18%50%
Clear Favorite Upset Rate
Expected
10%
Solid Favorites
0%14%50%

Calibration

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Probability calibration
An all-in-one chi-square test of the model's probabilities. Matches are grouped by how confident the model was, and within each group the predicted and actual counts of home wins, draws, and away wins are compared. The p-value is plotted; above 0.05 means well-calibrated.
Miscalibrated: under 0.05 * Borderline: 0.05 to 0.1 * Well Calibrated: 0.1 to 0.5 * Excellent: 0.5 and up.
Calibration slope
Checks whether the spread of the probabilities is right. Each probability is turned into log-odds and a line is fit predicting the actual results. A slope of 1.00 is perfect; below 1 is overconfidence (favorites lost more than their odds implied); above 1 is under-confidence.
Overconfident: under 0.85 * Calibrated: 0.85 to 1.15 * Underconfident: 1.15 to 1.3 * Very Underconfident: 1.3 and up.
Calibration error (ECE)
The average gap between the model's stated chances and how often the predicted result actually happened. Smaller is better. The gold line is the noise ceiling, the error luck alone can produce even with perfect probabilities; below it, the model's error is no larger than chance.
Well Within Noise: under 0.16 * Near Noise Ceiling: 0.16 to 0.24 * Above Noise: 0.24 to 0.31 * Well Above Noise: 0.31 and up.
Probability calibration
0.27
Well Calibrated
0.010.050.10.51
Calibration slope
Ideal
1.49
Very Underconfident
0.3577921.001.64221
Calibration error (ECE)
Noise ceiling
0.094
Well Within Noise
00.1570.4

Promotion Playoff

The path the promotion-playoff teams took to determine the final promotion spot. The sections below show matchup heatmaps and round-by-round simulation outcomes.

Finals

Partizani 6
Flamurtari 2

Sim: 8.0%

Final Table Odds

Each cell is the probability — across 100,000 simulations — that the team (row) finished at that position (column). Rows are sorted by actual finish (champion at top, bottom of the table at the bottom).

Team123456
Vllaznia46.00%45.00%8.00%1.00%——
Partizani48.00%35.00%13.00%3.00%1.00%—
17 Nentori4.00%10.00%39.00%35.00%10.00%2.00%
Red Star Durres2.00%10.00%29.00%44.00%13.00%2.00%
Besa——9.00%13.00%50.00%28.00%
Dinamo Korca——2.00%4.00%26.00%68.00%
Team12345678
Bashkimi Elbasanas59.00%28.00%10.00%2.00%1.00%———
Flamurtari27.00%47.00%12.00%10.00%2.00%2.00%——
Apolonia10.00%11.00%32.00%22.00%13.00%4.00%6.00%2.00%
Shqiponja2.00%3.00%6.00%13.00%27.00%23.00%17.00%9.00%
8 Nentori1.00%7.00%25.00%24.00%18.00%10.00%10.00%5.00%
Traktori—4.00%12.00%14.00%25.00%29.00%12.00%4.00%
Tomori1.00%—2.00%14.00%6.00%23.00%30.00%24.00%
Spartak Kucova——1.00%1.00%8.00%9.00%25.00%56.00%

Points Required Per Position

The empirical CDF of simulated point totals per finishing position. Each curve shows, for one position (1st, 2nd, ..., last), the spread of point totals teams accumulated across simulations. Reading the curve at the 50% mark gives the median points typically needed to finish at that position. Steep curves mean the position is tightly clustered around a particular point range; shallow curves mean the position came with a wide variety of point totals.

Stochastic Promotion/Relegation Outcomes

Across 100,000 regular-season simulations from preseason Elo, the probability of each team's next-season outcome — promotion-positive outcomes on the left, relegation-positive on the right. The round buttons switch to heatmaps of how often each pair of teams met in that round of the playoff across the simulations, since every iteration produces a different field.

Team Same level Direct relegation
17 Nentori 96.00% —
Besa 100% —
Dinamo Korca 100% —
Flamurtari — —
Partizani — —
Red Star Durres 98.00% —
Vllaznia 54.00% —
Bashkimi Elbasanas 40.00% 1.00%
Apolonia 65.00% 25.00%
8 Nentori 56.00% 43.00%
Traktori 30.00% 70.00%
Shqiponja 22.00% 76.00%
Tomori 16.00% 83.00%
Spartak Kucova 2.00% 98.00%
Loser →
↓ Winner
17 Nentori8 NentoriApoloniaBashkimi ElbasanasFlamurtariPartizaniRed Star DurresShqiponjaVllaznia
17 Nentori0.0%1.00%33.3%3.00%0.0%1.00%
8 Nentori0.0%2.00%0.0%1.00%
Apolonia100.0%1.00%40.0%5.00%
Bashkimi Elbasanas66.7%3.00%26.3%19.00%66.7%3.00%16.7%30.00%
Flamurtari100.0%1.00%38.5%13.00%100.0%1.00%36.8%19.00%
Partizani100.0%2.00%73.7%19.00%61.5%13.00%
Red Star Durres33.3%3.00%0.0%1.00%
Shqiponja50.0%2.00%
Vllaznia100.0%1.00%60.0%5.00%83.3%30.00%63.2%19.00%50.0%2.00%

Actual Promotion/Relegation Outcomes

Just the teams that actually reached the promotion playoff. With the field fixed in place, the playoff sim re-runs every tie and tallies how often each team won each round — the table gives those probabilities, and the final round's column is the chance of winning the playoff outright. The round buttons switch to heatmaps of how often each pairing met in that round.

Team Finals
Partizani 69.06%
Flamurtari 30.94%
Loser →
↓ Winner
FlamurtariPartizani
Flamurtari30.9%100.00%
Partizani69.1%100.00%

Overall Game Log

Summary of every completed game this season. Sort any column by clicking its header.

Date Opponent ScoreExcitement Pre Elo Opp Elo Win % Tie % Loss %Proj. Margin Elo Δ Points
1948-04-01 17 Nentori W 1-041.2 1620 1354 71.70% 23.28% 5.02%+2.42 +9.1 2
1948-04-01 @ Vllaznia L 0-141.2 1354 1620 5.02% 23.28% 71.70%-2.42 -9.1 0
1948-04-01 Flamurtari W 4-139.6 1263 1293 52.43% 23.97% 23.61%+0.42 +83.3 2
1948-04-01 @ Shqiponja L 1-439.6 1293 1263 23.61% 23.97% 52.43%-0.42 -83.3 0
1948-04-01 8 Nentori W 2-040.2 1416 1427 54.42% 23.95% 21.63%+0.54 +63.4 2
1948-04-01 @ Traktori L 0-240.2 1427 1416 21.63% 23.95% 54.42%-0.54 -63.4 0
1948-04-01 Apolonia D 3-360.8 1323 1301 57.70% 23.91% 18.39%+0.77 -7.4 1
1948-04-01 @ Spartak Kucova D 3-360.8 1301 1323 18.39% 23.91% 57.70%-0.77 +7.4 1
1948-04-01 Spartak Kucova W 3-141.1 1295 1315 53.43% 23.96% 22.61%+0.48 +56.9 2
1948-04-01 @ Tomori L 1-341.1 1315 1295 22.61% 23.96% 53.43%-0.48 -56.9 1
1948-04-08 Flamurtari D 2-256.1 1308 1210 63.77% 23.78% 12.44%+1.28 -12.1 2
1948-04-08 @ Apolonia D 2-256.1 1210 1308 12.44% 23.78% 63.77%-1.28 +12.1 1
1948-04-08 Tomori W 5-351.9 1222 1352 39.59% 23.98% 36.42%-0.27 +70.0 3
1948-04-08 @ Flamurtari L 3-551.9 1352 1222 36.42% 23.98% 39.59%+0.27 -70.0 2
1948-04-08 Spartak Kucova W 6-032.2 1270 1259 56.72% 23.93% 19.36%+0.70 +160.6 2
1948-04-08 @ Bashkimi Elbasanas L 0-632.2 1259 1270 19.36% 23.93% 56.72%-0.70 -160.6 1
1948-04-08 Traktori W 3-148.6 1347 1480 39.21% 23.98% 36.81%-0.29 +83.5 4
1948-04-08 @ Shqiponja L 1-348.6 1480 1347 36.81% 23.98% 39.21%+0.29 -83.5 2
1948-04-15 Vllaznia D 0-057.3 1345 1630 20.41% 23.79% 55.80%-1.31 +11.8 1
1948-04-15 @ 17 Nentori D 0-057.3 1630 1345 55.80% 23.79% 20.41%+1.31 -11.8 3
1948-04-15 Spartak Kucova W 2-031.3 1296 1098 69.18% 23.52% 7.30%+1.96 +24.5 4
1948-04-15 @ Apolonia L 0-231.3 1098 1296 7.30% 23.52% 69.18%-1.96 -24.5 1
1948-04-15 Traktori D 0-051.0 1364 1396 52.14% 23.97% 23.89%+0.40 -9.2 1
1948-04-15 @ 8 Nentori D 0-051.0 1396 1364 23.89% 23.97% 52.14%-0.40 +9.2 3
1948-04-15 Shqiponja W 5-039.4 1292 1430 38.45% 23.98% 37.57%-0.32 +229.0 5
1948-04-15 @ Flamurtari L 0-539.4 1430 1292 37.57% 23.98% 38.45%+0.32 -229.0 4
1948-04-15 Tomori D 2-255.7 1073 1282 28.95% 23.92% 47.13%-0.80 +3.8 2
1948-04-15 @ Spartak Kucova D 2-255.7 1282 1073 47.13% 23.92% 28.95%+0.80 -3.8 3
1948-04-22 Vllaznia L 2-555.4 1414 1618 29.54% 23.92% 46.54%-0.77 -86.2 0
1948-04-22 @ Besa W 5-255.4 1618 1414 46.54% 23.92% 29.54%+0.77 +86.2 5
1948-04-22 Red Star Durres W 1-040.1 1357 1379 53.20% 23.96% 22.84%+0.46 +35.1 3
1948-04-22 @ 17 Nentori L 0-140.1 1379 1357 22.84% 23.96% 53.20%-0.46 -35.1 0
1948-04-22 Vllaznia W 1-059.8 1563 1704 38.07% 23.98% 37.96%-0.34 +52.3 2
1948-04-22 @ Partizani L 0-159.8 1704 1563 37.96% 23.98% 38.07%+0.34 -52.3 5
1948-04-22 Traktori W 4-143.2 1320 1405 45.76% 23.99% 30.25%+0.04 +101.5 6
1948-04-22 @ Apolonia L 1-443.2 1405 1320 30.25% 23.99% 45.76%-0.04 -101.5 3
1948-04-22 Shqiponja D 2-256.3 1355 1201 67.08% 23.65% 9.27%+1.66 -13.9 2
1948-04-22 @ 8 Nentori D 2-256.3 1201 1355 9.27% 23.65% 67.08%-1.66 +13.9 5
1948-04-22 Bashkimi Elbasanas D 1-159.5 1521 1431 63.16% 23.80% 13.04%+1.22 -15.7 6
1948-04-22 @ Flamurtari D 1-159.5 1431 1521 13.04% 23.80% 63.16%-1.22 +15.7 3
1948-04-22 Tomori W 2-140.8 1304 1278 58.02% 23.91% 18.07%+0.79 +27.3 5
1948-04-22 @ Traktori L 1-240.8 1278 1304 18.07% 23.91% 58.02%-0.79 -27.3 3
1948-04-29 Besa FL51.8 1534 1328 69.52% 23.49% 6.98%+2.01 +0.0 0
1948-04-29 @ Dinamo Korca FW51.8 1328 1534 6.98% 23.49% 69.52%-2.01 +0.0 2
1948-04-29 Partizani L 0-257.9 1534 1615 46.21% 23.99% 29.80%+0.06 -115.7 0
1948-04-29 @ Dinamo Korca W 2-057.9 1615 1534 29.80% 23.99% 46.21%-0.06 +115.7 4
1948-04-29 8 Nentori W 5-137.8 1505 1341 67.60% 23.62% 8.77%+1.73 +45.9 8
1948-04-29 @ Flamurtari L 1-537.8 1341 1505 8.77% 23.62% 67.60%-1.73 -45.9 2
1948-04-29 Apolonia W 3-144.2 1447 1422 57.94% 23.91% 18.15%+0.78 +47.5 5
1948-04-29 @ Bashkimi Elbasanas L 1-344.2 1422 1447 18.15% 23.91% 57.94%-0.78 -47.5 6
1948-04-29 Shqiponja W 3-250.3 1077 1215 38.56% 23.98% 37.46%-0.32 +46.3 4
1948-04-29 @ Spartak Kucova L 2-350.3 1215 1077 37.46% 23.98% 38.56%+0.32 -46.3 5
1948-04-29 Bashkimi Elbasanas L 0-239.0 1251 1494 24.78% 23.87% 51.35%-1.03 -70.6 3
1948-04-29 @ Tomori W 2-039.0 1494 1251 51.35% 23.87% 24.78%+1.03 +70.6 7
1948-05-06 17 Nentori D 0-050.6 1344 1392 50.36% 23.98% 25.66%+0.29 -8.0 1
1948-05-06 @ Red Star Durres D 0-050.6 1392 1344 25.66% 23.98% 50.36%-0.29 +8.0 4
1948-05-06 Besa W 6-035.9 1652 1328 73.31% 23.04% 3.65%+2.81 +35.2 7
1948-05-06 @ Vllaznia L 0-635.9 1328 1652 3.65% 23.04% 73.31%-2.81 -35.2 2
1948-05-06 Partizani W 4-158.6 1687 1731 50.79% 23.98% 25.23%+0.32 +87.9 9
1948-05-06 @ Vllaznia L 1-458.6 1731 1687 25.23% 23.98% 50.79%-0.32 -87.9 4
1948-05-06 Flamurtari W 1-050.6 1565 1551 56.93% 23.92% 19.14%+0.71 +30.4 9
1948-05-06 @ Bashkimi Elbasanas L 0-150.6 1551 1565 19.14% 23.92% 56.93%-0.71 -30.4 8
1948-05-06 8 Nentori D 2-255.9 1169 1295 40.17% 23.98% 35.85%-0.24 -0.9 6
1948-05-06 @ Shqiponja D 2-255.9 1295 1169 35.85% 23.98% 40.17%+0.24 +0.9 3
1948-05-06 Apolonia L 2-454.6 1331 1374 50.88% 23.97% 25.15%+0.32 -97.6 5
1948-05-06 @ Traktori W 4-254.6 1374 1331 25.15% 23.97% 50.88%-0.32 +97.6 8
1948-05-06 Traktori W 2-142.7 1180 1234 49.69% 23.98% 26.33%+0.25 +37.1 5
1948-05-06 @ Tomori L 1-242.7 1234 1180 26.33% 23.98% 49.69%-0.25 -37.1 5
1948-05-13 Red Star Durres W 2-043.1 1775 1336 75.59% 22.48% 1.94%+3.59 +6.8 11
1948-05-13 @ Vllaznia L 0-243.1 1336 1775 1.94% 22.48% 75.59%-3.59 -6.8 1
1948-05-13 Apolonia W 6-247.8 1520 1472 59.99% 23.88% 16.13%+0.94 +66.6 10
1948-05-13 @ Flamurtari L 2-647.8 1472 1520 16.13% 23.88% 59.99%-0.94 -66.6 8
1948-05-13 Shqiponja L 1-350.9 1196 1168 58.29% 23.91% 17.80%+0.81 -124.4 5
1948-05-13 @ Traktori W 3-150.9 1168 1196 17.80% 23.91% 58.29%-0.81 +124.4 8
1948-05-13 Bashkimi Elbasanas L 1-436.1 1124 1595 7.76% 23.21% 69.03%-2.58 -31.5 4
1948-05-13 @ Spartak Kucova W 4-136.1 1595 1124 69.03% 23.21% 7.76%+2.58 +31.5 11
1948-05-13 Flamurtari D 0-052.0 1217 1587 13.32% 23.57% 63.11%-1.89 +17.4 6
1948-05-13 @ Tomori D 0-052.0 1587 1217 63.11% 23.57% 13.32%+1.89 -17.4 11
1948-05-20 Dinamo Korca W 1-042.6 1329 1418 45.28% 23.99% 30.73%+0.02 +44.5 3
1948-05-20 @ Red Star Durres L 0-142.6 1418 1329 30.73% 23.99% 45.28%-0.02 -44.5 0
1948-05-20 Bashkimi Elbasanas D 1-158.4 1292 1627 15.94% 23.67% 60.39%-1.65 +13.7 9
1948-05-20 @ Shqiponja D 1-158.4 1627 1292 60.39% 23.67% 15.94%+1.65 -13.7 12
1948-05-20 Flamurtari D 2-257.1 1072 1570 6.74% 23.11% 70.15%-2.76 +15.6 6
1948-05-20 @ Traktori D 2-257.1 1570 1072 70.15% 23.11% 6.74%+2.76 -15.6 12
1948-05-20 8 Nentori L 1-342.3 1092 1296 29.56% 23.92% 46.51%-0.76 -70.4 4
1948-05-20 @ Spartak Kucova W 3-142.3 1296 1092 46.51% 23.92% 29.56%+0.76 +70.4 5
1948-05-20 Apolonia L 1-246.0 1235 1406 33.91% 23.96% 42.13%-0.54 -45.2 6
1948-05-20 @ Tomori W 2-146.0 1406 1235 42.13% 23.96% 33.91%+0.54 +45.3 10
1948-05-27 17 Nentori L 1-249.3 1292 1400 42.80% 23.99% 33.22%-0.11 -54.2 2
1948-05-27 @ Besa W 2-149.3 1400 1292 33.22% 23.99% 42.80%+0.11 +54.2 6
1948-05-27 17 Nentori W 4-147.5 1643 1454 68.79% 23.55% 7.67%+1.90 +31.4 6
1948-05-27 @ Partizani L 1-447.5 1454 1643 7.67% 23.55% 68.79%-1.90 -31.4 6
1948-05-27 Vllaznia L 1-253.0 1374 1782 10.90% 23.45% 65.65%-2.15 -17.5 0
1948-05-27 @ Dinamo Korca W 2-153.0 1782 1374 65.65% 23.45% 10.90%+2.15 +17.5 13
1948-05-27 8 Nentori D 1-155.4 1451 1366 62.80% 23.81% 13.39%+1.19 -15.5 11
1948-05-27 @ Apolonia D 1-155.4 1366 1451 13.39% 23.81% 62.80%-1.19 +15.5 6
1948-05-27 Tomori W 5-133.4 1382 1190 68.93% 23.54% 7.53%+1.92 +39.9 8
1948-05-27 @ 8 Nentori L 1-533.4 1190 1382 7.53% 23.54% 68.93%-1.92 -39.9 6
1948-05-27 Spartak Kucova W 9-027.0 1554 1022 76.91% 21.93% 1.16%+4.22 +16.4 14
1948-05-27 @ Flamurtari L 0-927.0 1022 1554 1.16% 21.93% 76.91%-4.22 -16.4 4
1948-05-27 Traktori W 6-131.1 1613 1088 76.83% 21.97% 1.20%+4.18 +8.1 14
1948-05-27 @ Bashkimi Elbasanas L 1-631.1 1088 1613 1.20% 21.97% 76.83%-4.18 -8.0 6
1948-06-03 17 Nentori FL49.6 1356 1423 48.08% 23.99% 27.93%+0.16 +0.0 0
1948-06-03 @ Dinamo Korca FW49.6 1423 1356 27.93% 23.99% 48.08%-0.16 +0.0 8
1948-06-03 Besa W 6-133.4 1374 1238 66.08% 23.70% 10.22%+1.54 +64.5 5
1948-06-03 @ Red Star Durres L 1-633.4 1238 1374 10.22% 23.70% 66.08%-1.54 -64.5 2
1948-06-03 Partizani D 1-165.3 1438 1674 25.63% 23.88% 50.49%-0.98 +7.2 6
1948-06-03 @ Red Star Durres D 1-165.3 1674 1438 50.49% 23.88% 25.63%+0.98 -7.2 7
1948-06-03 8 Nentori W 5-039.5 1621 1422 69.25% 23.52% 7.24%+1.97 +56.9 16
1948-06-03 @ Bashkimi Elbasanas L 0-539.5 1422 1621 7.24% 23.52% 69.25%-1.97 -56.9 8
1948-06-03 Apolonia L 0-145.2 1306 1435 39.73% 23.98% 36.29%-0.26 -54.2 9
1948-06-03 @ Shqiponja W 1-045.2 1435 1306 36.29% 23.98% 39.73%+0.26 +54.2 13
1948-06-03 Traktori L 1-347.5 1005 1080 47.14% 23.99% 28.87%+0.11 -101.9 4
1948-06-03 @ Spartak Kucova W 3-147.5 1080 1005 28.87% 23.99% 47.14%-0.11 +101.9 8
1948-06-03 Shqiponja L 0-242.3 1150 1252 43.51% 23.99% 32.50%-0.08 -110.0 6
1948-06-03 @ Tomori W 2-042.3 1252 1150 32.50% 23.99% 43.51%+0.08 +110.0 11
1948-06-10 Red Star Durres FL50.1 1356 1446 45.16% 23.99% 30.85%+0.01 +0.0 0
1948-06-10 @ Dinamo Korca FW50.1 1446 1356 30.85% 23.99% 45.16%-0.01 +0.0 8
1948-06-10 Partizani L 0-133.9 1174 1667 6.89% 23.12% 69.99%-2.73 -12.2 2
1948-06-10 @ Besa W 1-033.9 1667 1174 69.99% 23.12% 6.89%+2.73 +12.2 9
1948-06-10 Besa W 6-133.9 1679 1162 76.73% 22.02% 1.25%+4.13 +8.4 11
1948-06-10 @ Partizani L 1-633.9 1162 1679 1.25% 22.02% 76.73%-4.13 -8.4 2
1948-06-10 Tomori W 4-027.1 1489 1040 75.76% 22.41% 1.82%+3.67 +12.1 15
1948-06-10 @ Apolonia L 0-427.1 1040 1489 1.82% 22.41% 75.76%-3.67 -12.0 6
1948-06-10 Spartak Kucova W 4-237.5 1365 903 75.94% 22.35% 1.71%+3.74 +4.6 10
1948-06-10 @ 8 Nentori L 2-437.5 903 1365 1.71% 22.35% 75.94%-3.74 -4.6 4
1948-06-10 Traktori W 5-133.6 1570 1182 74.71% 22.74% 2.55%+3.25 +14.1 16
1948-06-10 @ Flamurtari L 1-533.6 1182 1570 2.55% 22.74% 74.71%-3.25 -14.1 8
1948-06-10 Shqiponja D 2-267.3 1678 1362 73.12% 23.07% 3.81%+2.76 -17.5 17
1948-06-10 @ Bashkimi Elbasanas D 2-267.3 1362 1678 3.81% 23.07% 73.12%-2.76 +17.5 12
1948-06-17 Dinamo Korca D 1-151.8 1153 1356 29.66% 23.92% 46.42%-0.76 +4.7 3
1948-06-17 @ Besa D 1-151.8 1356 1153 46.42% 23.92% 29.66%+0.76 -4.7 1
1948-06-17 Dinamo Korca W 7-038.2 1688 1351 73.61% 22.99% 3.41%+2.90 +38.1 13
1948-06-17 @ Partizani L 0-738.2 1351 1688 3.41% 22.99% 73.61%-2.90 -38.1 1
1948-06-17 Bashkimi Elbasanas D 1-166.7 1502 1661 35.53% 23.97% 40.50%-0.46 +1.4 16
1948-06-17 @ Apolonia D 1-166.7 1661 1502 40.50% 23.97% 35.53%+0.46 -1.4 18
1948-06-17 Flamurtari L 1-448.6 1369 1584 28.14% 23.91% 47.96%-0.84 -95.8 10
1948-06-17 @ 8 Nentori W 4-148.6 1584 1369 47.96% 23.91% 28.14%+0.84 +95.8 18
1948-06-17 Tomori D 3-362.2 1659 1028 78.05% 21.28% 0.67%+4.90 -16.4 19
1948-06-17 @ Bashkimi Elbasanas D 3-362.2 1028 1659 0.67% 21.28% 78.05%-4.90 +16.4 7
1948-06-17 Spartak Kucova W 7-026.0 1379 899 76.22% 22.24% 1.54%+3.87 +17.2 14
1948-06-17 @ Shqiponja L 0-726.0 899 1379 1.54% 22.24% 76.22%-3.87 -17.2 4
1948-06-24 Besa W 3-135.4 1423 1158 71.65% 23.29% 5.06%+2.41 +15.1 10
1948-06-24 @ 17 Nentori L 1-335.4 1158 1423 5.06% 23.29% 71.65%-2.41 -15.0 3
1948-06-24 Partizani L 1-256.0 1438 1726 20.06% 23.78% 56.16%-1.34 -29.7 10
1948-06-24 @ 17 Nentori W 2-156.0 1726 1438 56.16% 23.78% 20.06%+1.34 +29.7 15
1948-06-24 Dinamo Korca W 4-145.8 1799 1313 76.30% 22.21% 1.49%+3.91 +6.4 15
1948-06-24 @ Vllaznia L 1-445.8 1313 1799 1.49% 22.21% 76.30%-3.91 -6.4 1
1948-06-24 Apolonia D 0-051.3 1274 1503 26.41% 23.89% 49.70%-0.94 +7.5 11
1948-06-24 @ 8 Nentori D 0-051.3 1503 1274 49.70% 23.89% 26.41%+0.94 -7.5 17
1948-06-24 Bashkimi Elbasanas L 0-136.7 1167 1643 7.60% 23.20% 69.20%-2.61 -13.4 8
1948-06-24 @ Traktori W 1-036.7 1643 1167 69.20% 23.20% 7.60%+2.61 +13.4 21
1948-06-24 Flamurtari L 1-234.9 882 1680 1.29% 21.43% 77.28%-4.80 -2.2 4
1948-06-24 @ Spartak Kucova W 2-134.9 1680 882 77.28% 21.43% 1.29%+4.80 +2.2 20
1948-06-24 8 Nentori L 0-236.8 1044 1281 25.50% 23.88% 50.62%-0.99 -72.3 7
1948-06-24 @ Tomori W 2-036.8 1281 1044 50.62% 23.88% 25.50%+0.99 +72.3 13
1948-07-01 Red Star Durres L 0-333.9 1143 1446 18.68% 23.75% 57.57%-1.44 -81.3 3
1948-07-01 @ Besa W 3-033.9 1446 1143 57.57% 23.75% 18.68%+1.44 +81.3 10
1948-07-01 Dinamo Korca W 1-036.5 1408 1307 63.95% 23.78% 12.27%+1.30 +20.8 12
1948-07-01 @ 17 Nentori L 0-136.5 1307 1408 12.27% 23.78% 63.95%-1.30 -20.8 1
1948-07-01 Red Star Durres W 9-046.0 1756 1527 70.42% 23.42% 6.17%+2.17 +85.7 17
1948-07-01 @ Partizani L 0-946.0 1527 1756 6.17% 23.42% 70.42%-2.17 -85.7 10
1948-07-01 Shqiponja W 4-036.2 1495 1396 63.82% 23.78% 12.40%+1.29 +75.0 19
1948-07-01 @ Apolonia L 0-436.2 1396 1495 12.40% 23.78% 63.82%-1.29 -75.0 14
1948-07-01 Bashkimi Elbasanas W 2-056.6 1353 1656 18.68% 23.75% 57.57%-1.44 +141.6 15
1948-07-01 @ 8 Nentori L 0-256.6 1656 1353 57.57% 23.75% 18.68%+1.44 -141.6 21
1948-07-01 Tomori W 3-028.2 1321 972 73.90% 22.93% 3.17%+2.99 +16.0 16
1948-07-01 @ Shqiponja L 0-328.2 972 1321 3.17% 22.93% 73.90%-2.99 -16.0 7
1948-07-01 Spartak Kucova W 5-236.6 1154 879 71.96% 23.25% 4.79%+2.48 +17.5 10
1948-07-01 @ Traktori L 2-536.6 879 1154 4.79% 23.25% 71.96%-2.48 -17.5 4
1948-08-25 Vllaznia L 1-255.9 1441 1805 13.70% 23.59% 62.71%-1.85 -21.5 10
1948-08-25 @ Red Star Durres W 2-155.9 1805 1441 62.71% 23.59% 13.70%+1.85 +21.4 17

Playoff Game Log

Every playoff game for the team selected at the top of the tab (empty if they didn't reach the postseason). Sort any column by clicking its header. @ before an opponent name indicates an away game; the record column shows the team's running playoff record.

Date Opponent ScoreExcitement Pre Elo Opp Elo Win % Tie % Loss %Proj. Margin Elo Δ Record
1948-08-25 Flamurtari W 6-258.5 1841 1682 57.29% 23.85% 18.86%+1.08 +75.8 1-0
1948-08-25 @ Partizani L 2-658.5 1682 1841 18.86% 23.85% 57.29%-1.08 -75.8 0-1

Biggest Upsets

The 25 games where the underdog won despite the lowest pregame win probability. Underdog Win % is the winner's pregame chance of winning the game (lower = bigger upset). @ before a team name indicates the away side. An asterisk (*) after the date marks a playoff game.

# Date Underdog Win % Winning Team Losing Team
Team Elo Score Team Elo Score
1 1948-05-13 17.80% Shqiponja 1168 3 @ Traktori 1196 1
2 1948-07-01 18.68% @ 8 Nentori 1353 2 Bashkimi Elbasanas 1656 0
3 1948-05-06 25.15% Apolonia 1374 4 @ Traktori 1331 2
4 1948-06-03 28.87% Traktori 1080 3 @ Spartak Kucova 1005 1
5 1948-04-29 29.80% Partizani 1615 2 @ Dinamo Korca 1534 0
6 1948-06-03 32.50% Shqiponja 1252 2 @ Tomori 1150 0
7 1948-05-27 33.22% 17 Nentori 1400 2 @ Besa 1292 1
8 1948-06-03 36.29% Apolonia 1435 1 @ Shqiponja 1306 0

Biggest Elo Changes

The 25 games that resulted in the largest shift in Elo rating.

# Date Elo Δ Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 1948-04-15 229.02 @ Flamurtari 5 1292 38.45% Shqiponja 0 1430 37.57% 23.98%
2 1948-04-08 160.60 @ Bashkimi Elbasanas 6 1270 56.72% Spartak Kucova 0 1259 19.36% 23.93%
3 1948-07-01 141.63 @ 8 Nentori 2 1353 18.68% Bashkimi Elbasanas 0 1656 57.57% 23.75%
4 1948-05-13 124.42 Shqiponja 3 1168 17.80% @ Traktori 1 1196 58.29% 23.91%
5 1948-04-29 115.71 Partizani 2 1615 29.80% @ Dinamo Korca 0 1534 46.21% 23.99%
6 1948-06-03 109.99 Shqiponja 2 1252 32.50% @ Tomori 0 1150 43.51% 23.99%
7 1948-06-03 101.94 Traktori 3 1080 28.87% @ Spartak Kucova 1 1005 47.14% 23.99%
8 1948-04-22 101.48 @ Apolonia 4 1320 45.76% Traktori 1 1405 30.25% 23.99%
9 1948-05-06 97.62 Apolonia 4 1374 25.15% @ Traktori 2 1331 50.88% 23.97%
10 1948-06-17 95.76 Flamurtari 4 1584 47.96% @ 8 Nentori 1 1369 28.14% 23.91%
11 1948-05-06 87.91 @ Vllaznia 4 1687 50.79% Partizani 1 1731 25.23% 23.98%
12 1948-04-22 86.19 Vllaznia 5 1618 46.54% @ Besa 2 1414 29.54% 23.92%
13 1948-07-01 85.68 @ Partizani 9 1756 70.42% Red Star Durres 0 1527 6.17% 23.42%
14 1948-04-08 83.50 @ Shqiponja 3 1347 39.21% Traktori 1 1480 36.81% 23.98%
15 1948-04-01 83.32 @ Shqiponja 4 1263 52.43% Flamurtari 1 1293 23.61% 23.97%
16 1948-07-01 81.29 Red Star Durres 3 1446 57.57% @ Besa 0 1143 18.68% 23.75%
17 1948-08-25 * 75.83 @ Partizani 6 1841 57.29% Flamurtari 2 1682 18.86% 23.85%
18 1948-07-01 75.05 @ Apolonia 4 1495 63.82% Shqiponja 0 1396 12.40% 23.78%
19 1948-06-24 72.28 8 Nentori 2 1281 50.62% @ Tomori 0 1044 25.50% 23.88%
20 1948-04-29 70.63 Bashkimi Elbasanas 2 1494 51.35% @ Tomori 0 1251 24.78% 23.87%
21 1948-05-20 70.42 8 Nentori 3 1296 46.51% @ Spartak Kucova 1 1092 29.56% 23.92%
22 1948-04-08 70.00 @ Flamurtari 5 1222 39.59% Tomori 3 1352 36.42% 23.98%
23 1948-05-13 66.57 @ Flamurtari 6 1520 59.99% Apolonia 2 1472 16.13% 23.88%
24 1948-06-03 64.54 @ Red Star Durres 6 1374 66.08% Besa 1 1238 10.22% 23.70%
25 1948-04-01 63.35 @ Traktori 2 1416 54.42% 8 Nentori 0 1427 21.63% 23.95%

Most & Least Exciting Games

The season’s games ranked by excitement rating (0–100) — a blend of closeness, upset, team quality, and scoring. An asterisk (*) after the date indicates a playoff game.

# Date Excitement Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 1948-06-10 67.3 @ Bashkimi Elbasanas 2 1678 73.12% Shqiponja 2 1362 3.81% 23.07%
2 1948-06-17 66.7 @ Apolonia 1 1502 35.53% Bashkimi Elbasanas 1 1661 40.50% 23.97%
3 1948-06-03 65.3 @ Red Star Durres 1 1438 25.63% Partizani 1 1674 50.49% 23.88%
4 1948-06-17 62.2 @ Bashkimi Elbasanas 3 1659 78.05% Tomori 3 1028 0.67% 21.28%
5 1948-04-01 60.8 @ Spartak Kucova 3 1323 57.70% Apolonia 3 1301 18.39% 23.91%
6 1948-04-22 59.8 @ Partizani 1 1563 38.07% Vllaznia 0 1704 37.96% 23.98%
7 1948-04-22 59.5 @ Flamurtari 1 1521 63.16% Bashkimi Elbasanas 1 1431 13.04% 23.80%
8 1948-05-06 58.6 @ Vllaznia 4 1687 50.79% Partizani 1 1731 25.23% 23.98%
9 1948-08-25 * 58.5 @ Partizani 6 1841 57.29% Flamurtari 2 1682 18.86% 23.85%
10 1948-05-20 58.4 @ Shqiponja 1 1292 15.94% Bashkimi Elbasanas 1 1627 60.39% 23.67%
11 1948-04-29 57.9 Partizani 2 1615 29.80% @ Dinamo Korca 0 1534 46.21% 23.99%
12 1948-04-15 57.3 @ 17 Nentori 0 1345 20.41% Vllaznia 0 1630 55.80% 23.79%
13 1948-05-20 57.1 @ Traktori 2 1072 6.74% Flamurtari 2 1570 70.15% 23.11%
14 1948-07-01 56.6 @ 8 Nentori 2 1353 18.68% Bashkimi Elbasanas 0 1656 57.57% 23.75%
15 1948-04-22 56.3 @ 8 Nentori 2 1355 67.08% Shqiponja 2 1201 9.27% 23.65%
16 1948-04-08 56.1 @ Apolonia 2 1308 63.77% Flamurtari 2 1210 12.44% 23.78%
17 1948-06-24 56.0 Partizani 2 1726 56.16% @ 17 Nentori 1 1438 20.06% 23.78%
18 1948-05-06 55.9 @ Shqiponja 2 1169 40.17% 8 Nentori 2 1295 35.85% 23.98%
19 1948-08-25 55.9 Vllaznia 2 1805 62.71% @ Red Star Durres 1 1441 13.70% 23.59%
20 1948-04-15 55.7 @ Spartak Kucova 2 1073 28.95% Tomori 2 1282 47.13% 23.92%
21 1948-04-22 55.4 Vllaznia 5 1618 46.54% @ Besa 2 1414 29.54% 23.92%
22 1948-05-27 55.4 @ Apolonia 1 1451 62.80% 8 Nentori 1 1366 13.39% 23.81%
23 1948-05-06 54.6 Apolonia 4 1374 25.15% @ Traktori 2 1331 50.88% 23.97%
24 1948-05-27 53.0 Vllaznia 2 1782 65.65% @ Dinamo Korca 1 1374 10.90% 23.45%
25 1948-05-13 52.0 @ Tomori 0 1217 13.32% Flamurtari 0 1587 63.11% 23.57%
# Date Excitement Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 1948-06-17 26.0 @ Shqiponja 7 1379 76.22% Spartak Kucova 0 899 1.54% 22.24%
2 1948-05-27 27.0 @ Flamurtari 9 1554 76.91% Spartak Kucova 0 1022 1.16% 21.93%
3 1948-06-10 27.1 @ Apolonia 4 1489 75.76% Tomori 0 1040 1.82% 22.41%
4 1948-07-01 28.2 @ Shqiponja 3 1321 73.90% Tomori 0 972 3.17% 22.93%
5 1948-05-27 31.1 @ Bashkimi Elbasanas 6 1613 76.83% Traktori 1 1088 1.20% 21.97%
6 1948-04-15 31.3 @ Apolonia 2 1296 69.18% Spartak Kucova 0 1098 7.30% 23.52%
7 1948-04-08 32.2 @ Bashkimi Elbasanas 6 1270 56.72% Spartak Kucova 0 1259 19.36% 23.93%
8 1948-05-27 33.4 @ 8 Nentori 5 1382 68.93% Tomori 1 1190 7.53% 23.54%
9 1948-06-03 33.4 @ Red Star Durres 6 1374 66.08% Besa 1 1238 10.22% 23.70%
10 1948-06-10 33.6 @ Flamurtari 5 1570 74.71% Traktori 1 1182 2.55% 22.74%
11 1948-06-10 33.9 @ Partizani 6 1679 76.73% Besa 1 1162 1.25% 22.02%
12 1948-07-01 33.9 Red Star Durres 3 1446 57.57% @ Besa 0 1143 18.68% 23.75%
13 1948-06-24 34.9 Flamurtari 2 1680 77.28% @ Spartak Kucova 1 882 1.29% 21.43%
14 1948-06-24 35.4 @ 17 Nentori 3 1423 71.65% Besa 1 1158 5.06% 23.29%
15 1948-05-06 35.9 @ Vllaznia 6 1652 73.31% Besa 0 1328 3.65% 23.04%
16 1948-05-13 36.1 Bashkimi Elbasanas 4 1595 69.03% @ Spartak Kucova 1 1124 7.76% 23.21%
17 1948-07-01 36.2 @ Apolonia 4 1495 63.82% Shqiponja 0 1396 12.40% 23.78%
18 1948-07-01 36.5 @ 17 Nentori 1 1408 63.95% Dinamo Korca 0 1307 12.27% 23.78%
19 1948-07-01 36.6 @ Traktori 5 1154 71.96% Spartak Kucova 2 879 4.79% 23.25%
20 1948-06-24 36.7 Bashkimi Elbasanas 1 1643 69.20% @ Traktori 0 1167 7.60% 23.20%
21 1948-06-24 36.8 8 Nentori 2 1281 50.62% @ Tomori 0 1044 25.50% 23.88%
22 1948-06-10 37.3 Partizani 1 1667 69.99% @ Besa 0 1174 6.89% 23.12%
23 1948-06-10 37.5 @ 8 Nentori 4 1365 75.94% Spartak Kucova 2 903 1.71% 22.35%
24 1948-04-29 37.8 @ Flamurtari 5 1505 67.60% 8 Nentori 1 1341 8.77% 23.62%
25 1948-06-17 38.2 @ Partizani 7 1688 73.61% Dinamo Korca 0 1351 3.41% 22.99%