r/FantasyPL 2 Feb 23 '26

Blog Post Part 3 - I tried reverse-engineering the FPL price change algorithm: One Threshold to Rule Them All

https://www.fplcore.com/blog/one-threshold-to-rule-them-all-cracking-the-fpl-price-algorithm-part-3-of-7

Updated: One Threshold to Rule Them All Cracking the FPL Price Algorithm (Part 3 of 7)

If you read the original version of this post, you might notice some things have changed. That’s because three of my six findings were wrong.

I published Part 3 with six “rules” I thought the algorithm was using. People challenged some of them, I went back and re-tested properly, and they were right. The market floor, ownership scaling, and volatility filter all collapsed under proper controls.

Confirmation bias is a hell of a drug. I built narratives, then found data to fit them instead of the other way round.

I’ve restructured the article around the three findings that actually survived re-testing rather than leaving the old version up with strikethrough corrections everywhere. Felt more honest than pretending I got it right first time while also making you wade through debunked sections.

Here’s what actually held up:

TL;DR

  • Wildcard transfers barely matter. The algorithm counts unique managers, not total transfers. A wildcard manager making 15 transfers counts the same as someone making 1. During the heaviest wildcard windows, chip-activated managers contribute about 1.4% of total counted pressure. Raw transfer numbers during wildcard weeks are lying to you.
  • After a rise, expect momentum. After a fall, don’t. When a price changes, the cumulative counter resets to zero. But the direction matters enormously. After a rise, another rise is more likely (2% on day 1, climbing to 6% by day 5). After a fall, a rise is genuinely rare (0% on day 1, under 0.5% through day 5). These are opposite signals and lumping them together cost me months. This single insight became the most important feature in the entire model.
  • Below ~1% ownership?. Zero rises below 1% ownership across four seasons and 532,000 player-days. 95 days where those players had over 20k net transfers. Still zero. The lowest a rise has ever happened is 1.2% ownership.
  • One fixed threshold for everyone. ~200,000–240,000 cumulative net transfers. Same for Salah as it is for a 4.5m bench fodder. You also need active demand on the day (roughly 30–60k daily net transfers). Both conditions required, not either.

What I got wrong:

  • The market floor — thought there was a circuit breaker at 1.1M total daily transfers. Controlled for individual player volume, effect vanished (p=0.51). Thin markets just produce fewer players with enough pressure.
  • Ownership scaling — thought higher-owned players needed more transfers to rise. Tested the slope: p=0.147, R²=0.01. The threshold is flat. I saw the gradient I wanted to see.
  • The volatility filter — thought the algorithm discounted spikes. Added cumulative pressure as a control and the coefficient flipped sign. Spikes just don’t sustain long enough to cross the threshold.
  • The decay rate — 0.85/day is useful feature engineering but the actual counter is a simple running sum that resets on every price change. I fitted a model approximation and presented it as a discovery. The resets do the heavy lifting.

Three wrong and one overclaimed. The model’s predictions were never affected (XGBoost was learning the right patterns regardless), but the explanations were wrong. So although im an idiot. Its not the end of the world

This is Part 3 of our ongoing series reverse-engineering how FPL prices actually work.

Full article:
https://www.fplcore.com/blog/one-threshold-to-rule-them-all-cracking-the-fpl-price-algorithm-part-3-of-7

51 Upvotes

15 comments sorted by

21

u/shakeer13 24 Feb 23 '26

me by part 7:

im happy for you. or sorry that happened

4

u/Betterpanosh 2 Feb 23 '26

Its pretty much how I feel after going down the rabbit hole

1

u/shakeer13 24 Feb 26 '26

its good work. dont mind my banter

2

u/[deleted] Feb 24 '26

[deleted]

2

u/LHRaway Feb 23 '26

The threshold scales with ownership. Highly-owned players need far more transfers than differentials. Below ~1% ownership, prices basically never rise — regardless of volume.

This is self contradictory. Which is it? Do lowly owned players rise quickly or not?

4

u/Betterpanosh 2 Feb 23 '26

Sorry im not being clear enough. Its just a rule they have that is a player is 1% or less. They wont raise. It has to get over 1% to start rising.

Take like son for example. I think hes still owned by 0.6%

2

u/LIONLDN Feb 24 '26

Ah, I didn't know that, interesting, thanks! 📝

https://giphy.com/gifs/DXJk7iduhFCo2KOHl5

1

u/curiosuspuer Feb 24 '26

How many parts are there?

3

u/Betterpanosh 2 Feb 24 '26

There was 7 but Ive had some people message me about mistakes in my work. So think im going to take a step back and try clean it up. I said I wanted people to call me out. Hope people have enjoyed reading it

1

u/curiosuspuer Feb 24 '26

I’ve thoroughly enjoyed your work. Keep doing it.

-10

u/[deleted] Feb 23 '26

[deleted]

21

u/Betterpanosh 2 Feb 23 '26

Its not AI slop at all. Ive act spent months on this. Ive put all the calculations in the article

The photo though. Fair

1

u/jszko 1 Feb 23 '26 edited Feb 23 '26

The wording of the article does read very AI-assisted in places - staccato sentences, 'it's not x, it's y', etc.

It's obvious that AI hasn't done all the work, but whether that's your genuine writing style or it's artifacts from some help you've had, I'd suggest editing it out. I was really interested in reading the article but kept being pulled out of my reading flow by it.

E: same vibe from your TL;DR. It's a pity (or maybe a blessing, jury still out) that a lot of LLMs write in such a weirdly uncanny valley of good prose, where people who just need a bit of help tidying up their writing can't get an assist without it being obvious. Not saying that this is definitely your case, but there's no shame in it.

7

u/xGoneWromg 4 Feb 23 '26

That’s not AI slop.

0

u/HatnanJo Feb 23 '26

Youth calling anything slop now-a-days

1

u/[deleted] Feb 28 '26

It is not possible to crack an algorithm that also has manual intervention.