Bottom line first: once your WMS data is flowing into Power BI, forget about making the dashboard pretty. Watch three metric groups — days of cover, slow-moving tiers, and stockout signals. Those three save money and prevent stockouts. Everything else is decoration. Across 30-plus WMS go-lives, I have seen the same split play out: warehouses that use BI only for a monthly report stop opening the dashboard within six months, while warehouses that pin these three metrics to their weekly ops meeting and their buying meeting actually push dead stock down.

Why these three? Because they map exactly to the three most expensive warehouse problems: stock that turns too slowly and traps cash on the shelf, stock that does not move at all while still paying rent, and stock that is about to run out while sales has no idea. A dashboard can put all three on one screen — but only if the definitions are locked down first. Without agreed definitions, a WMS Power BI report is just an argument generator: ops says turnover is 45 days, finance says 62, purchasing says both numbers are wrong, and in the end nobody trusts the dashboard.

The three metric groups that actually earn their keep in WMS Power BI

First, days of cover. One formula: days of cover = average inventory cost over the period ÷ cost of goods shipped in the same period × days in the period. Three details matter. Use cost on both sides, not sales value, or high-margin categories will always look like they turn beautifully. Use at least a quarterly window; a single month gets distorted by promotions and replenishment waves. And use the average of opening and closing inventory, not a single end-of-period snapshot. I have watched a warehouse panic over a doubled days-of-cover figure taken right after a pre-peak replenishment — the stock shipped out the following week, and the "crisis" never existed.

Second, slow-moving tiers. Do not split stock into just "moving" and "dead." Tier it: moved within 90 days is healthy; no movement for 90 to 180 days goes on a watch list; 180 to 365 days goes on a decision list; over 365 days goes on a disposal list. Tiering assigns ownership — the planner watches the watch list, purchasing and sales decide the decision list together, and the disposal list gets a deadline. An untiered dead-stock report always ends up as one long list nobody owns.

Third, stockout signals. This group gets ignored the most, because it reports something that has not happened yet. Watch two numbers: days of cover remaining on hand (on-hand stock ÷ average daily shipments over the last 30 days), and whether inbound purchase orders will arrive in time to bridge the gap. Cover falling below the safety level with no inbound to catch it is a red light. And it must be measured per SKU — averaging by category hides the fast mover that is about to run dry.

I have seen this pitfall three times: in the first week after go-live, everyone celebrates the category with the best turnover, and nobody notices that one best seller has only 9 days of cover left while its supplier lead time is 6 weeks. When the stockout hits, sales loses the order — and the post-mortem finds the signal was already lit on the dashboard, never turned into an action item.

If the definitions are not agreed, the dashboard just starts arguments

Write the definitions down and pin them next to the dashboard. Five rules are enough:

  1. Days of cover uses cost, on a rolling quarterly window — never a single month.
  2. "Movement" means a shipment out, not a transfer and not a cycle-count adjustment. Count a transfer as movement and a dead SKU comes back to life just by being moved to another bin. Close that loophole.
  3. Dead-stock days count from the last shipment date, not from the receiving date. Fresh replenishment must not be labeled dead on arrival.
  4. Stockout safety levels are set per category: A-class fast movers carry a full buying cycle plus buffer, C-class long-tail items can run leaner. One blanket threshold for the whole warehouse is wrong.
  5. Every definition change gets logged. Change a definition without a record and the historical trend breaks — three months later nobody can explain why the curve jumped.

Once the definitions are settled, the question of how WMS data gets into BI and how fields are mapped is a separate job. If you are still at the integration stage, get the WMS to BI integration approach for inventory reporting right first, then come back and lock the definitions — doing it in the other order means rework.

Two projects where we ran the numbers

The first was a home-goods 3PL in California's Inland Empire, dashboard live in the fall of 2024. The slow-moving tiers came back ugly: SKUs with no movement for 180 days or more occupied roughly four in ten bin locations, many of them tail stock from a big client's custom line two years earlier. The fix followed the tiers: the watch list was left alone, the decision list went to sales for discount clearance, and the disposal list went through a write-off process for items nobody wanted. Within about three months the dead-stock footprint was down close to half. The rent saving was real, but the bigger win was the freed space, which took on a new client.

The second was a small-appliance seller heading into peak season in 2025. The stockout signal lit up two months before peak: three hero SKUs had dropped under two weeks of cover, with inbound orders still more than a month out. Purchasing's first instinct was to wait, because the on-hand numbers still looked fine on screen. We broke cover down per SKU, and one of the three was already climbing in daily shipments ahead of peak — its on-hand would not last two weeks. They did two things: air-freighted a small emergency batch to guarantee no gap, and pushed the promotion schedule for the other two SKUs back by a week. Peak ended with zero lost orders on all three, while competitors in the same category were stocking out.

A Power BI decision framework for slow-moving stock

Dead stock suffers from two failure modes: never discussing it, or clearing all of it in one meeting. The first is slow bleeding; the second sells off stock that still has value. Work the tiers instead, with an action, an owner, and a deadline for each:

Tier Action Owner Deadline
90–180 days, watch Weekly review of shipments, no action yet Planner Rolling review
180–365 days, decide Discount clearance, bundling, or return to supplier — pick one of three Purchasing + Sales Decide within 30 days
Over 365 days, dispose Clearance, donation, or write-off, with a hard date Ops lead Cleared within 60 days

One counterintuitive judgment: faster turnover is not always better. Push days of cover too low and the headline looks great, but the safety buffer is gone — one supplier delay and you stock out. Healthy turnover is "enough, and never out," not "as fast as possible." And not all dead stock is a mistake. Some of it is strategic cover for a key account, some of it is seasonal product sitting in the off-season. Tag those "intentionally held" and exclude them from the disposal list first, or you will clear this year what you need for next year's peak.

Go-live night checklist: I have seen this pitfall three times

Run down this list the night before the dashboard opens to everyone. Do not open it up with an item unchecked:

  1. Definitions for cover, slow-moving, and stockout metrics are signed off and posted next to the dashboard.
  2. "Movement" counts shipments only — transfers and count adjustments excluded, verified against three sample SKUs.
  3. The four slow-moving tiers and their owners are entered in the system, not just written in a document.
  4. Stockout red-light thresholds are set per category, not one number for the whole warehouse.
  5. The disposal list has deadlines and owners, with a review scheduled three months out to check execution.
  6. The dashboard has an owner — one person who looks at it every week and chases the actions. A dashboard with no owner is dead within three months.

One question to take back to your warehouse: do you have a dead-stock list right now that nobody has opened in six months? If so, do not buy a new tool first. Run that list through the tiers above, fill in the action and the owner for each line, and see what moves. Most warehouses do not have a reporting problem. They have a list nobody owns.

By Lin Xiao, WMS Implementation Consultant