?

Changelog

What's new

Everything that changed for you, newest first — what it does, which competitions it covers, and where to find it. Fixes and plumbing are left out; this page is only the parts you can see.

August 2026

Bets stop asking you to settle them

A bet whose final score is running late now says who is chasing it and by when it refunds itself, instead of sitting in red under a Resolve button you never needed to press.

Your bets in My Picks already settle on their own. A match finishes, the score lands, and within ten minutes the bet is marked won or lost, the price you took is the price it settles at, and your balance moves. That has been true for a while and it has not changed.

What has changed is what happens on the days it goes slowly.

Occasionally a final score simply does not arrive. Not often — it is a fraction of a percent of matches, usually one obscure fixture while the rest of its league reports normally. When that happened, the bet turned red, a counter appeared saying it needed a result, and a Resolve button asked you to settle it by hand. All of that was misleading. Behind the scenes we keep re-checking for that score every half hour, and if it never turns up we void the bet and give you your stake back. Nobody had to press anything.

Now the bet says exactly that. It stays calm in your open bets with one line: still waiting on the final score, settles itself when it arrives, and if it never does, voided and refunded by a date we name. The date is a real one — five days after kick-off — and it is the same deadline the system works to, not a guess.

Resolve is still there, and for some bets it is still the only way. If you added a fixture we do not carry, we have nothing to look up and it is yours to settle. The same goes for bets on things we do not collect results for, such as cards or corners. Those keep the red button, because for them it is true. And if you already know a result and do not want to wait, you can settle any bet yourself at any time — it has always been an override rather than a chore.

What this does not do: it does not make results arrive any faster, and it does not change how anything is graded or what it pays. It changes only which bets we ask you to do something about — which should now be close to none of them.

Find value now shows something

The Find value tab lists the fixtures where our model's number is furthest from the bookmaker's, across the 25 leagues we both cover and can price, instead of sitting empty.

If you have opened Find value in My Picks, you have most likely found nothing there. That was not a glitch, and it was not an off-season — it was us.

The tab was built to list bets where our model beats the bookmaker's price, and it only showed you a league once that league had proved it beat the price over a year of past results. No league has proved that. So the tab showed nothing, month after month, while sitting under a heading that promised value picks.

It now shows a different thing, and it shows it every day. The tab lists the fixtures where our model's number is furthest from what the odds imply — the disagreements. That is a statement about our own model rather than a claim about your returns, and it is one we can make honestly on any given morning.

Every card tells you how that league has actually done. Under each fixture you will see something like "flat-staking these picks returned −13.7% ±7.9pp over 318 bets over the last year" — the real backtested figure for that league, with the margin of error beside it, whether it flatters us or not. Leagues we have tested and approved are listed first. Leagues we have never tested say so, which is not the same as having failed.

What it does not do. It does not tell you a bet will win, and none of these numbers are a forecast of profit — a disagreement means our model and the market see the game differently, and the market is often the one that is right. It covers roughly 25 leagues out of the 218 we carry: only fixtures we both have a model for and can find a price for can appear. The rest of the calendar is still there under Find a match, where you can plan any fixture yourself.

It is no longer locked away. On the free plan you now see the fixtures and the side our model favours. Pro shows the full list with both probabilities and the gap between them; Max adds the prices.

The World Cup tab is gone from this section. The tournament is over, so it had nothing left to plan and showed an empty pane. Every World Cup match, including the whole archive back to 2014, is still under Tournaments.

While we were there: adding a bet by hand used to fill in the price for you on match-result bets only. Over/under and handicap bets left the price box empty even when we had the number, so you typed it from memory. It now fills in for those too, and offers the goal lines and handicaps we actually hold a price for rather than a blank box. Double-chance prices are worked out from the match-result odds and labelled as such — check them against your bookmaker before you save.

Tofiko on a phone

Team names, tabs and the day's picks now fit a phone screen instead of being squeezed off it, and the app no longer opens with the menu covering the page.

If you have been using Tofiko on a phone, two things have been quietly in your way, and both are fixed.

The app opened with the side menu over the page. Not for long, but long enough to be the first thing you saw every time, and on a slower connection it sat there until the page finished loading. The menu now stays shut until you open it.

Team names were being squeezed out of their own rows. On My Picks, under Today, the day's picks were showing the club badges, the market and the price, but the names themselves had been compressed to a letter or two, or to nothing at all. The same thing was happening to saved matches on the Watchlist. Rows now give the names a line of their own on a narrow screen, so a pick reads as a match rather than as two crests.

While we were there: the My Picks tabs no longer run off the edge of the screen, so Watchlist, Analytics, Print slip, Export, Bookmakers and Settings are all reachable without knowing to swipe for them; and scrolling the Today tab no longer hides the tab bar behind the bankroll summary.

None of this changes a single number, a pick or a price. It was a layout problem, on phones only, and nothing on a desktop screen has moved.

Email sign-in links work again, and signing out now says so

Sign-in links sent to your email were failing when opened, and many were never delivered at all. Both are fixed. Signing out now confirms it instead of leaving you on the same page.

If you have tried to sign in with an emailed link recently and it did not work, it was us, not you. Please try again.

Two separate things were broken, and together they made email sign-in close to unusable.

The link itself failed when you opened it. The link was tied to the exact browser you asked for it from. That is fine in theory and useless in practice, because mail apps open links in whatever browser they prefer, which is often not the one you were just using. Open the link on your phone after requesting it on your laptop, or let iOS Mail hand it to Safari while you were in Chrome, and you got an error telling you the link had expired or been used. It had done neither. Links now work from any browser, on any device. Because they are no longer tied to your browser, they expire faster: you now have 15 minutes to use one.

Many of the emails never arrived. Sign-in mail was going out through a service we had never configured properly, which quietly refused to send more than a couple of messages an hour across the whole site. If two other people signed in before you, your email was simply never sent, with nothing to tell you so. Sign-in mail now goes out through the same provider as the rest of our email.

If you gave up on an account because the link never came or never worked, it should now work on the first try.

Signing out tells you it happened. Before, choosing "Sign out" left you looking at the same page with no confirmation, and if it silently failed you stayed signed in without knowing. Now you land on the homepage with a clear message, and on the rare occasion it fails, it says so and tells you that you are still signed in, which matters if you are on a shared or public computer.

Signing in with Google was never affected by any of this.

What a bet costs

A new page reports the bookmaker margin we measure on each market and each bookmaker, so you can see where the same bet is cheaper before you place it.

Every price has a fee built into it. Add up the implied probabilities of every outcome in a market and the total comes to more than 100 percent, and that excess is charged on every bet you place, whether it wins or loses.

What a bet costs now reports the margin we measure on the odds we collect, per market and per bookmaker, with the number of matches each figure rests on. The gap between the cheapest and the dearest book on the same market is wider than most people expect, and it is paid on every bet rather than only the losing ones.

Two limits, because they change how the page should be read. The measurement covers the bookmakers and competitions our odds feeds reach, which is a fraction of the fixtures on the site, not all of them. And the two price series are shown apart and are not comparable with each other: they are taken on different competitions at different moments before kickoff, so a bookmaker's figure in one series says nothing about its figure in the other. Compare books inside a series, never across two.

This is a measurement of the market's prices, not a forecast, and nothing on the page depends on our models being right.

Track record no longer prints a return it cannot stand behind

The return figures on Track Record are now withheld until enough bets have settled to mean anything, the page opens on the last 90 days instead of the new season, and a 180-day window has been added.

If you looked at Track Record over the past two days, you saw a return figure that should not have been there, and one of them was positive. Please do not treat anything you read on that page before today as a result.

Here is what went wrong. The page opened on the current season, and the season had just rolled over on 1 August, so it held two days of football. A return calculated from that many settled bets is not a small result, it is no result at all: at that sample the figure moves by tens of percentage points either way on luck alone. It happened to land positive, which reads as though something was making money.

Three changes. A return is now hidden entirely until at least 200 settled bets sit behind it, and instead of a number you see how many of those 200 have accumulated so far. The page opens on the last 90 days rather than the new season. And there is a new 180 days window, which is the longest we can score and by some distance the most trustworthy figure on the page.

Hit rate is still shown everywhere, including on the season tab. It survives a small sample far better than a return does, because it does not depend on the price. Only the return is withheld.

Each card now also states what each of its two figures is counted from, because they are not the same set: hit rate covers every settled pick, while the return covers only the ones we hold a recorded price for. Those two counts differ, and side by side without labels they looked like a contradiction.

What this does not do: it does not change any pick, any model, or anything you have tracked. And it does not make the numbers better. The honest 180-day figures are the ones now on the page, and you should read them as history rather than as a forecast.

Open Track record

July 2026

The model's forecasts are on the front page, without an account

Home now opens with a match of the day and six upcoming fixtures carrying the model's full 1X2 forecast — visible whether or not you are signed in.

Home used to lead with the signals list, and on a day when the model finds no disagreement with the market that list is empty — so a visitor who was not signed in could arrive at a page that was mostly a sign-up form. That was never the intent: the 1X2 forecast has always been free, and it is already published on our public match preview pages for anyone to read.

Now it is on the front page too. Home opens with a match of the day — the fixture with the most to say, not simply the next one to kick off — showing the pick, all three probabilities, and whether both families of models agree. Below it are the next six fixtures we have a forecast for, each with the same figures. None of it is blurred and none of it needs an account.

There is also a strip of the things that are true every day: how many matches are on, a clock counting down to the next kick-off anywhere in the world, how many fixtures ahead have a forecast, and how many of the leagues we model are in season. Below the board, eight cards for the rest of the site.

Your betting journal has a place on the page now too. If you track picks, it shows your balance, your profit and what is still open. If you have never tracked one, it offers to follow one of the forecasts above in a single click, which settles itself when the match finishes.

What has not changed: where the model disagrees with the market is still the paid part, and it is still further down the page — two of those a day without an account, five with a free one. Forecasts only exist for the leagues we model, so most of the fixtures in a given day's list will not have one, and a card that says the model sits above the market price is telling you the two numbers differ, not that the bet will win.

Open Home

Back a forecast without leaving the front page

Every fixture on Home now carries a Track button that logs the model's pick in My Picks and settles it when the match finishes.

Home shows the model's pick on seven fixtures — the match of the day and six more — and until now there was nothing to do about any of them without going somewhere else first. Each one now has a Track button. It saves the model's own pick for that match, and the entry settles itself when the match finishes, so your record builds without you writing anything down.

If you are not signed in the button still works: it remembers which fixture you wanted, takes you through sign-up, and saves the pick when you land back on the page.

Two things it deliberately does not do. It does not place a bet anywhere, and it does not choose a stake — it records what the model thinks so that you can see, later, whether following it would have been worth it. And it only offers the model's pick on the 1X2 market; anything else you want to track, you still enter yourself in My Picks.

The three labels beside the match of the day — which side the model backs, whether both of our methods agree, and whether the model rates its pick above the market's price — used to look like buttons and were not. They are now plainly labels, and each explains itself when you hover or tab to it.

Open Home

Tofiko opens on a summary now

A new Home view shows what is on today, what is coming, and where your money stands — instead of dropping you into the World Cup hub.

Opening Tofiko used to drop you into the World Cup hub. That was the right place to land in June; it stopped being the right place on 19 July, when the tournament ended.

There is now a Home view instead. It shows how many matches are on today and how many are in play, the signals coming up over the next six days, which covered leagues are between seasons and when each returns, and how the model has done over the last 90 days. If you track bets in My Picks, your balance, open bets and money at risk sit there too.

Home only shows a section when that section has something in it. On a quiet day in the middle of the off-season you will see a shorter page, not a screen of empty panels — and if we cannot reach something, it says so rather than pretending there was nothing to show.

The World Cup has not gone anywhere: it is still under Tournaments, now with past editions as well.

Open Home

Past World Cups, not just the last one

The World Cup section now opens on an edition picker — 2026, 2022, 2018 and 2014 — with every result and the group tables.

The 2026 World Cup finished on 19 July, and until now the section still opened as though it were being played. It now starts with an edition picker: 2026, 2022, 2018 and 2014.

2026 keeps everything it had — the group tables, the bracket, and the match pages with line-ups, the goal timeline and the statistics.

The three earlier tournaments are an archive. Every match and every score, laid out by the round it was played in, so extra time and penalty shoot-outs read as what they were rather than as a bare scoreline. 2018 and 2022 also have their final group tables; 2014 does not, because that is as far back as our data source publishes them.

What the older editions do not have is line-ups, goal timelines, match statistics or closing odds. Those were never collected at the time and cannot be recovered, so each archived tournament says so on the page rather than showing you an empty tab.

One correction while we were in there: the World Cup's league table page was published under the wrong name — it read "Iraq Cup". If you opened /standings/iraq-cup and wondered why it showed World Cup groups, that is why. It is now at the World Cup table, and the old address forwards there. The Women's World Cup was mislabelled the same way and is also fixed.

Open World Cup

Every league table, on its own page

218 league tables you can read and share without signing in — one page per competition, plus an index of all of them.

Each of the 218 competitions we cover now has its own page — for example the Premier League table — with played, won, drawn, lost, goals, goal difference, points and recent form, and the promotion, European and relegation places the competition itself decides.

These pages are public. You can send one to someone who has no account, and it opens on a phone without the app loading first. The index at all league tables lists every competition by country.

Most of them are finished seasons right now — the northern hemisphere is between seasons — and each page says so, with the date the season ended. Where a season is running, the page says when the table was last collected.

The interactive table is unchanged and still a click away from each page: Home and Away splits, the Form view, expected goals on the six leagues our chance data covers, and the club detail panel.

Open Standings

Expected goals on the league tables

A fifth Standings view comparing what a club created with what it collected — on the six leagues our chance data covers.

Every league table now has an xG view beside Total, Home, Away and Form. It puts each club's real numbers next to the ones its chances were worth: goals beside expected goals, points beside expected points, and the gap between them.

It covers the six competitions our chance-data provider publishes — the Premier League, La Liga, Serie A, the Bundesliga, Ligue 1 and the Russian Premier League. On the other 212 leagues the tab is not shown, rather than shown empty.

The gap is measured in points, not goals, and that is deliberate: read how to read an xG table for why, and expected points for what the number means. A large gap describes a season that has already happened — it is not a tip.

Open Standings

League tables, rebuilt

Home and Away splits, a Form table, the next opponent, and rows grouped by what the competition actually decides.

Standings used to be one table. It is now four views over the same competition:

  • Total, Home and Away — the same clubs ranked by where they played.
  • Form — the last five matches, with an arrow showing how far that run sits from the club's real position.

Rows are grouped by the outcomes the competition decides — promotion, the European places, relegation — and each group says what it is, rather than leaving you to count rows. Where a league publishes the fixture, the row also carries the next opponent and where that opponent currently sits.

Below the table you now get the provenance: which provider the numbers came from and when they were last collected.

Not every league supplies every part. Where a competition sends no split, no form string or no upcoming fixture, the column is absent rather than blank.

Open Standings

Strategy Lab: tune a rule, then watch it fire

Every published strategy is now a set of rules you can adjust, tested on matches it never saw, with a live board of fixtures meeting the rule right now.

Each strategy is now written as rules you can read and change — the market, the minimum odds, the leagues, the confidence band. Move a control and the record below it is recomputed for your version of the rule, not the published one.

Tuning is tested the honest way: the settings are fitted on older matches and scored on later ones the fit never saw. A rule that only looks good on the matches used to build it will look ordinary here, which is the point.

Firing now lists the upcoming fixtures that currently satisfy the rule. It is empty most of the time, and that is how a selective rule behaves — candidates usually only qualify in the last hour before kickoff, once the closing prices settle. An empty board is the rule declining to bet, not a fault.

The status on a strategy card describes how much evidence there is, not whether we endorse it. Read the record underneath before acting on any of them.

Open Strategy Lab

Today's Edge, as a dashboard

One screen for the day: what the models flag, split into the leagues they are calibrated on and the ones they are still exploring.

Today's Edge is now a dashboard rather than a list. It opens on the day's fixtures where a model disagrees with the market, and it separates two things that were previously mixed together:

  • Core — leagues the models are fitted and calibrated on.
  • Exploratory — leagues where a model runs but has not earned a calibration yet. These are labelled, every time they appear.

How many rows you see depends on your plan, and the screen says so instead of going blank. An empty day is stated as an empty day — off-season and quiet midweeks are real, and padding them with weak selections would be worse than showing nothing.

Open Today's Edge

Match previews you can link to

A public index of upcoming fixtures with a page per league and per match — readable without signing in, and shareable.

Match previews is a public section: an index of the leagues we cover, a hub per league, and a page per fixture with the model's read on it, the recent form of both sides and what the market is offering.

Because the pages are public, you can send one to someone who has no account. The deeper numbers — the model's edge over the price, the goal expectancies — stay inside the product for subscribers, and the page says which is which instead of hiding the boundary.

Coverage follows the season: leagues appear as their fixtures are published and drop out when they finish.

Open Match previews