At a glance
Daily fulfillment rate (FULFILLED ÷ total orders for that day) over the 90-day window. The operational pattern view: where are the dips, what is the day-of-week shape, and is the trend stable?
Calculation
Worked example
A UK skincare DTC brand on Shopify Plus, single 3PL warehouse. Period: 12 Feb 26 to 12 May 26.
Five things to notice:
- The 14 Mar 68% trough is the diagnostic moment. A single-day drop to 68% with surrounding days at 79 to 84% pinpoints the cause: that day’s order cohort included a high share of orders for an OOS hero SKU. Cross-reference Products with Zero/Negative Stock for 13-14 Mar.
- The recovery shape (5 days from 79% to 90%) is healthy. Continue Selling was disabled on 16 Mar; the rate climbed steadily as new oversell-orders stopped accumulating. Slow recoveries (>10 days) suggest the fix didn’t address the root cause.
- Day-of-week effect: Mondays are usually 2-4 ppt lower than Wednesdays. Most 3PLs don’t pick on Sunday so Monday morning starts with a backlog. The 30D average smooths this out; daily resolution preserves it. Mondays at the same level as Tuesdays would actually be a problem (it would mean the 3PL is picking weekend orders, which usually signals an emergency rush).
- Spring drop dip + recovery sequence is a textbook stockout cascade. Order volume spiked, hero SKU sold past available count, fulfillment rate dropped, the merchant turned off Continue Selling, the rate recovered. The full lifecycle is visible in 4 weeks.
- POS days don’t show as dips here. A retail-event day with strong POS sales lifts the rate (POS auto-fulfills). Brands running occasional POS pop-ups see Saturdays in pop-up cities measurably higher than Saturdays without.
Sibling cards merchants should reference together
Daily fulfillment rate is the diagnostic timeseries. Pair with these:Reconciling against the vendor’s own dashboard
Where to look in Shopify Admin: Shopify Admin doesn’t have a single fulfillment-rate-over-time chart. Reconstruct from:- Orders → filter by date and fulfillment status, count manually per day.
- [Apps like ShipStation, Better Reports]: build daily fulfillment-rate views.
- Settings → Shipping & delivery → Performance (Plus only): on-time delivery vs promised date, a stricter metric.
- Reports → Sales by fulfillment status: revenue split, complementary view.
Cross-connector reconciliation:
Known limitations / merchant FAQs
Why does the latest day’s bar look low? Sync lag plus partial-day. Today’s bar rises throughout the day as fulfillments complete. Yesterday and earlier are caught up. My weekly pattern shows Monday lows, why? Backlog. Most warehouses don’t pick on Sunday; Monday’s order cohort starts unfulfilled and catches up over Mon-Tue. A specific day shows a dip; how do I diagnose?- Cross-reference Products with Zero/Negative Stock for that day and the preceding 1-3 days.
- Cross-reference Cancelled Over Time; a simultaneous spike confirms a stockout cascade.
- Check 3PL / warehouse status on that day; an outage often shows up as a single-day dip.
- Check order volume; an unusually high-volume day with normal pick capacity will dip the rate mechanically.
- Open Fulfillment Breakdown for the affected days, find the bucket bleeding (OPEN, PARTIALLY_FULFILLED, IN_PROGRESS).
- If OPEN dominates, capacity issue at the 3PL; escalate.
- If PARTIALLY_FULFILLED dominates, stockout on a specific SKU.
- If IN_PROGRESS dominates, work in flight but not flipping; check whether 3PL is marking complete (sometimes API fail).
- Pair with customer-service comms; preempt SLA-breach inquiries.