Back to Football

Italy · Serie A

Top-4 finishes
1

Power-ranking history

Hover a season for its rank and score
Rank (1 = best)1630Score (per-season normalised)0.00.51.059/6069/7079/8089/9099/0009/1019/20

Against expectation

Every Italian top-flight match this club has played in the Serie A, scored against the odds an Elo rating gave it before kick-off. Over 19 seasons from 1951-52 to 2019-20 it has fallen short of them by 10.8 match points.

SPAL 1907 Ferrara: surplus against expectation, 1951-52 to 2019-201951-52: +0.9 league points vs expected (37 on 36.1, 2 for a win) · bar height +0.4 match points1952-53: +1.7 league points vs expected (32 on 30.3, 2 for a win) · bar height +0.8 match points1953-54: −5.3 league points vs expected (26 on 31.3, 2 for a win) · bar height −2.6 match points1954-55: −4.9 league points vs expected (23 on 27.9, 2 for a win) · bar height −2.4 match points1955-56: +4.0 league points vs expected (33 on 29.0, 2 for a win) · bar height +2.0 match points1956-57: +3.4 league points vs expected (33 on 29.6, 2 for a win) · bar height +1.7 match points1957-58: +0.2 league points vs expected (30 on 29.8, 2 for a win) · bar height +0.1 match points1958-59: −3.0 league points vs expected (26 on 29.0, 2 for a win) · bar height −1.5 match points1959-60: +5.6 league points vs expected (36 on 30.4, 2 for a win) · bar height +2.8 match points1960-61: −0.2 league points vs expected (30 on 30.2, 2 for a win) · bar height −0.1 match points1961-62: −2.9 league points vs expected (27 on 29.9, 2 for a win) · bar height −1.4 match points1962-63: +3.6 league points vs expected (34 on 30.4, 2 for a win) · bar height +1.8 match points1963-64: −5.8 league points vs expected (24 on 29.8, 2 for a win) · bar height −2.9 match points1965-66: −1.2 league points vs expected (28 on 29.2, 2 for a win) · bar height −0.6 match points1966-67: −0.0 league points vs expected (29 on 29.0, 2 for a win) · bar height −0.0 match points1967-68: −2.2 league points vs expected (22 on 24.2, 2 for a win) · bar height −1.1 match points2017-18: −5.3 league points vs expected (38 on 43.3, 3 for a win) · bar height −1.0 match points2018-19: −0.6 league points vs expected (42 on 42.6, 3 for a win) · bar height −0.2 match points2019-20: −17.5 league points vs expected (20 on 37.5, 3 for a win) · bar height −6.5 match points
1951-52one bar per season · height in match points · hover for that season2019-20
Best season against expectation
1959-60 +5.6 league pts
36 points on 30.4 expected as SPAL 1907 Ferrara
Worst season against expectation
2019-20 17.5 league pts
20 points on 37.5 expected as SPAL 1907 Ferrara

Season points use that season’s own scoring, two for a win before 1994-95 and three from it; the bars use match points so the whole series is comparable.The rating only starts telling you much after about 1960. Before that, knowing the era’s home-and-away split is almost as good as knowing the teams.

Ferrara against expectation →How this is measured →

What the squad was worth

Total market value of the squad, EUR millions, by month; the player count beside it is the size of the priced squad.

How this is measured

Drawn as a step, not a curve: Transfermarkt reprices every squad in December and June (marked with a small tick on the axis) and revalues continuously between, so the line only moves when a real valuation changed, never by interpolation.

A month renders no value at all once the priced squad falls below 15 players, so a thin squad is never shown as a cheap one. The series is floored at July 2012on purpose: earlier Transfermarkt totals reflect which players happened to be priced yet rather than the squad’s real worth, and are excluded rather than shown misleadingly low.

Upstream (dcaribou/transfermarkt-datasets) has been paused since July 2026, so the series ends where the source ends rather than where the season does.

Player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).

What the squad was worth€8m
SPAL: squad value by month, 2018-12 to 2024-120489518-1919-2020-2121-2222-2323-2424-25
Peak
€88m in Oct 2019 · 28 players valued
Most recent
€8m in Dec 2024 · 19 players valued

on the rankings →

The money ledger

Fees paid and received each season, and what the squad was worth once the trading is netted out.

How this is measured

Spent is the fees paid for players arriving, received the fees for players leaving, both in EUR millions by the July-to-June season of the move. A move with no fee on record (a free, a loan, an undisclosed sum) is counted, never priced: the small figure beside each total is the moves with a fee, plus those without (so 4+3 is four priced arrivals and three unpriced), and a quiet window is not mistaken for a cheap one. Wages are not here: they are estimates nobody licenses, and fees are documented.

Appreciationis the season’s change in squad value with the net spend taken out: buy 100m of players and finish 100m higher is zero; finish 120m higher and the club made 20m of players better, or the market repriced them. It needs a priced squad at both ends of the season (the same 15-player floor as the value chart), so it is blank rather than guessed for a season that lacks one.

The source has been paused since 6 July 2026, so the final row holds only the opening days of its window.

Transfer fees and player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).

The money ledger+€11m
Spent
€50m
15 arrivals with a fee
Received
€60m
12 departures with a fee
Net
+€11m
121 moves with no fee
Appreciation
−€63m
5 seasons with a priced squad

Grown or bought: in 2025-26, trading €0m and appreciation . Over the last 5 seasons (2021-222025-26), trading +€23m and appreciation unpriced.

The director’s ledger: 13 arrivals graded since 2022-23, 100% EV-positive. €0m deployed for a 39.1× multiplier.

2025-26 spent received
1 moves, no fee on record
unpriced
2024-25 spent received
3 moves, no fee on record
unpriced
2023-24 spent received €6m
out: Matteo Prati €6m
+€2m
squad gain
2022-23 spent €0m received €4m
in: Giannis Fetfatzidis €0m
−€7m
squad gain
2021-22 spent €5m received €18m
in: Federico Di Francesco €5m
+€2m
squad gain
2020-21 spent €20m received €0m
in: Kevin Bonifazi €11m
−€45m
squad gain
2019-20 spent €22m received €33m
in: Andrea Petagna €12m
−€16m
squad gain
2018-19 spent €3m received
in: Marko Jankovic €2m
unpriced
Show all 12 seasons
2017-18 spent €0m received
in: Sauli Väisänen €0m
unpriced
2016-17 spent received
7 moves, no fee on record
unpriced
2015-16 spent received
2 moves, no fee on record
unpriced
2013-14 spent received
1 moves, no fee on record
unpriced

Money against football

Every priced club-season in the six leagues: points against expectation across, squad value gained beyond the net spend up. This club’s seasons are joined.

Tap or drag on the plot: the nearest club-season, its points and its money.

the frontier: no other club-season beat it on both axes · this club, season by season, the largest dot the latest

Every club’s return on the transfer window →

Greatest games

Spal's top matches by the club Game Score: closeness, stakes, quality and upset over one unified rating of league and European play.All-time board.

#DateStageResultScore
11962-06-21Coppa Italia · FinalNL 1-2 v SSC Napoligame score 63.7
21953-05-03Serie AAW 1-0 v Atalantagame score 60.8
31954-05-09Serie AHL 0-1 v Palermogame score 60.5
41954-03-28Serie AHL 2-3 v Torino FCgame score 59.7
51954-04-25Serie AHL 0-1 v Laziogame score 58.4
61954-04-04Serie AAW 1-0 v Atalantagame score 57.5
71959-04-26Serie AAW 2-1 v Fiorentinagame score 56.7
81958-05-25Serie AHW 2-1 v Atalantagame score 55.8
91957-05-19Serie AHL 1-2 v Genoagame score 54.6
102019-04-13Serie AHW 2-1 v Juventusgame score 53.3

Footprint

Tiers played
L1
Top-flight (L1) seasons
23
First season
1922
Most recent season
2020

The Heartbreak Index5.3 · #408

The Tortured · Never won it, waiting since 1922

5.3
Heartbreak
#408
of 1,139 clubs
#262
in Football
5.3
agony
The clocks
  • First major trophy since 19226.3
  • Major final appearance since 19623.2
Heaviest wounds

relegated from the top flight, 2020 · relegated from the top flight, 1964 · relegated from the top flight, 1968 · lost the national cup final, 1962

One formula, every club the site covers. See the whole board →

Season-by-season

Most recent season first. Covers Serie A only. Rows tagged "national playoff" are pre-modern formats where the workbook records only playoff participants, not round-robin standings.

2020
Serie A (1) · P20
as SPAL · 38 P · 5-5-28 · 27:77 · -50
20
pts
2019
Serie A (1) · P13
as SPAL · 38 P · 11-9-18 · 44:56 · -12
42
pts
2018
Serie A (1) · P17
as SPAL · 38 P · 8-14-16 · 39:59 · -20
38
pts
1968
Serie A (1) · P14
30 P · 10-2-18 · 24:38 · -14
22
pts
1967
Serie A (1) · P12
34 P · 8-13-13 · 28:36 · -8
29
pts
1966
Serie A (1) · P15
34 P · 9-10-15 · 38:45 · -7
28
pts
1964
Serie A (1) · P17
34 P · 6-12-16 · 28:39 · -11
24
pts
1963
Serie A (1) · P8
34 P · 12-10-12 · 36:38 · -2
34
pts
1962
Serie A (1) · P14
34 P · 9-9-16 · 30:50 · -20
27
pts
Coppa
1961
Serie A (1) · P12
34 P · 10-10-14 · 39:50 · -11
30
pts
1960
Serie A (1) · P5
34 P · 12-12-10 · 45:50 · -5
36
pts
1959
Serie A (1) · P16
34 P · 8-10-16 · 29:48 · -19
26
pts
Show all 23 seasons
1958
Serie A (1) · P12
34 P · 10-10-14 · 32:52 · -20
30
pts
1957
Serie A (1) · P9
34 P · 14-5-15 · 38:47 · -9
33
pts
1956
Serie A (1) · P9
34 P · 10-13-11 · 40:39 · +1
33
pts
1955
Serie A (1) · P17
34 P · 5-13-16 · 24:49 · -25
23
pts
1954
Serie A (1) · P15
34 P · 8-10-16 · 33:53 · -20
26
pts
1953
Serie A (1) · P8
34 P · 8-16-10 · 40:37 · +3
32
pts
1952
Serie A (1) · P9
38 P · 12-13-13 · 52:50 · +2
37
pts
1925
Prima Divisione (1) · P12
as SPAL · 24 P · 7-5-12 · 26:50 · -24
19
pts
1924
Prima Divisione (1) · P10
as SPAL · 22 P · 6-6-10 · 26:44 · -18
18
pts
1923
Prima Divisione (1) · P3
as SPAL · 22 P · 12-6-4 · 37:15 · +22
30
pts
1922
Italian Football Championship (1) · P1
as SPAL · 4 P · 2-1-1 · 8:7 · +1
5
pts
Domestic Cup Finals

Most recent first. Every domestic cup final the club has played, including losses. Scheduled finals (date not yet passed) are flagged.

1962
Coppa Italia
Runner-up