supportUpdated 22 Jul 20264 min read
Troubleshooting: empty screens and odd states
Most "something's broken" moments on Tofiko are not bugs. They are the product refusing to show you something it cannot honestly show. This page covers each of those states: what you are seeing, why it happens, and what to do.
When Tofiko has nothing trustworthy to display, it displays nothing. An empty panel is usually a deliberate refusal rather than a failure — and the reason is always one of the few listed below.
Quick index#
| What you see | Most likely cause | What to do |
|---|---|---|
| Find value / Value Bets is empty | No league passes the suggestion gate | Nothing — log picks manually |
| A whole view looks bare in July | Northern-hemisphere off-season | Check the season summary line |
| Odds shown, no model percentage | League not covered by the model | Read it as an odds-only row |
| Live score frozen, or match gone | Feed dropped or reverted | Wait; treat the score as unconfirmed |
| Signed in, panels still locked | Plan level, or stale session | Refresh, then check your plan |
| Can't find a fixture | Wrong day, filter or timezone | Use the search box and date strip |
Find value / Value Bets is empty#
What you're seeing. The Find value tab in My Picks — and the Value Bets view under Matches — shows no suggestions at all.
Why. Both surfaces only list bets from leagues that pass a statistical quality gate and are owner-approved. Right now no leagues qualify, so both are empty. This is the single most common question we get, and the answer is the same every time: it is deliberate.
It fits the rest of the site. On the Performance page, 0 of 17 league groups pass the profitability gate, and the market's Brier score on 1X2 is currently better than the model's. Publishing suggestions from leagues that have not cleared that bar would contradict the numbers we publish about ourselves.
What to do. Nothing needs fixing. Manual pick logging always works — use + Log a pick in My Picks as normal, and judge prices yourself from the probabilities on the match rows.
A whole view looks empty in July#
What you're seeing. Few or no fixtures, across several views at once.
Why. The northern-hemisphere season is between campaigns. There genuinely are almost no matches.
What to do. Look at the season summary line above the fixture list — it reads something like "Off-season · 1 League · 30 in season" and tells you how much football actually exists today. The date strip along the top carries a fixture count for each day, so you can jump straight to a day that has games rather than scrolling an empty list.

A match has odds but no model percentage#
What you're seeing. A row with three odds columns but no probability badge.
Why. The model does not cover that league yet. Coverage is not universal — see data and updates for how league coverage works and why it varies.
What to do. Check the market chips legend, which marks rows as model-backed, odds-only or unavailable. An odds-only row is still useful: you have the market's price and its movement, you just have no independent estimate to compare it against. If you want to form your own, how our models work explains what goes into one.
A live score looks stuck, or a match has vanished#
What you're seeing. A minute or score that has not moved for a long time, or a fixture that disappears from the live list mid-match.
Why. Live feeds occasionally drop out or revert a score they previously reported. When that happens we withdraw the live claim rather than keep showing a figure we can no longer stand behind. A missing row means "we no longer know", not "the match ended".
What to do. Treat the last shown score as unconfirmed and check the fixture again shortly. Do not resolve a bet in your journal on the strength of a frozen score — wait for the settled result before using Resolve on an open bet.
Two smaller ones#
Signed in, but panels are still locked. Either your plan does not include that layer, or the page is holding an old session state. Refresh first, then check the plan in your account menu: the value and analytic layer — de-vigged market percentages, edges, fair odds, the score matrix — needs PRO, and the external signal layer needs MAX. Match detail sections such as stats, events, form, line-ups and head-to-head are never restricted by plan, so if those are missing it is a data gap rather than a paywall. See plans and billing.
A fixture you can't find. Work through this in order:
- Search the team in the top-bar search box — the fastest route.
- Check the day. The date strip defaults to a single day; try All dates, or the neighbouring days.
- Check your timezone selector. A late kick-off can sit on the following day in your local time.
- Clear the filters. The status filter (All / Live / Upcoming / FT), the league dropdown, the Odds only toggle and the Edge ≥ slider all hide rows. An Edge slider above 0% is an easy one to forget.
A genuinely broken screen looks different: no data anywhere, on a day the date strip says has fixtures. Everything else on this page is the product being cautious on purpose.
Related
Frequently asked questions
Why is Find value empty?
Because no league currently clears the suggestion gate. A league only appears there if it passes a statistical quality check and is owner-approved, and right now none does. It is a deliberate empty state, not a bug — logging picks manually still works normally.
Why does the whole app look empty in July?
Most northern-hemisphere leagues are between seasons. The season summary line above the fixture list tells you how many leagues are actually in season, and the date strip shows the fixture count for each day.
Why does a match show odds but no model probability?
The model doesn't cover that league yet. Those rows are marked odds-only in the market chips legend. You can still see and use the prices; there just isn't a model estimate to compare them against.
I subscribed but panels are still locked. What now?
Refresh the page so your account state is re-read, and check the plan shown in your account menu. Value-layer panels need PRO, and the external signal layer needs MAX.