Spotting player trends

How we read short-term surges and cool-offs with the signals this site already aggregates.

What counts as a trend?

An upward trend means recent production is greater than an earlier window once you control for injuries, rotation blanks, or one-off outliers. The opposite reads as downward momentum—not always “sell now,” but evidence you should reconcile with fixtures, penalties, substitutes, expected minutes (xMinutes), eye tests, etc.

Historical coverage for 2026/27: 1236 stored rows · last ingest 2026-09-02 16:04:20 · 1236 player-GW totals in aggregate list.

Upward pattern checklist

  1. Recent gameweeks average noticeably above the preceding block (Δ avg ≥ +1½–2 pts begins to matter; bigger gaps are stronger).
  2. Minute volumes stay credible (not one fluke cameo)—we currently require summed minutes ≥ 150 across the freshest block vs ≥ 90 in the prior block.
  3. Confirm with upcoming fixture cluster (FDR, rest, comps) so you are not chasing a cliff.

Downward pattern checklist

  1. Trailing block averages drop vs the preceding block—a soft warning if minutes also fell (bench risk, tactical shift, recurring knocks).
  2. Contrast FPL snapshot Form with PPG: when form − PPG is markedly negative, the product itself has already baked in a slump.
  3. Still cross-check nailed-on XI status and shot/goal involvement models—underlying numbers rebound before points do.

A. Stored gameweeks (4-GW sandwich)

Each exemplar contrasts 4 synced gameweek rows—the most recent contiguous ones we have—with the instantly prior 4 rows for that footballer.

Historical exemplars trending up (Δ avg points per GW, last block minus prior).
Player Pos Club Older window Older avg / GW Fresh window Fresh avg / GW Δ
Populate historical GW stats — until then exemplars remain empty.
Historical exemplars trending down.
Player Pos Club Older window Older avg / GW Fresh window Fresh avg / GW Δ
No qualifying downward deltas yet.

Rows require at least eight stored gameweek slices per player (2 × 4). Players missing from SQLite’s roster linkage still show raw element labels.

B. Live Fantasy snapshot heuristic

For quick orientation when history is stale, we scrape the official bootstrap payload and prioritise midsized ownership pivots (≤ 35%), minimum minutes sampled, etc. Columns show Form, PPG, and their spread.

Runs hotter than seasonal pace

Bootstrap examples unavailable (network block or malformed payload).

Runs cooler than seasonal pace

Bootstrap examples unavailable (network block or malformed payload).

Use these snapshots as diagnostics only—fixture runs, nailed minutes, and transfer plans still dominate final calls.