
Well hello there!
While James has been pumping out content like a madman, I (Joe) have been beavering away on the backend of our website throughout the offseason.
Somebody has to do it.
I’ve refreshed a few of our older, FPL Explained posts, but this is my first new article of the preseason.
Have I still got it? Did I ever have it to begin with?
I’ll offer an optimistic ‘maybe’ to both questions!
This will be our fourth Fantasy Premier League season, here at Full 90 FPL.
We both feel pretty good about our actual content nowadays, although we definitely want to produce more of it this year.
What we also want to do, however, is start providing other useful… stuff, for FPL players. Tools, basically!
We’ve got quite a few ideas bubbling away in our little brains. There’s one we’ve wanted to do for ages now, though, and – with an entire three month offseason – we didn’t really have any excuses not to just pull our fingers out and get it done.
We tried looking for excuses, trust me. There were just weren’t any.
Anyway! That’s all a (typically) long-winded introduction to our big, exciting new reveal – the Full 90 FPL fixture ticker.
Important Update: The fixture ticker is now live. You can find it on our site here.

Yes, yes, I know what you’re going to say:
Can’t you stop blathering on in your introductions, Joe, and just get on with the FPL stuff?
But what you’re also probably saying is:
Why do we need another bloody fixture ticker?!
A fair question, good sir or madam – no doubt about it. You’ve already got the official FPL FDR ratings. Loads of the other FPL blogs have them too.
So, what’s the big idea? Why have we put all these hours (and it did take hours, let me tell you!) into this here fixture ticker of ours? And, what does it offer that the others don’t?
Allow me to tell you!
In all honesty, this is how the whole thing first came about.
We regularly checked the FDR on other sites, like most players. We found ourselves disagreeing with them constantly. So, we decided to make our own.
We actually made the first version of this last season. But it was a very messy Google Sheet, purely for our own use.
Still, despite that messiness, we kept referring to it far more often than we used the other fixture tickers and whatnot.
And it was good to us! We liked our ratings, they worked, and – even if we didn’t always (/usually) pick the right players – we tended to have a good feel for the actual fixtures.
So!
Since we were already using it ourselves, and we wanted to offer some actual tools on the website, we thought we’d add 2 and 2 together, and just build our own, publicly-available, not-completely-messy fixture ticker.
The official FPL FDR is obviously free, but… it’s also pretty rubbish.
I’ve long had a whole litany of problems with it. The one that annoys me most is just how slow they are up to adjust to what’s happening.
We could all see very well that the likes of Man U and Spurs were rubbish last season. But – because they were big names, I suppose – FPL Towers took absolutely forever to actually turn these into relatively easy fixtures.
There are other tickers out there, obviously. But, at many of the major FPL content sites, they’re either completely or partially hidden behind a paywall.
The Full 90 FPL fixture ticker is completely free.
End of!
Just having a generic, overall ‘FDR’ is meaningless. What does it actually indicate?
We’ve split our whole fixture ticker in two. We’ve got one set of attacking fixture difficulty ratings, and one set of defensive ratings.
So, if you want attacking returns you look at the former. If you want a clean sheet, you check the latter.
These are based on completely different sets of scores for each team. Every side in the league has both an attacking and defensive score (more on those shortly).
Back when Ange’s Spurs weren’t all-round terrible, for example, they were very good going forward, and very bad at the back.
Our fixture ticker reflects teams like this, making them hard defensive assignments, and easy sides to attack (and vice versa for the Evertons and Forests of the world).
Being the home team isn’t as meaningful as it used to be, in the Premier League, but it’s still a real thing. We’ve built home advantage into our ratings, as I’ll explain in the next section.
That being said, not all away trips are born equal. Going to Anfield, for example, isn’t the same as popping to Selhurst Park.
So, we’ve also weighted the home advantages that each team enjoys, giving bigger boosts to the teams who tend to have actual ‘fortresses’.
Another bugbear with most FDR tickers… where are the numbers actually coming from?!
We accept that one fixture is a 2/5, and another is a 4/5… but why? What’s that actually based on?
We assume it’s an informed prediction, based on actual stats… but where’s the evidence for this? What are the stats? How did they arrive at that number?
We’re going to be completely transparent about how we arrive at our ratings. It’s all explained in the next section, and in the ticker itself.
We’re definitely opening ourselves up for criticism of our methodology here. You could also just… nick our algorithm, if you wanted to – we can’t stop you!
But, if you see how we actually arrived at our numbers, rather than just vaguely trusting in the magical power of our mystical, secret ‘algorithm’… hopefully you’ll trust our ratings more too!
As noted, one of my biggest problems with the official FDR is how slowly it updates. It often takes forever to reflect what we can see right in front of us.
We want to update our team ratings far more regularly. The fixture ratings will update in turn, and provide more appropriate, relevant predictions.
Obviously, we’re not going to update them every weekend, and become prisoners of the moment.
Our rough plan right now is to do it every month. But, if we find that’s slightly too frequent, with the sample sizes in between updates too short, we might stretch it out just a tad.
Okay, that’s more than enough blahing on about our grand vision.
Let’s get stuck into the nitty gritty of how our fixture ticker actually works.






We’re effectively doing four different scores, for our ticker:
Here are the four algorithms, written out, respectively:
MAX(1, MIN(5, ROUND(Opponent_Defense – Team_Attack + 3 – home modifier, 0)))
MAX(1, MIN(5, ROUND(Opponent_Defense – Team_Attack + 3 + home modifier, 0)))
MAX(1, MIN(5, ROUND(Opponent_Attack – Team_Defense + 3 – home modifier, 0)))
MAX(1, MIN(5, ROUND(Opponent_Attack – Team_Defense + 3 + home modifier, 0)))
Well, that’s technically ‘transparent’.
But – unless you’re a massive spreadsheet nerd – it’s also not useful in any way, shape, or form!
So, what do those algorithms actually mean?
Here are the easy bits:
And the basic structure:
That’s all because, obviously, we’re trying to work out how difficult a fixture is.
So, in both cases, we start with the thing that’s being ‘competed against’ – the opponent’s defence or attack. Then, we subtract the ‘active component’ – the attack or defence of the team in question.
Finally, we have the home/away modifier:
That’s because we’re either removing or adding ‘difficulty’.
If a team is playing at home, their home modifier works to their advantage. It’s a ‘-’ on their FDR.
If they’re playing away, the opponent’s home modifier works to their disadvantage. It becomes a ‘+’ in the algorithm.
And that’s about it!
Personally, I think my explanations were brilliant, completely clear, and could leave no possible room for misunderstanding.
Admittedly, I’m a bit biased.
So, let’s run through a quick example, so you can see our beautiful baby algorithm in action.
Let’s say Arsenal are playing West Ham at home.
Arsenal’s attacking rating is 4/5. West Ham’s defensive rating is 2.5/5. Arsenal’s home advantage is 0.5 (more on that shortly).
We want to use the Attacking, Home formula:
MAX(1, MIN(5, ROUND(Opponent_Defense – Team_Attack + 3 – home modifier, 0)))
In this case, that’s:
MAX(1, MIN(5, ROUND(2.5 – 4 + 3 – 0.5, 0)))
In turn, that’s:
So, Arsenal’s attacking FDR for this home fixture is 2/5.
Which sounds about right, to me!
Ok, this is where the real arguments begin.
The algorithms are all well and good. The actual scores, though, obviously rely on the ratings which get plugged into those algorithms.
Here are those ratings, in full:



The biggest factor by far in our ratings – as you’d probably hope – was stats.
We leaned most heavily on the stats for last season (24-25).
That said, obviously some teams might have gotten unlucky – with injuries, for example. So, we also looked back at the past two seasons’-worth of stats, to better gauge each team’s identity.
Specifically, we focused on both actual Goals For and Against, and Expected Goals For and Against.
James wrote a great summary of these stats, looking at which sides overperformed, underperformed, or… normal-performed, over the past two seasons. It’s broken down into handy tables and everything. You can check that out in full here.
We also, however, exercised a bit of actual, human judgement.
How old-fashioned!
Spurs were rubbish defensively last season, for example. But, they also suffered constant injuries, and had an absolutely suicidally attacking manager in charge.
Thomas Frank isn’t exactly Sean Dyche, but he’s also not Ange, and the chances are the entire defence won’t get injured again.
So, rather than having an absolutely awful defensive rating, we start them out with a 2.5/5. If they’re awful again, we can knock them down. If they’re surprisingly solid,we can bump them down. But, 2.5 feels fair right now.
Likewise, Man U were awful going forward. They did underperform their xG by a ridiculous 9.48 goals, however, and have now added two proven, excellent Premier League attackers in Cunha and Mbeumo.
So, we’ve given them a cautiously optimistic 3/5 attacking rating.
As noted, it’s hard to know what other sites base their FDRs on… since they don’t tell us.
That said, it seems like they either don’t use any home/away modifiers at all, or impose a flat home/away rating on all teams.
We’ve tried to get a little more specific. There are three levels of home advantage in our ratings:
To clarify, those are from better to worse home advantages.



Obviously, if you ever give any ratings for absolutely anything online, you’re opening yourself up to criticism.
Which is fine! I slag off Rotten Tomatoes scores as much as the next guy!
But, James and I have argued back and forth about these ratings, and feel fairly confident at where we’re at right now. I think we’ve got a nice blend of statistical and logical reasoning.
That being said, we’re not omniscient football gurus. That is, we might secretly like to think we are, but we’re not really… probably.
Basically, we’re very open to feedback. If you think we’re way off with our ratings, or we could even just tweak them a little, we’re all ears.
Reddit is the place we check most frequently. But you can comment at the bottom of this page, or find our other social links scattered all over this wee website of ours.
Well, that’s an awful lot of buildup.
Without further ado (he says, after 2,200 words of rambling on), here’s our actual spreadsheet!
These are the attacking scores, for the first half of the season:



And, just for good measure, the defensive scores too:



Isn’t it beautiful?
*Sniff,sniff*
We’re so proud!
Okay, slightly more seriously.
Firstly, we will have the occasional outlier which might need to be manually adjusted.
Right now, however, every single score has come courtesy of the algorithm. And, I must say, I’m pretty pleased with the results.
Secondly, we’ve given the whole first 19 gameweeks here because we all have two sets of chips this season, so it’ll definitely pay to plan ahead.
In our individual gameweek previews, we’ll be focusing on smaller segments – 5-10 gameweeks or so.
Obviously, the ticker is still brand new, and will almost certainly be tweaked as we go along.
Visually, for example, it’s already come leaps and bounds in the past few days alone.
We’ve also been arguing plenty about our team ratings, and they’re still not 100% set in stone.
Firstly, as noted, we are very, very open to feedback.
The ticker will definitely help us with our own content, and we’ll be using it as our primary source in our content the vast majority of the time.
But, also, the whole point of making it into a public tool was to help out FPL players.
So, if you have any suggestions at all, please let us know. That could be about the visuals, team ratings, algorithms, extra features… whatever you like!
Secondly, we do want to make the full spreadsheet publicly available very soon.
For the immediate future, we’ll be using screenshots from the ticker in our preseason content, like we did in this article.
Once everything is completely finalised, however, we’ll be including a link to the Google Sheet… basically everywhere! So, you’ll be able to check it absolutely whenever you like.
TLDR: we made our own FPL FDR fixture ticker.
Again, we know there are plenty of other tickers out there. But:
Hopefully, we’ve either already done all those things, or will achieve them very soon.
To those who stuck it out – thanks for reading this very long, quite detailed piece. We’ve already got plenty of other content to help prep you for the 25/26 season.
We’ve also got more coming! So, follow us on Reddit, or on our various and assorted other social platforms, to stay abreast of all that fun stuff.
Cheers, everybody!
The best free website for FPL tips to beat your friends and win your mini-leagues
Follow us on Twitter for our latest analysis @Full90FPL
Subscribe for weekly deadline reminders, transfer picks, and strategy advice.
You have successfully joined our subscriber list.
© 2025 Full 90 FPL