Live
Every in-play game, ticking in realtime — green = home, blue = away. The live clock shows anticipated added time for each half — goals, fouls, injuries, substitutions and cards — beside the timer. It is an estimate, not the fourth official’s board. Each chiclet lists who scored, who came on and red cards, with the minute. Beside each club’s name: its league rank and record (#4 · 8-3-2). The 📊 league table row still has the official standing, win–draw–loss record and points, and each club’s ⚡ clinical power — goals per 100 xG this season (100 = scores what its chances are worth; above is clinical, below wasteful), 🎯 offence power — everything that leads to goals: chances created, shot volume, shots on target, pressure (corners) and goals per game against the league (50 = league average; above 50 potent, below blunt) with goals scored per game, 🛡 defence power — how few chances it allows against the league average (50 = league average; above 50 solid, below leaky) with goals allowed per game, ⚽ expected — goals each club should score in this game, read two ways: chances uses those two rows (the league’s goals per team-game × its offence power over 50 × the other club’s defence power, 50 over it) and results uses only goals actually scored and conceded per game against the league’s, each with the index and league rank on each side and favoured / underdog once the two sides are 0.3 goals apart — when the two reads disagree, one club has been finishing or keeping a long way from what its chances were worth, 📈 momentum — recent form from the last five results, newest weighted heaviest (above 100 rising, below fading), 🥅 last 5 — each of those five games: who they faced, first-half score and second-half score as it stood on the pitch (home–away; away games keep the home club first), plus clinical / offence / defence (power and rank) and the archive table rank with the W–D–L record as they stood after that night, and 🔮 potential — underlying strength from chance quality both ways, with whether results lag it (upside) or run ahead of it (overachieving), and 🧤 clean sheets — the season total, how many in the last five, and the share of games kept clean — each with its rank in the league. 🥅 goals-per-half rows follow the clock: before the break, how often each club’s first halves produced 0 / 1 / 2 / 3+ goals in total, scored and allowed — the percent and the count of games in that bucket — once for the whole season and again for the last five; after it, the same splits over only the games in that window that stood at this half-time score from that club’s side — a 2–0 home lead looks up the home club’s games when they led 2–0, and the away club’s games when they trailed 0–2. Markers for shots (incl. blocked), SOT, goals, corners, an xG vs time chart, a separate box-to-box graph — the home penalty box is the top line, the away penalty box is the bottom line, and time runs across. A dot is only the other team’s touch in that box — a team in its own box is left off. A flat stretch is the same end; a slope is the trip to the other box, and how wide that slope is is how long it took. Under that heading, a touches in the box per goal table: to score is the club’s passes into the other box per goal it scored (fewer is better), to allow is opponents’ passes into the club’s box per goal it conceded (more is better), each for the season and the last five games with the touches–goals behind it and the club’s #rank in the league for that column — green beats the league by 10%+, amber trails it. Under each name, now / 1H / 2H count this game’s dots on the graph. Then a rolling 15′ pressure bar for who is in the other side’s final third right now, a pressure graph of that same window at every minute so you can see who was pinning whom 10′ ago, a possession graph — two ribbons, 1H and 2H, minutes along the x-axis, coloured green while the home side has the ball and blue when it changes hands — an intensity graph under those ribbons (end-to-end swings + how far the ball travels, scaled so the league’s typical game sits in the middle — above is hotter, below is quieter; ESPN has no player GPS so this is the ball’s path, not miles run) — a duel graph with three lines (home, away, 50%) over that same last 15′ window at every minute, and a territory heat of where the ball has actually been in those last 15′ (not the whole match). Switch to Finished for the same chiclet on today’s and yesterday’s full-time games, or Upcoming for today’s kickoffs that have not started yet. Tap a chiclet and the pitch graphic opens at the top — ✕ close is at the top and the bottom of that panel — last 15′ of the ball, fading older touches, home attacking right — plus each team's formation and XI — every player's match power number, a freshness bar by minutes played, and ⇄ sub markers with the minute and who came off. Click a player for his card: every logged touch, pass and shot with the minute, a touch map, and a highlight cut list — download the clip times or an ffmpeg script and run it against your own recording of the broadcast — ▾ to collapse. Click ▲ or ▼ in a live chiclet’s corner to move it one slot up or down the list — on a phone too. A mouse drag moves it one slot the way you pulled; on a phone, drag the ⠿ grip. A finger swipe anywhere else on the card still scrolls, and so does the wheel. League chips stack: click EPL then La Liga to see both.
Bets
Every no more goals this half alarm that fired today, split by league, plus the last 30 days and season record. Won means the half stayed goalless after the alarm. Lost means a goal landed. Live bets are still waiting on half-time or the final whistle. Season is every alarm still in the log. The Signals tab has the model behind the trigger.
WinProb
Scheduled EPL fixtures as chiclets — home / draw / away win probability from a Poisson attack–defence model over the cached seasons. The chart is the daily hit rate over the last 30 days; hover a bar for that day’s pick-% buckets, click a bar or a league bucket to pin those graded picks. Double-click a chiclet for each club’s last five games and head-to-head.
Matches
Today's scheduled fixtures first. Pick one, freeze the cut minute, then jump to Similar lookalikes.
Similar
Live match chiclets — tap one to match the current scoreline against each club’s history, then the league. Follow the branch tree as the score evolves.
0-0 at half time
Every archived game that went in level at 0-0, broken out by league and cut at 45′ — the same event strip and xG chart as Live, so you can read what a goalless half actually looks like. The profile card gives the 80% band (the middle of the pack, 10th to 90th percentile) for shots, on-target, corners and xG, and what happened after the break. Switch to Similar live to score today’s 0-0 first halves against the archive, minute for minute, and see how the closest lookalikes finished.
No more goals this half
For every live game the dashboard scores P(no goal for the rest of this half) from
the archive’s goal hazard by minute (stoppage time included), the league’s scoring rate,
whether the game is still 0–0, and the edge found by working backwards from every 0–0 half:
passes into the penalty box — how often these two clubs’ halves usually reach the box,
and how many entries this half has produced so far. When it clears the threshold inside the betting window it fires
once per half — on the chiclet and, with EEESOC_DISCORD_WEBHOOK set, in
Discord — then tracks the half to held or busted. The live record is a
daily bar (green held, red busted) — click a day to open those game chiclets.
The tables below replay the whole archive so you can see what each threshold would have done,
and whether the probabilities mean what they say. 1 / P is the decimal price you need to break even.