STATvault Request a demoDemo

The Dispatch Scorer

The Dispatch Scorer: how it works in StatVault.

What it is

The scorer is the math behind every "Zippy suggests" you see. When an order needs a driver, it scores every driver who could take it and puts the best fit at the top. It runs on plain data (positions, workload, history, your declared preferences), not the AI chat model, so a suggestion is instant and free.
The scorer suggests. You decide. A score never assigns an order by itself: a person clicks a name. The one exception is an Automaton rule that an admin has explicitly switched to live (see below); everything else, including every Zippy suggestion, waits for you.

Where you see it

What goes into a score

The three history signals behind that line (the lane a driver owns by destination, time of day and weekday; the habitual driver for this destination on this weekday from within two miles of the pickup; and the dispatcher echo of who picked up at this origin in this time bucket) all come from one shared scan of the last 60 days of orders in lib/work-history.js, refreshed every four hours per organisation. The same scan feeds the weekday roster, and it also records whether each order was Pre-Scheduled or On Demand. The roster uses that; the score does not. Each signal keeps the exact rule it had when it ran as its own query, so a suggestion does not change because the reads were merged.
Time buckets. "Time of day" means one of six buckets in your organisation's own clock: Earlybird 5a-9a, Morning 9a-12p, Afternoon 12p-3:30p, Rush 3:30p-6p, Evening 6p-10p, Night 10p-5a. Until Sep 27 2026 Morning and Afternoon were a single 9a-3:30p "Day" bucket, which blended the morning shift with early afternoon; splitting it makes lane history and time-scoped preferences sharper. Preferences that were scoped to "Day" now cover Morning and Afternoon, and price and pay baselines were rebuilt under the new buckets. A lane that only a few past orders support can drop below the minimum for a while after the split, until enough new history builds up.When the top score is low, the top three are bunched together, or rules were bent on a STAT or critical-site order, the scorer escalates. If your organisation has AI briefs turned on, Zippy then writes a short brief with a recommendation and alternatives, including the notes kept for the pickup and drop buildings in Site Intelligence (a stop not yet linked to a building is matched by its name). Briefs are rate-limited on purpose: prompts are meant to be scarce, not constant.

Common tasks

  1. Read a suggestion. Look at the name, the score, and the reasons (hover the score in the picker, or click why? in order detail).
  2. Pick someone else. Just assign the driver you want; nothing blocks you. Your choice is recorded next to the suggestion so the Scorecard can show where the scorer was wrong. If reason chips appear, picking one helps.
  3. Tell the scorer to avoid or prefer a driver. Tell Zippy in chat ("avoid driver 512 at Stamford on weekends") and it declares an intent. Command Center's Brain tab lists these under Declared Policy; questions under Needs an Answer can be answered with an intent (Preferred Driver, Avoid Driver — a Lane Preference answer is recorded but no longer changes a score). To take a driver out of the running for a day, mark them out on the coverage calendar (or tell Zippy "X is out Friday"), not an intent.
  4. Read the Scorecard. Command Center, Scorecard tab: Exact pick (top-1), In top 3, Overridden, Override Reasons, Recent Misses (Zippy wrong). Grades are computed at the moment you assign, against the list you were shown then. Orders that arrive already assigned, and batch assigns, are not graded.

Things that confuse people

On an order menu, Ask Zippy about this sends only the order reference as page context; Zippy re-reads the live order and scorer evidence on the server.

Related