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

By Kareem Farid, founder of Kunkafa

Probability, Not Prophecy: what an honest forecast looks like

The tagline is a design rule: the other direction always a glance away, a chance for every level, the record beside it, and a near-50/50 said out loud.

Nasdaq going up forever? That is greed talking. Fear says the opposite, and both will happily write your next order for you. Kunkafa takes neither side. It maps the paths a price could take, up and down together, and the chance of each one.

Probability, Not Prophecy is the tagline. It is also a design rule, and it decides what is allowed on the screen. Anything that sounds like foreknowledge comes off. Anything that lets you check us stays on.

A forecast is four things at once

Every forecast in Kunkafa Predictions answers four questions together: how far the price could move, as a change from today's price; which way, up or down; how long it has to get there; and the chance it gets there. Take any one away and the other three stop meaning anything.

"Gold is going up" fails on three of the four. Up by how much? By when? And how often has that worked out before? A 0.2% move and a 12% move are not the same claim, and a claim about the next hour is not a claim about the next year.

So the app asks one question per market and answers the whole of it: how far could the price move, in which direction, and how likely is each outcome, across every duration at once. A slider sets the longest duration you want to consider, from five minutes up to "up to 7 years", in bands named Scalping, Day trading, Swing and Investing. You are not choosing which forecast exists. You are choosing how much of it to look at.

Both directions, never hidden

The side you asked about comes first and the other sits right below it, so neither is ever hidden. The levels sit in a ladder with three columns — change, duration, chance — and the same levels are drawn around the price line as a band, so the numbers and the picture cannot disagree.

Three filters narrow that ladder: "Only show forecasts at least this strong", "How far it has to go", and a choice of Both, Up or Down. They narrow the list and never the drawing. Erasing a band from the chart because you filtered it out would tell you the price cannot go there, and no forecast has earned the right to say that.

terminal
Illustrative only - real figures change on every update.

  CHANGE     DURATION        CHANCE OF REACHING
  +1.4%      next 4 hours    62%
  +2.8%      next 4 hours    31%
  -1.2%      next 4 hours    58%
  -3.1%      next 4 hours    24%

Both sides are listed. Filtering the list
never erases a band from the chart.

A chance for every level, not one number for the market

No single number describes a market, so the app does not print one. Each level on the ladder carries its own chance of being reached inside the duration you have set, because "how likely is a small move" and "how likely is a large one" are different questions with different answers.

In the example above, a 62% chance of touching +1.4% within four hours and a 24% chance of touching -3.1% in those same four hours are both true at once. They describe different paths out of the same starting price. That is why the answer is a ladder rather than a verdict, and why every percentage on the screen is labelled with what it measures.

The record sits beside the forecast

Every forecast is shown next to how similar forecasts have performed, in a panel with exactly that name. It counts four things: 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. You can read it over the last day, the last 7 days, the last 30 days, or all time.

Two rules keep that panel honest. Under 100 finished examples it gives no rate at all and says why: "Not enough past examples to estimate performance reliably." And a rate below 1% prints as "under 1%", rather than a decimal that invites a precision the sample cannot support.

Outcomes are named, not scored: reached the movement level, passed the movement level, period ended ahead, period ended behind, still running. Freshness is relative — "Updated 4 minutes ago" — because a countdown manufactures urgency, and urgency is not information.

The same counting is published for everyone on the results page, updated daily, with the raw figures at /api/stats.json. The rules that produce those counts are written out in the methodology, and every word on the screen is defined in its glossary.

When the honest answer is near 50/50

Most of the time it is, and the app says so rather than manufacturing a lean. 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.

A tool that always finds a direction is not more useful than one that admits the market is balanced; it is less useful, because you can no longer tell its strong answers from its weak ones. Suppressing the near-50/50 cases would also flatter the record: the interesting forecasts look better when the dull ones are quietly dropped.

A near-50/50 is not a broken forecast. It is the correct answer to most questions about most markets, most of the time, and printing it out loud is the difference between a forecast and a horoscope.

Seventy experts, one question each

Seventy experts, one question each. Each of them judges how far and which way on its own, and what reaches the screen is what came back — not a tidied consensus. Seventy independent views of the same market. When they agree you see it; when they disagree, that tells you something too.

They were built on about 10 billion data points of price history across stocks, indices, currencies, commodities and crypto, and each was checked on millions of past moves it never saw. Stated chances are compared with what actually happened and corrected. That correction is the only reason a number on this screen is allowed to be called a chance at all.

What the design leaves out on purpose

Several familiar things are missing, and each absence is a decision. There is no badge ranking one forecast as more certain than another, because a label like that cannot be checked; a rate drawn from finished forecasts can be, and what a 70% chance actually means works through the difference.

  • Nothing is metered. Looking at a forecast costs nothing and moves no counter, so the app never has a reason to make you hurry.
  • No celebration when a level is reached, and no consolation when it is not. Both were always possible; one of them happened.
  • No hidden durations. The ones your plan does not open are still listed, still labelled, still visible.
  • No lone direction anywhere in the product, including alerts, saved outlooks and share cards.

What a plan changes is how much you can keep running at once — which durations open, how many markets you follow, how many alerts you set, whether automation is available — never how much of the truth you are shown. An alert is a single sentence you write yourself, checked server-side on every bar close: tell me when this market's chance of moving up or down over a duration reaches a level you name.

Forecast, not advice

A chance is an input to your decision, not a replacement for it. The app maps the paths and prices the odds of each; what you risk, and whether you act at all, stays with you.

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

The wider design argument — why a probabilistic tool has to be built against the instincts that make gambling products profitable — is in the anti-gambling design post, and the practical questions are answered in the FAQ. Everything described here can be opened without an account in the Kunkafa demo, which is the point: a claim you cannot check is prophecy, whoever makes it.