Skip to content
Understanding a Decision's Value
Decisions
On this page

Understanding a Decision’s Value

How to read the number on a decision — what it measures, what unit it is in, when it is money and when it is not, and how KeyOne checks afterwards whether acting helped. About 6 minutes.

Every decision KeyOne raises carries a value impact where the rule that raised it can measure one. It is how the list ranks itself and how you decide where to spend your attention. This guide shows you how to read it like an analyst — including the two things it is not.


One number, in the unit the rule measures

Each decision comes from a definition — a rule over your own data (see Capabilities). The definition decides what its number means, and it declares the unit. On the card you will see one of:

  • Money — “R 841,139”. The rand at stake, as the rule computed it: trailing sales at a dormant outlet, the shortfall between a target and its projection, the spend above the network rate.
  • Days — “22 days”. How long promotional material has been up past its end date, or how far past due an order is.
  • Checks — “43 checks”. How many of a store’s audit checks fell below standard.
  • Units — “1,100 units”. A stock shortfall against a cover target, or the gap between what was ordered and what was delivered.
  • A proportion — “35%”. The share of planogram slots sitting empty.

The label beside the number says which it is: Value at risk is used only for money; anything else is labelled as the magnitude it is. A day is not a rand, and KeyOne never adds the two together.

A decision's detail page, where the value sits

Where totals come from. Every “value at risk” total — on Home, a hub, Field Planning — adds up only the decisions measured in money, and says beside the figure how many open decisions it leaves out (“2 open decisions are measured in days, checks or units and not counted here”). A total that mixed units would be a number with no name.

When there is no number

Some rules genuinely measure nothing — a decision raised because a target has no actuals at all, for instance. Those cards say “Not measured by this definition” and are ranked below every measured card. They are never shown as R0: a zero is a measurement, and an absent number is not.

What the number is not

Two things you might expect from other tools, stated plainly so you do not go looking for them:

  • There is no probability range and no confidence percentage. The number is a direct measurement from your data at the moment of detection — not a model’s estimate of a future outcome — so there is nothing to attach a P10/P90 or a confidence score to. What there is instead is the query: open Show the data behind this card on any decision to see the exact rows and the SQL that produced the figure, filtered to that card.
  • It is not a forecast of what you will recover. A dormant outlet’s trailing sales are what it used to sell; acting will not necessarily bring all of it back. Use the number to prioritise, not to forecast the books.

It is a snapshot — and it gets checked

  1. The number is taken at detection. A card shows when it was first seen and when the data last confirmed it. The value does not silently rewrite itself as conditions move; if the rule stops returning the card, the card closes — by data, never by someone marking it done.

  2. A verification loop checks whether acting helped. After an action, KeyOne compares the treated stores and SKUs against untreated peers over a comparison window — 14 days by default (/api/v1/learning/accuracy, adjustable up to 180). Each check reaches one of four verdicts — verified causal, verified coincidental, not verified — structural, not verified — anomaly — and only where there were enough comparable peers and enough data; where there were not, it says which was missing rather than guessing. You read these under How accurate our alerts have been on the Decisions page.

    Read the verdict count before the verdicts. A tenant that has only just started acting will show none, and that is the honest state, not a broken loop — there is nothing yet to compare. The endpoint reports conclusive_verdicts alongside the reasons it could not conclude (insufficient_peers, insufficient_data) so the two are never confused.


How to read it in practice

  1. Check the unit first. R841K and 41 days are both large; only one is money.
  2. Glance at the headline to size the problem.
  3. Open the data behind it if the stakes justify it — the rows are one click away.
  4. Act, and let the verification loop say afterwards whether the action held.

Common pitfalls

  • Reading every number as rand. The unit is printed beside it for a reason. A “22” on a promo card is twenty-two days of stale material, not twenty-two rand.
  • Comparing across units. The list is ranked by the number alone, so within a hub that measures both, “74 checks” can sit above “R4.53”. Rank within a kind of measurement when you are choosing between them.
  • Reading the value as a promise. It is the size of the problem as measured, not a guaranteed return. The verification loop exists precisely because acting does not always help.

Next: Notifications