Documentation
Methodology
FanPanel is a crowd-sourced power ranking. This page documents exactly how a vote becomes a rating, so the numbers can be checked rather than taken on trust.
Current sample: 0 comparisons from 0 voters · Last update pending
The rating system
FanPanel uses standard ELO. Every fan vote is treated as a single match between two clubs. The club picked gains rating points and the club not picked loses the same number of points, so the total rating in the system is conserved.
The expected result for club A against club B is E = 1 / (1 + 10^((Rb − Ra) / 400)), and the rating change is K × (1 − E). The K-factor is fixed at 24. A win against a much higher-rated club therefore moves the table considerably more than a win against a club already rated below you.
Ratings recalculate on every vote. The published table is not an average of opinions; it is the settled state of thousands of pairwise comparisons.
Seed ratings
All 20 clubs began the season with starting ratings derived from pre-season betting odds for the title race, entered manually by an administrator. Seeds only affect the first few hundred votes — once comparison volume builds, the seed's influence is negligible because every subsequent vote adjusts ratings independently of where they started.
There is no automated betting-odds feed and no external data source of any kind. FanPanel contains fan votes and nothing else.
How pairs are selected
Each voting session serves 10 pairs. Candidate pairs are ranked by the absolute difference between the two clubs' current ELO ratings, and the pairs with the smallest gaps are served first. Votes are therefore spent on genuinely uncertain matchups rather than on obvious ones where the outcome adds no information.
A cap on how often any one club can appear stops a session becoming a referendum on two clubs, and no pair is ever repeated within a session. Which club appears on the left or right is randomised on every pair to remove side bias.
Fan versus neutral
Signed-in voters declare a club, or select "Neutral / no club". A vote is counted as neutral for a given matchup when the voter's declared club is not one of the two clubs shown. Anonymous voters have no declared club and are counted as neutral throughout.
The "Neutral voters only" table re-runs the full ELO calculation from scratch over the neutral subset of the vote log. The "Filter by club fanbase" table re-runs it over votes cast only by that club's declared supporters. Both views start from the same seed ratings, so the difference between them is a difference in opinion, not in method.
The disagreement figure on the dashboard is the largest gap between a club's rank in its own fanbase's table and its rank in the neutral table.
Weekly snapshot locking
Ratings move live as votes arrive. The official published ranking is locked every Tuesday at 07:00 UK time — after Monday night fixtures, so a week is never published before the round is complete: the live table at that moment is written to the archive along with the comparison count, voter count and publication timestamp.
Snapshots are immutable at the database level — update and delete are blocked outright, so an archived week cannot be overwritten, recalculated or removed, including by us. Movement arrows on the live table always compare the current live rank with the most recent locked snapshot.
Rate limiting and vote integrity
One completed session per person per day, enforced against both the account and the persistent anonymous ID stored in the browser. A partially finished session can be resumed the same day; once it completes, that identifier cannot start another until the next UK calendar day.
Every vote is logged with its timestamp, anonymous session ID, account ID where present, the account's age in days at the time of the vote, the voter's declared club, the pair shown, the choice made, the position within the session and the referrer source. Nothing is trimmed, so any published figure can be recomputed from the raw log.
The voting window and continuous voting
Voting is continuous. The pool for each published table runs from one Tuesday snapshot to the next, and the ballot stays open the whole time — including while matches are being played. Every vote inside that window carries exactly the same weight, whatever point of the matchweek it was cast in.
That means votes within a single week are not all made on the same information. A vote cast before kick-off on Saturday reflects a different picture to one cast after the last match of the round. FanPanel records the state of play at the moment of every vote — the current matchweek, how many of its fixtures had finished, and whether a match was in progress — so the timing profile of any week can be inspected after the fact.
The consequence is deliberate: the fan table is a rolling measure of sentiment across a week of football, not a single-moment survey. Live ratings are labelled provisional until the Tuesday snapshot locks them.
What FanPanel is not
It is not a prediction market, it carries no betting content, and it is free with no premium tier. Voting requires no account, and no ranking or page is ever placed behind a sign-in.