Ecommerce Shipping Guide

Fill Rate, OTIF, and Cost per Delivered Order: A Diagnostic Metric Tree for Ecommerce Fulfillment

The most expensive argument in fulfillment is the one where both sides are right. The brand says, “We released the order to your warehouse in time.” The 3PL says, “We shipped it on time.” The customer's tracking page shows the package arriving four days after the delivery date promised at checkout. Every statement is true, and each reads a different clock: the order clock, the ship clock, and the delivery clock. Fill rate, OTIF, and cost per delivered order get argued about exactly this way: the same metric names, different definitions, different timestamps, different owners.

This guide is written for two audiences at once. On one side, operators at DTC and omnichannel brands who own these numbers. On the other, 3PL operations leads and account managers who execute against them. The goal is a shared diagnostic tree and a reconciliation manual that both sides can sit behind: one definition for each metric, one causal chain underneath them, and one rule for deciding which lever to pull when a number moves.

The core claim is that fill rate, OTIF, and cost per delivered order are not three separate dashboards. They are one system with one causal chain running underneath them, and the right way to read them is as a tree that sits on a chain. The tree shows symptoms; the chain holds the causes. To make the method concrete, a fictional US DTC home goods brand called Harbor and Pine runs through the whole guide on the same baseline data set: 10,000 orders in one month, an order fill rate of 91%, an OTIF of 78%, and $10.20 of fulfillment and shipping spend per delivered order. Every Harbor and Pine number is illustrative, built to stay internally consistent so each diagnostic step can be traced and re-run by the reader.

Brand operations lead and 3PL account manager review a tree-shaped scorecard in a warehouse office.
One tree, one set of numbers, both sides at the same scorecard

Why the Three Metrics Form One Tree, Not Three Dashboards

Each headline metric reads a span of the same journey. Order fill rate reads the promise: did we have the stock and ship the order complete? OTIF reads execution and transit: did the complete order leave on time and arrive by the promised date? Cost per delivered order prices the whole journey: labor, parcel spend, surcharges, and the failed attempts in between. Because the spans overlap, a movement in one headline number is usually caused upstream, in a stage that another metric owns. When OTIF is red while fill rate is green, the problem sits in release and execution, not in inventory. When cost is red while service is green, the problem sits in the rate card, the zone mix, or packaging, not on the warehouse floor. The metric that displayed the symptom is rarely the metric that caused it.

That asymmetry defines the diagnostic direction: when a top-level number moves, hunt upstream first. Top numbers are symptoms. The branch nodes are causes. The leaves are actions, and every leaf action has one owner: the brand, the 3PL, or the carrier. This is why the three metrics belong on a single tree. A dashboard shows each number by itself, which invites each side to defend its own number. A tree forces the question in the other direction: which branch moved, and which owner's leaf do we touch?

Diagram: one tree with three headlines (order fill rate, OTIF, cost per delivered order) sitting on one causal chain (inventory availability, picking completeness, cutoff and first scan, in-transit performance, successful delivery), with each metric linked to the stages it reads
The tree shows symptoms; the chain holds the causes

Harbor and Pine's baseline gives the tree something to diagnose. The brand sells candles, ceramics, and textiles from a single 3PL warehouse in the Midwest, with most customers on the coasts. Its current month reads 91% order fill, 78% OTIF, and $10.20 per delivered order. Management wants to reach 97% fill, an OTIF in the high 80s, and cost per delivered order at or below $9.40 within one quarter. Reaching that target is not a matter of pushing all three dials harder. It is a matter of finding, on the chain below, which stages are actually broken.

The Causal Chain Under the Numbers, with Carrier Events and Shipping Cost Attached

Six stages run under all three metrics, and every order passes through them in order. Stage one, inventory availability: forecast accuracy, safety stock, replenishment lead time, and stock placement decide what can be promised, and this stage feeds the in-full side of fill rate. Stage two, picking completeness: allocation, pick accuracy, and pack verification decide what is actually shipped complete, and it feeds in-full at execution. Stage three, cutoff and first scan: the brand's order release timing and the 3PL's cutoff discipline decide whether the order ships today or tomorrow, with the first scan as the proof. Stage four, in-transit performance: carrier transit tables, weekend handling, and exception events decide how many days the package actually takes. Stage five, successful delivery: attempts, failed attempts, reattempts, and the final delivery scan close OTIF and define what a delivered order is. Stage six is the cost view: labor from the early stages plus parcel spend and surcharges from the later ones, folded into one number per delivered order.

The headline metrics sit on the chain at fixed seats. Order fill rate reads stage one, the promise, with its shortfalls surfacing when stage two executes against it. OTIF reads stages two through five: complete at pick, shipped by cutoff, delivered within the promised window. Cost per delivered order prices the entire chain, which is why it moves when any other stage misbehaves.

Carrier events attach to the chain as evidence. After cutoff, every handoff is verified by a scan: first scan proves the ship date, transit scans track progress, exception events flag problems, and the delivery scan closes the loop. Without carrier scans, the delivery half of OTIF cannot be verified at all, which is why the two sides must agree on which scan drives which metric before they agree on anything else. Shipping cost attaches on a different schedule: money is decided upstream and spent downstream. The box size chosen at pack, the release timing that decides tonight versus tomorrow, and the service level selected at checkout are decided early; the spend lands later as zone and weight, DIM, residential and fuel surcharges, and the cost of failed attempts and reattempts. This timing gap is why cost arguments always lag service arguments by a week or two.

Because each stage has a different owner, each archetype fix repairs exactly one stage. Three levers cover most disputes:

LeverRepairs this stage of the chainCannot fix
Raise safety stockOrder-level fill losses from stockouts, phantom stock (committed or miscounted units the system still counts as available), and long replenishment lead timesIncomplete picks, late ship scans, carrier transit variance, or the cost of faster shipping
Improve warehouse executionIncomplete or inaccurate picks, cutoff misses, first-scan latency, allocation rulesStockout-driven fill loss, carrier transit variance, or a rate card too expensive for the zone mix
Switch carrierTransit time variance, weekend handling gaps, delivery success rate, some surchargesPhantom stock and inventory gaps, self-inflicted late release, oversized-box costs, or delivery failures caused by bad address data upstream

The boundaries are the point. A team that reads the tree correctly stops applying one favorite fix to every symptom and starts asking which stage is broken first. If the brand's release feed is late, no carrier switch fixes it. If the box is too big, no warehouse pep talk fixes it. Harbor and Pine will hit all three traps in the sections below, and each time the chain is what points back to the right stage.

The Fill Rate Subtree: Inventory Availability and the Promise

Definitions come first, because “fill rate” is three different metrics wearing one name. Order-level fill rate is the share of orders shipped complete, and it drives customer experience: one missing line makes the whole order feel failed. Line-level fill rate is the share of order lines shipped complete, and it drives backorder and split-shipment complexity. Unit-level fill rate is the share of units shipped, and it matters mostly inside the warehouse for picking operations. Report order fill externally and for customer experience, track line fill to see how many orders split or wait, and keep unit fill as an operational input. Reporting the wrong level is itself a reconciliation dispute, because a 91% order fill rate and a 97% unit fill rate describe the same month.

The fill rate subtree walks upstream from the headline through five nodes: demand forecast accuracy, safety stock, replenishment lead time, stock placement, and the order promise or backorder logic. Every shortfall traces to one of them. The classic leaks sit at three nodes. Phantom stock is stock the system says is available but the pick wave cannot allocate, because units are committed to a pending wholesale order, sitting in a QC hold, or miscounted. Split shipments leak when a policy ships partial and the customer-facing metric counts the order as not complete. Backorder logic leaks when the promise at checkout keeps an order open past its original date instead of splitting it or canceling it, quietly pushing the order out of the fill window.

A gap between boxes on a warehouse shelf beside a corrected inventory count.
Stock the system says is there but the pick wave cannot touch: the quietest of the three classic leaks

Harbor and Pine's 91% means 900 of its 10,000 orders were not shipped complete. Bucketing those 900 by cause shows a clear shape: 550 from stockouts, 200 from phantom stock, 150 from a no-split backorder policy.

Stacked bar chart: what happened to Harbor and Pine's 10,000 orders (fill rate view), shipped in full 91%, short by stockout 5.5%, short by phantom stock 2%, short and held by no-split policy 1.5%
Bucket the shortfall first; the shape tells you which nodes to walk

Walking the subtree finds the broken nodes. The stockout bucket traces to forecast accuracy and safety stock: the hero SKU, a candle that rides in 4 of every 10 orders, sold 12% ahead of forecast during a flash sale and burned through its 6 days of safety stock in 4 days, with the next ocean container still five weeks out. The phantom bucket traces to an availability rule: a standing allocation committed sellable units to a pending wholesale order, so the catalog promised stock the warehouse could not pick. The no-split bucket traces to promise logic: two-unit orders waited for both lines instead of shipping the available line and telling the customer. None of this was a carrier problem and none of it was a picking problem. The chain points at stage one, inventory availability, and the levers are safety stock, the allocation rule, and the promise policy.

Alignment card: “in stock” by whose clock. The brand catalog and the 3PL WMS can disagree about what is sellable for three reasons: allocation rules that reserve units for other channels or wholesale, hold locations the system still counts as available, and the frequency of the inventory feed between the two systems. Agree in writing on what “available” means, when it is refreshed, and who owns the promise made at checkout. During promotions, agree on allocation rules in advance rather than discovering them in the post-mortem.

The OTIF Subtree: Picking, Cutoff, Transit, and Delivery

OTIF decomposes cleanly: on-time times in-full, measured on the same orders, [^1] the definition that has become the industry standard for delivery reliability. In-full is the fill rate handoff decided upstream, which is why fill rate and OTIF move together and why arguing about them separately is usually a mistake. On-time splits in two: shipped on time (release and cutoff discipline) and arrived on time (transit performance against the promised delivery date). Harbor and Pine's 78% is 91% in-full times 85.7% on-time, and the shortfall is concentrated on the on-time side.

The OTIF subtree runs through six nodes: order release and cutoff, pick wave, pack and manifest, carrier handoff, the carrier transit time table, and the delivery scan. The leaks have distinct owners. Late EDI or late order release is brand-owned: the brand decides when orders reach the 3PL. Wave batching, SLA misses, and first-scan latency are 3PL-owned. Carrier transit variance and weekend handling gaps are owned jointly by the carrier and the 3PL, because the 3PL chose the carrier and the carrier chose the schedule. Naming the owner per node is what turns an OTIF argument into a fix list.

Harbor and Pine's month: 1,430 of 10,000 orders arrived late, a 14.3% on-time leak. (A late order can also be short; 130 of these were, and they already appear in the fill shortfall above. When two drivers overlap, the bucket goes to the first stage on the chain that failed.)

Bar chart: Harbor and Pine late orders by primary driver, shipped after cutoff 620, transit over promise 520, delivery exceptions 290
The 1,430 late orders stack in three layers: one brand-owned, one 3PL-owned, one carrier-owned

The diagnosis reads owner by owner. The 620 late-ship orders split two ways: 350 released by the brand after the 3PL's cutoff on the two flash-sale days, when the order feed ran three to four hours late, and 270 caught in the 3PL's Monday wave, which missed the 4:00 p.m. cutoff and shipped the next day. The 520 transit-variance orders were shipped on time but overran their promise: the carrier's published table says five days to West Coast zones, but with no weekend processing the actual span ran six to seven days, and one exception spike mid-month added another 40. The 290 delivery-exception orders split between 210 failed first attempts at multi-unit addresses and 80 address-quality problems that cost a reattempt each. The pattern is stacked, not single: a brand-owned release miss on promo days, a 3PL-owned wave miss on Mondays, and a carrier-owned transit table that overpromises on the longest lanes. Fixing only one of the three leaves most of the 14.3% on the table.

Alignment card: on time, measured where. Decide once whether on-time is measured at ship or at delivery, and record that the customer-facing promise includes transit days. Agree on what a delivery window means: by the end of the promised day, or within a stated number of days after the promise. Agree who owns transit days in the SLA report: the 3PL owns the span from order release to first scan, the carrier owns first scan to delivery scan, and the brand owns the promise date shown at checkout. Keep the DIM and zone tables both sides use for quoting accurate, because a wrong zone table quietly breaks the transit promise before any package moves.

The Cost per Delivered Order Subtree: Labor Through Final Delivery

Cost per delivered order needs the same definition discipline as the other two, starting with the denominator. A delivered order is an order with a successful delivery, so failed attempts and reattempts sit inside the number, not outside it. Orders that are never delivered, returned to sender or lost, drop out of the denominator but their freight and reattempt spend stays in the numerator. That is deliberate: the metric answers the question “what did it cost to get each successfully delivered order done,” and an undeliverable spike shows up as a higher cost per delivered order rather than vanishing from the report.

The cost subtree runs through six nodes: pick and pack labor, packaging, parcel spend by zone and weight, surcharges (DIM, residential, fuel), returns handling, and failed delivery with reattempts. The coupling to service is the reason this metric cannot be managed alone: the same root causes that cut OTIF inflate cost. An oversized box triggers DIM, [^2] because carriers bill whichever is greater, actual weight or dimensional weight. A missed cutoff forces a next-day air upgrade on a few urgent orders. A failed first attempt pays for the delivery attempt, the reattempt, and often a second surcharge, with the reattempt labor alone averaging around $17 per failed package in industry studies. [^3] Service problems and cost problems share causes, so fixing the cause moves both numbers in the same direction.

Harbor and Pine's $10.20 per delivered order decomposes into six components.

Bar chart: Harbor and Pine cost per delivered order by component, pick and pack labor 2.10, packaging 0.90, parcel base freight 5.40, surcharges 1.30, failed delivery and reattempts 0.30, allocated returns handling 0.20
Six lines of cost; three of them are service problems waiting for an operational fix

The tree finds the leaks where the service tree already found causes. The DIM piece is the first one: bundled candle and ceramic orders ship in a box one size too large, and the DIM overcharge adds roughly $0.50 of the $1.30 in surcharges. The missed cutoffs from the flash-sale days forced 62 orders onto two-day air at $6 to $9 extra each, a rounding error in the average at about $0.05 per order but pure margin burn on those 62. The 210 failed first attempts at roughly $14 each in reattempt cost land at $0.30 per order across the month, matching the reattempt line. Pick and pack labor at $2.10 and base freight at $5.40 sit where the rate card and zone mix put them, and the zone mix is heavy to the coasts, which is a placement conversation, not a warehouse conversation. Fixing DIM, cutoff discipline, and address quality is worth roughly $0.85 per delivered order before touching a single rate card.

Alignment card: what each side puts in the numerator. The brand's landed-cost view includes parcel freight, surcharges, reattempts, returns handling, and the labor it pays the 3PL. The 3PL's operating-cost view includes labor, packaging, facility, and equipment, but usually excludes the parcel freight the brand pays directly to the carrier. The two views are not supposed to match; they are supposed to reconcile, meaning each side states what is in and what is out, and the meeting compares like with like. Write the numerator and denominator into the SLA so “your cost is higher than our cost” becomes a definitional statement instead of an accusation. For the full treatment of the denominator and failed-delivery cost, see our cost per successful delivery guide.

Where the Branches Pull Against Each Other: Tradeoffs

The three branches pull in different directions, and a team that optimizes each headline alone will fight itself. Raising fill rate ties cash in safety stock and may shorten the runway for new products. Raising OTIF usually means faster service, which usually means more expensive service. Cutting cost risks both fill and on-time, because the cheapest box, the cheapest lane, and the leanest safety stock all leak into the other two metrics. Add the subtler failure: overservice. Buying two-day air everywhere buys OTIF points that no customer is churning over, and the spend shows up as a silent cost leak.

The arbitration frame is marginal, not average. Compare the marginal cost of the next service point against the marginal revenue and retention it earns: how many of the orders currently arriving late are at genuine churn risk, and what is one of those customers worth? The guardrail metric that keeps the comparison honest is cost per perfect delivered order, where perfect means on time and in full. It is the only number that couples the two service headlines to the cost headline, and it is the metric to trend monthly when the branches pull against each other. For quantifying what a late delivery costs you in repeat purchases, see our guide to measuring shipping's impact on repeat purchase rate.

The decision rule follows the chain: fix operational root causes before buying speed, and buy speed only once the branch it sits on is clean. Harbor and Pine illustrates the order of operations. Pulling the release feed earlier and agreeing a Monday pre-cutoff wave with the 3PL recovers most of the 620 late-ship orders at near-zero freight cost. Right-sizing one box and fixing address validation at checkout cuts DIM and reattempt spend. Only after those land does the brand evaluate faster transit on the West Coast lanes, and then only by comparing the marginal freight against the marginal retention the faster promise earns. Buying air before fixing the release feed buys speed that the release feed then wastes.

Making It a Shared Language: The Brand-3PL Reconciliation Manual

Everything so far collapses into one page that both sides sign: a definitions table, a data timeline, a scorecard cadence, and worked dispute examples. The definitions table is the contract. Each row names the metric, what is included, which clock reads it, and who owns it.

Three people from two teams draw a shared metric tree and review scan timestamps on a whiteboard.
Put the timestamps on the whiteboard before you argue about the numbers
MetricIncludedClock that reads itOwner
Order fill rateOrders shipped complete vs orders placedShip scan vs order date3PL execution; brand promise at checkout
Line / unit fill rateLines or units shipped vs orderedShip scan3PL (operational input)
On-time shipOrders with first scan by cutoffOrder release and first scanBrand release timing; 3PL cutoff discipline
On-time deliveryOrders with delivery scan by the promised dateDelivery scan vs promise date at checkoutBrand promise; carrier transit; 3PL carrier choice
OTIFOrders on time and in fullSame two clocks aboveShared, node by node
Cost per delivered orderTotal fulfillment and shipping spend / successful deliveriesInvoice periodShared, numerator split defined

The data timeline is the second agreement: order placed, order released, pick started, ship scan, carrier delivery scan. Each metric reads a specific pair of points on that line. Order fill reads ship scan against order date. On-time ship reads first scan against cutoff. On-time delivery reads the carrier delivery scan against the promise date shown at checkout. If the two sides disagree about which pair a metric reads, they will disagree about the number even with identical data, so the timeline is written down before the first scorecard. For turning these agreements into an SLA and a first reconciliation meeting, see our 3PL communication and SLA first 90 days guide.

The scorecard cadence separates execution from business. Weekly, run the operational review on the leaf nodes: cutoff compliance, first-scan latency, pick accuracy, allocation failures, and exception counts, each owned by the party named in the previous section; this is the raw material of a 3PL operations scorecard, covered in our 3PL parcel shipping performance scorecard guide. Monthly, run the business review on the three headlines plus cost per perfect delivered order, and make the lever decisions. The data handoff that makes the whole tree computable from one shared record is short: order ID, SKU, quantities ordered, allocated, and picked, the promise date, the release timestamp, the first scan, the delivery scan, the carrier, the zone, weight and DIM, surcharge line items, and exception events. Both sides exchange this as a flat record every week, so either side can rebuild the tree from the same rows.

The disputes then resolve themselves against the written definitions. “We shipped on time” versus “the customer received late” is not a contradiction: one reads the first scan against cutoff, the other reads the delivery scan against the promise, and the promise includes transit, so both statements are true and the SLA report shows which node failed. Returns are counted as shipped orders in the period they ship, excluded from the delivered denominator if never delivered, with their handling cost allocated in the numerator. Reattempt surcharges go to the party whose failure caused the reattempt: bad address data at checkout is the brand's, a mis-sort by the carrier is the carrier's, and the 3PL's contract states the default when the cause is disputed.

A Five-Step Diagnostic You Can Run This Week

The whole tree reduces to five steps, run the same week on both sides. One: pull the three numbers for the same period under the same definitions, using the table in the previous section, and resist the urge to relitigate definitions during the pull. Two: find the deepest broken branch on the chain, using the primary-driver bucketing from the earlier sections rather than the headline that turned red. Three: pick the one lever whose boundary matches that stage, and do not apply the favorite fix to a different stage. Four: agree the owner and the re-measure date with the 3PL in writing, with the node-level data from the weekly review as the evidence base. Five: review against the guardrails after 30 days, cost per delivered order and cost per perfect delivered order, and confirm the branch moved before declaring victory.

Escalation triggers separate operational fixes from structural ones. If the broken branch needs more safety stock, an added carrier, a renegotiated rate card, or redesigned packaging, it is structural: it needs capital or a contract change, it moves on a quarter-long clock, and it should be escalated to the monthly business review rather than patched in the weekly one. If the branch needs release timing, wave discipline, or address validation, it is operational and belongs in the weekly review with an owner and a date.

Harbor and Pine runs the five steps and lands its action list: fix the availability feed and the wholesale allocation rule, raise safety stock on the hero SKU with a shorter replenishment promise, re-time the brand release feed with a Monday pre-cutoff wave, switch the long-zone lanes to a carrier with weekend processing, and right-size the bundled box with address validation at checkout. Each action maps to one stage of the chain, one lever, and one owner. The tree only works if both sides report from the same root and read the same chain. On the day both sides can open the same flat record, pull the same three numbers, and point at the same broken stage without a definitions argument, the diagnostic has done its job. When you want to act on the cost branch, compare carrier options on your real zone, weight, and DIM profile with our shipping rate calculator, and see our pricing page for executing through the Portal, Excel, or the API.

EasyShippingX is a channel-neutral shipping layer for comparing US domestic carrier options and executing on them through the Portal, Excel, or the API. Our position starts where the diagnostic ends: when the broken branch points at the rate card, the zone mix, or the carrier choice, you compare carrier rates on your real parcel profile and execute; when it points at inventory, picking, or cutoff, the fix lives in the warehouse, not in the shipping layer. This guide belongs to our 3PL shipping operations series: put the three headlines on one tree first, then keep the weekly leaf data and the monthly lever decisions aligned.

FAQ

Because each side reads a different clock on the same timeline. The brand reads the checkout promise and order release, the 3PL reads first scan against cutoff, and the customer reads the delivery scan against the promise date. Agreeing which pair of points each metric reads has to be written down before the first scorecard; the definitions table in section 7 is that contract, with six rows: order fill, line/unit fill, on-time ship, on-time delivery, OTIF, and cost per delivered order.
Three: order level (orders shipped complete, used externally and for customer experience), line level (lines shipped complete, used to see splits and waits), and unit level (units shipped, a warehouse operations input). Reporting the wrong level is itself a reconciliation dispute: a 91% order fill and a 97% unit fill describe the same month. Report order fill externally, track line fill internally, and keep unit fill as an operations input.
Because OTIF is on-time times in-full. In the Harbor and Pine example, 91% in-full times 85.7% on-time equals 78%, with the shortfall concentrated on the on-time side: 1,430 of 10,000 orders arrived late, 130 of which were also short and already counted in the fill gap. In-full is the handoff from fill rate upstream, which is why the two metrics move together and arguing about them separately is usually a mistake.
Raise safety stock only fixes fill losses from stockouts, phantom stock, and long replenishment lead times; it cannot fix incomplete picks, cutoff misses, or transit variance. Improve warehouse execution fixes picking, cutoff, and first-scan latency, not stockout-driven fill loss or a rate card that is too expensive for the zone mix. Switch carrier fixes transit variance, weekend handling gaps, and delivery success rate, not phantom stock, self-inflicted late release, oversized boxes, or bad address data upstream. Ask which stage broke first, then pick the lever.
Weekly, run the operational review on leaf nodes: cutoff compliance, first-scan latency, pick accuracy, allocation failures, and exception counts. Monthly, run the business review on the three headlines plus cost per perfect delivered order, and make the lever decisions. Structural fixes (safety stock, carriers, rate cards, packaging) move on a quarter clock and escalate to the monthly review; operational fixes (release timing, wave discipline, address validation) belong in the weekly review with an owner and a date.