maiven gateway · online··
manifest · 1d ago
Sign in
Back to catalog
MAIVENmodelmetrics

metric_fulfillment

beta
metric table

OTIF, on-time, and in-full rates by segment, region, temp class, and carrier over time.

Definition

The certified fulfillment-performance metric for the 3PL warehousing domain. One row per (ship_month × client_segment × site_region × temp_class × carrier) carrying raw COUNT columns — `order_count`, `units_shipped`, `otif_count`, `on_time_count`, `in_full_count` — never pre-divided rates. `ship_month` is `toStartOfMonth(ship_date)` over shipped orders only, so it is a trend surface and the counts are correct denominators for on-time / OTIF rates. The metric layer exposes `otif_rate` / `on_time_rate` / `in_full_rate` as FORMULA measures (count / nullif(sum(order_count), 0)) so multi-bucket roll-ups recompute correctly rather than averaging pre-averaged percentages. Nullable dims are coalesced to `unknown` upstream so they stay visible rather than dropped.

Watch out for
  • highTreating a count measure as a rate

    `otif_count` / `on_time_count` / `in_full_count` are counts, not rates. Request the `otif_rate` / `on_time_rate` / `in_full_rate` formula measures — the metric layer divides by `order_count` with `nullif` window-correctly. Reading a count as a rate is a category error.

  • mediumReading a single month as the full-period rate

    The grain is keyed on `ship_month`. Sum the counts across the relevant month range and let the formula measure divide — dividing per-month pre-aggregated outputs client-side is an average-of-averages, biased across buckets of unequal size.

  • mediumComparing carriers blind to temp class

    Carrier on-time performance varies structurally by `temp_class` (frozen vs ambient lanes differ). Slice by `temp_class` before ranking carriers, or a mix-shift will distort the comparison.

Questions this answers
  • “What was OTIF for life_sciences clients in the EU last quarter?”
  • “Which carrier has the best on-time rate for frozen goods?”
  • “How does in-full rate trend by temp class this year?”
Related metrics
  • pick_accuracy

    Fed by the same `mart_fulfillment_daily` rollup — pairs delivery performance (OTIF / on-time / in-full) with picking quality (accurate lines / total lines) for the same buckets.

  • returns_rate

    Uses this metric's shipped-order count as the denominator for the return rate — pair to read fulfillment quality against downstream returns.

10 of 10
Column
Type
Description
Tests · PII
ship_month
Date
First day of the ship month (toStartOfMonth of ship_date), shipped orders only. Grain + sort / partition key.
1 test
client_segment
LowCardinality(String)
Owning-client segment — automotive / chemicals / fmcg / fashion / high_tech / life_sciences; `unknown` when unmapped. Dimension + sort key.
1 test
site_region
LowCardinality(String)
Fulfilling-site region — EU / UK / NA / APAC; `unknown` when unmapped. Dimension + sort key.
1 test
temp_class
LowCardinality(String)
Temperature class — ambient / chilled / frozen; `unknown` when unmapped. Dimension + sort key.
1 test
carrier
LowCardinality(String)
Carrier code; `unknown` when unmapped. Dimension + sort key.
1 test
order_count
UInt64
Count of shipped orders in the bucket. Summed by the metric layer; the denominator for OTIF / on-time / in-full formula rates.
1 test
units_shipped
Nullable(Int64)
Units shipped in the bucket. Summed by the metric layer.
1 test
otif_count
UInt64
Count of on-time-in-full orders in the bucket. Numerator of the `otif_rate` formula measure.
1 test
on_time_count
UInt64
Count of on-time orders in the bucket. Numerator of the `on_time_rate` formula measure.
1 test
in_full_count
UInt64
Count of shipped-complete (in-full) orders in the bucket. Numerator of the `in_full_rate` formula measure.
1 test