Inventory data freshness: can you trust this stock number?
“3 in stock” sounds like a fact. It is really a report from one channel at one moment. Without knowing when the channel said it, you cannot tell whether it describes your store now or an hour ago.
This guide explains how to read the age of inventory evidence, what “fresh” and “stale” do and do not tell you, and why freshness is a separate question from whether a channel is connected or a sync ran.
The short version
A stock number is only as good as the moment it was read. Before you trust or act on a quantity, check when the channel last reported it: an old number may still be right, but you can no longer assume it is. And a recent number tells you what the channel says, not what is on your shelf.
A stock number has a timestamp
Every channel quantity is an observation: a specific channel reported a specific value, and that report was confirmed at a specific time. The quantity, the channel, and the confirmation time belong together. Drop the time and you are left with a number that looks current whether it is or not.
The age of an observation is simply how long ago it was confirmed. Freshness is the judgement you make from that age: is the evidence still recent enough to describe the channel now, or only what the channel said earlier?
There is no universal ecommerce threshold for that judgement. How old is too old depends on how fast your stock moves and how much a wrong last unit costs. What matters is that the threshold is explicit and applied the same way to every channel.
Fresh does not mean correct
A fresh observation means the channel’s report was confirmed recently. It is good evidence of what the channel says. It does not prove:
- Warehouse truth — the channel can confidently report a quantity that no longer matches the shelf.
- Intended sellable stock — the channel may be showing a number your operating process never meant to expose.
- Cross-channel agreement — two fresh channels can still disagree.
- Correct mapping — freshness says nothing about whether two listings are the same sellable unit.
- Successful fulfillment — orders, picks, and shipments are separate facts.
Freshness answers “how current is this evidence?”, not “is this the right number?”.
Stale does not mean wrong
A stale observation is old evidence. The channel may still show exactly that quantity. What has changed is that the evidence is no longer recent enough to say so with confidence.
So the right response to stale evidence is usually to get a fresh observation, not to overwrite the value. Overwriting a channel because its evidence is old can replace a correct number with a guess, and it hides the real question: why has the channel not been confirmed recently?
Trusted, stale, unverified
GNIZDO describes the freshness of each channel’s catalog evidence with three states. It compares the age of the last successfully confirmed catalog observation with the active freshness window.
| State | Meaning | What it does not mean |
|---|---|---|
| Trusted | A confirmed observation exists and is still inside the freshness window. Fresh enough to use as current catalog evidence. | Not proof of physical stock, cross-channel agreement, a successful latest write, or the absence of problems. |
| Stale | A confirmed observation exists but has aged beyond the freshness window. | Not proof that the value is wrong. It may still be accurate; it is just no longer current enough to rely on without qualification. |
| Unverified | There is no usable confirmed observation to judge current catalog trust from. | Not zero stock, not a failure, and not stale. There is simply nothing confirmed to age yet. |
Connection, sync, and freshness are different questions
Three separate facts describe a channel at any moment. In GNIZDO, “sync” means a collection attempt that reads evidence from the channel; it does not mean pushing stock between channels.
- Connection — can the channel be reached with valid credentials?
- Sync — is a collection attempt queued, running, idle, or did the latest one fail?
- Catalog trust — how fresh is the last confirmed catalog observation?
They move independently, which is why one combined “health” status cannot stand in for all three:
- Connected, stale
- Credentials work, but no catalog observation has been confirmed within the freshness window.
- Sync failed, still trusted
- The latest attempt failed, but the previously confirmed observation is still inside the window. The failure does not erase it.
- Authentication failed, still trusted
- New evidence cannot be fetched until the channel is reconnected, but existing confirmed evidence remains usable until it ages out.
- Sync idle, trusted
- Nothing is running, and the last confirmed observation is fresh. That still says nothing about whether two channels agree.
- Connected, unverified
- The channel is reachable, but no usable catalog observation has been confirmed yet.
A sync can also complete normally while two fresh, confirmed channel observations still legitimately disagree. Completing a collection is an execution fact; agreement is a separate question.
Why freshness changes how you read a mismatch
If Shopify was observed a minute ago and Etsy several hours ago, comparing the two quantities as if they describe the same instant is unsafe. The difference may be nothing more than a sale that Etsy’s old observation predates.
Freshness is one of the conditions that make a comparison meaningful at all. Identity and channel policy are the others; check whether two channel values are actually comparable before treating a difference as a mismatch.
What to do with stale inventory evidence
- 01
Identify the exact channel and sellable item you are about to act on.
- 02
Check when that channel’s catalog was last confirmed, not only the quantity.
- 03
Get a fresh observation if you can, before changing any value.
- 04
Keep a failed refresh separate from the previously confirmed state. A failed attempt does not make the old value wrong, and the old value does not make the failure harmless.
- 05
Compare channels only once each side’s evidence is current enough.
- 06
If the fresh observation still shows the unexpected value, run the one-item incident checklist.
Where GNIZDO fits
GNIZDO is a detection-first evidence layer. For each connected channel it keeps what the channel reported, when that evidence was confirmed, how old it is, and whether current catalog evidence is trusted, stale, or unverified.
Connection state and sync attempts are kept as separate facts beside catalog trust, and detections carry their own evidence and limitations. GNIZDO does not automatically synchronize inventory between channels and does not know physical warehouse stock. See what GNIZDO observes about channel inventory.