How it works
Watch one purchasing decision, end to end.
This page runs a small distributor through a normal week, a supplier problem and the recovery after it. Every number is a designed example; the mechanics are the product.
Scroll, or use the controls in each step. Illustrative data for a hypothetical distributor. Not a customer result.
Step 1 · What ZAAD reads
Four files you already have.
ZAAD works from the records your business produces anyway. No forecasts to enter, no parameters to set by hand.
Purchase orders
What you ordered, from whom, when, and when you expected it.
Goods receipts
What actually arrived, when, and how much of the order it covered. This is where lead-time tails and short shipments come from.
Sales or issues
Demand per item per location per period, including the zeros.
Stock counts
Opening positions per location, so pipeline and on-hand are reconciled to reality.
Supplier and route master (optional)
Approved alternates, transfer lanes between your sites, minimums and capacity. Without it ZAAD infers what it can from history.
What it does not need
- A demand forecast
- Safety-stock settings
- Service-level targets per SKU (defaults apply until you set them)
- Any connection to your ERP
Step 2 · Your data
Pseudonymised on arrival. One vault per workspace.
The demo above uses made-up records. When you upload real ones, this is what happens to them.
Codes are replaced before storage
Item, supplier and customer identifiers are keyed-hashed the moment a file lands. Contact columns are dropped, not stored.
One isolated database per workspace
Your rows live in a database that belongs to your workspace alone, on an encrypted volume in Frankfurt. No pooled tables, no cross-workspace learning.
Only your key opens it
Requests are authenticated per workspace and the key stays in your browser session. There is no administrator screen that lists workspaces.
Deletable on request
Ask and the workspace and its vault are removed. This website holds no workspace data at all.
Step 3 · Your network, reconstructed
Suppliers, port, central DC, branches, customers.
From the four files ZAAD rebuilds where stock sits and how it moves. Hover or tap a node. Switch the disruption controls further down and this map follows.
- Inventory
- 1,240 cases
- Pipeline
- 360 inbound
- Lead time
- transfer to branch 1 d
- Exposure
- pooled stock for two branches
Illustrative data for a hypothetical distributor. Not a customer result.
Both suppliers pass through one port: a shared failure domain. ZAAD treats the port as one risk, not two.
Step 4 · Uncertainty lab
Uncertainty is measured, not assumed.
Demand, lead time and fill rate each get a band from your own residuals. Toggle the world and watch the bands, then the decision, respond.
A young regime gets a wide band, then earns a narrower one as receipts confirm it.
Step 5 · Decision lab
Ten candidates, one state, six consequences.
For every SKU and location the planner evaluates the current plan and nine alternatives on the fitted world and a stress world. Hover a candidate.
Service is a target, not a score to maximise. Among candidates that meet it, the cheapest with the least inventory wins.
Step 6 · Incumbent first
The current plan is the first candidate, not the last.
A change has to beat what you already do, on your own history, with its downside checked. Otherwise the answer is to keep the plan and say why.
- Service 96% fitted, 93% under stress
- Inventory 1.7 periods
- No open exposures
- Service 97% fitted, 95% under stress
- Inventory 2.1 periods
- +31k capital
The alternative buys one point of service with 0.4 periods of inventory and 31k of capital. The current plan already meets every target. Nothing changes.
Step 7 · Four modes
LEAN by default. PROTECT, ALLOCATE and RECOVER when the evidence says so.
Switch a disruption on. Only the SKUs exposed to it change; the rest keep their plan. Switch it off and watch the protection unwind.
Bands are tight and every target is met. ZAAD holds the minimum that meets service and cancels or defers anything that lands too early.
A measured supply or demand risk threatens a target. Cover is added for the exposed SKUs only, placed where it pools best, with a decay clock.
Supply is short of committed demand. Scarce stock goes to the customers and contracts you rank highest, and the rest is told early.
Conditions have normalised. Temporary stock drains through demand first; new buying resumes only when the pipeline is clean.
| SKU | Profile | Exposure | Decision |
|---|---|---|---|
| SKU A | Import, Supplier A via port | not exposed | No change |
| SKU B | Import, Supplier A, trending up | not exposed | No change |
| SKU C | Local supplier, 3-day lead | not exposed | No change |
| SKU D | Import, Supplier B, substitute approved | not exposed | No change |
| SKU E | Slow mover, transfer from DC | not exposed | No change |
Step 8 · Allocation
When there is not enough, who gets it is your call.
Set priorities. ZAAD fills in that order and reports the shortfall it could not avoid, so the conversation with the customer happens before the truck leaves.
Priorities are yours to configure per customer group, SKU class or contract. Illustrative figures.
Step 9 · Recovery
Protection is temporary by design.
Every protected position carries a half-life tied to its source. When receipts run clean, cover unwinds through demand rather than through cancelled orders, and the SKU returns to LEAN.
- Four consecutive clean receipts from Supplier A
- Lead-time band narrows back to 21 days
- Protection half-life expires; no top-up order placed
- Temporary DC stock drains through branch transfers
- SKU A and SKU B return to LEAN
Step 10 · Before and after
Same week, two plans.
Drag the divider. The current plan is what the distributor would have done; the ZAAD plan changed three lines and left thirty-one alone.
Illustrative data for a hypothetical distributor. Not a customer result.
Step 11 · A common objection
Why not just forecast better?
Because most of the damage in distribution comes from supply, not from demand, and no demand forecast sees a late vessel.
A forecast is one number
A purchase decision needs a distribution: how wrong could this be, and in which direction. ZAAD carries the band, not the point.
The plan matters more than the point
Two distributors with the same forecast and different order timing carry very different stock. ZAAD optimises the timing and the placement, not the forecast alone.
Supply is the bigger variable
Lead-time tails, short shipments and shared routes move service more than demand error does. They are measured from receipts, per source, and protected against only when they are real.
Step 12 · The action space
Thirteen moves, not one.
Ordering more is one option among many. Toggle actions to see the direction each pulls the plan.
Directions are illustrative. In the product each action is costed on your data and gated against your current plan.
Step 13 · Human approval
ZAAD recommends. The operator decides.
Nothing is sent to a supplier. Every recommendation arrives with its reason and waits for a person.
- Defer PO 1842 by 7 days
Inbound lands 9 days before it is needed at the DC. Deferring keeps 31k uncommitted for a week with no service effect on the fitted or stress worlds.
- Transfer 120 cases from Central DC to Branch North
- Protect SKU B against Supplier A's lead-time tail
- Leave 31 other SKUs unchanged
Approving records the decision in your workspace. It does not place an order.
Run it on your own history.
A historical diagnostic replays your last year and shows what would have changed. If the answer is “keep doing what you do”, it says so.