Back to the blog
Education February 5, 2026 | 6 min read

By Kareem Farid, founder of Kunkafa

What a 70% chance actually means: AI stock prediction accuracy, explained

A 70% chance is a rate taken from finished forecasts, checked against what happened and corrected. How to read one, and what it never promises.

A 70% sitting next to a market reads like permission. That is greed doing the reading for you. The opposite reflex — it is only a number an app invented — is fear doing the reading, and it throws away the one part that was ever useful. The number is neither a promise nor decoration. It is a rate, taken from forecasts that already finished, and a rate can be checked.

This post is about how to read that number: what it counts, what it leaves out, and why Kunkafa dropped the more familiar thing — a single certainty figure attached to the whole forecast — in favour of one you can hold against the record.

What the 70% is counting

It counts finished forecasts that looked like this one: among them, the price reached that level, in that direction, inside that duration, about 70% of the time. The number is not attached to the market in general. It is attached to one line of a ladder.

That matters because a forecast in Kunkafa Predictions is four things at once — how far the price could move as a change from today's price, which way, how long it has to get there, and the chance it gets there. A percentage that has lost its level and its duration has lost its meaning, which is why every percentage on screen is labelled with what it measures.

terminal
Illustrative only - not live figures.

  CHANGE     DURATION        CHANCE OF REACHING
  +1.4%      next 4 hours    70%
  +2.8%      next 4 hours    38%
  -1.2%      next 4 hours    64%
  -3.1%      next 4 hours    27%

Same market, same moment, four different
questions - and four different answers.

Four rows, four chances, all true together. Nothing here is contradictory: a small move is easier to reach than a large one, and the up and down sides of the same market are rarely mirror images of each other. Both directions stay within reach, always, the other a glance below, because reading one without the other is how a chance turns back into a hunch.

Reaching a level is not the same as being right

A chance of reaching a level asks whether the price touched it at any point inside the duration — not where the price finished. Those are different questions, and the app keeps them apart rather than blending them into one flattering figure.

The outcomes are named accordingly: reached the movement level, passed the movement level, period ended ahead, period ended behind, still running. A move that touched +1.4% two hours in and then slid back has reached the level and ended behind. Both facts are recorded, and the record panel counts "finished in the forecast direction" and "reached the selected movement level" as two separate lines for exactly this reason.

Calibration, in plain words

Calibration means the stated chances are compared with what actually happened, and corrected when they drift. If forecasts that said 70% reached their level far less often than that, the number was wrong and gets pulled back until it is not.

That check is built into how the experts are made, not bolted on afterwards. About 10 billion data points of price history across stocks, indices, currencies, commodities and crypto sit behind them; each expert was checked on millions of past moves it never saw; and stated chances are compared with outcomes and corrected. Without that last step, a number on the screen would be a mood, not a rate.

The useful analogy is rain. A 70% chance of rain is not a claim about tomorrow on its own — nothing about a single day can prove it right or wrong. It is a claim about every day that looked like tomorrow, and you test it by keeping score over many of them. Market chances work the same way, and are tested the same way. Understanding uncertainty goes further into what that kind of claim can and cannot support.

A number is only a chance if someone is counting. Compared with outcomes and corrected, 70% is a measurement; left unchecked, it is a decoration that happens to have a percent sign.

Why a single certainty number was dropped

Because there was no way to check it. A score that rates a forecast on some scale of certainty never says what would count as it being wrong, so it can never be graded, and a number that cannot be graded cannot improve. It also invites the worst reading in the product: treating a high score as a green light and a low one as an instruction to look away.

What replaced it is narrower and duller and can be argued with. A chance names a level, a direction and a duration, so the claim is specific enough to fail. Beside every forecast sits "How similar forecasts performed", counting forecasts evaluated, how many were strong enough for the filter you set, how many finished in the forecast direction, and how many reached the movement level you selected — over the last day, 7 days, 30 days, or all time.

The strength control is not a certainty badge either. It reads "Only show forecasts at least this strong", and it filters which forecasts are listed; the record beside it is recounted on that same setting, so the rate you are reading always belongs to the forecasts you are actually looking at. The other two filters, "How far it has to go" and the choice of Both, Up or Down, work the same way — they narrow the list and never the drawing, because removing a band from the chart would claim the price cannot go there.

When the app refuses to give you a number

Under 100 finished examples it prints no rate at all, and says why: "Not enough past examples to estimate performance reliably." A rate below 1% prints as "under 1%" rather than a decimal, because the decimal would promise a precision the sample cannot support.

Those refusals are the part most worth trusting. Any tool can produce a percentage for every situation; a tool that occasionally declines is telling you where its evidence runs out. Freshness is stated the same plain way — "Updated 4 minutes ago" — rather than as a countdown, because a countdown pressures you and tells you nothing.

What 70% does not promise

It does not promise the level is reached. Roughly three times in ten, on a number like that, it is not — and those occasions are not malfunctions, they are the forecast working as described. Three more limits are worth stating in the same breath.

  • A chance is not a return. What you risk, what it costs you to be there, and when you stop are decisions the ladder does not make.
  • A chance is not a schedule. Reaching a level early, late, or after a move against you all count the same in the record and feel nothing alike in practice.
  • A high chance on a small move and a low chance on a large one can be the same market saying one thing quietly. Read the rows together, not the best one alone.

Most of the time the numbers will not be dramatic at all. Markets are efficient — whatever is known is already in the price, so most forecasts sit near 50/50. Our models watch every update and bring you the few that do not. The design reasons behind saying that out loud are in Probability, Not Prophecy.

Where to check the number

The counting is public. The results page is updated daily, with the raw figures at /api/stats.json, and the rules that produce them are set out in the methodology and its glossary. Practical questions about markets, durations and plans are answered in the FAQ. Looking costs nothing on any plan, so none of this is behind a decision to pay.

Forecast, not advice. For the rational investor: emotion out, scenarios in.