Product Complexity Model

Best in Present mode →
How to read this

Left to right is the life of a product: order, receive, store, make, package, inspect, store, pick, pack, ship.

Every thin line is one item. Blue lines are things being made and shipped. Amber lines are packaging. Grey lines on the left are things being bought. A triangle is one item sitting in stock.

Drag the slider to grow the operation from Day one through Early and Mature to Sprawling. Nothing about the process changes. Only the number of items does.

Tick Rework and scrap to see what complexity costs in things done twice or thrown away. Red curls with broad arrows are items that went round a step again. Scrap runs along one red line to the dumpsters at the bottom right, one dumpster for every 8 scrapped items. At Receiving the arrows are returns to source: goods sent back toward the vendor after a wrong item, a wrong count or a purchase order mismatch, and the scrap is goods rejected or damaged on arrival. The red count in each step is the full number. The share lost at each stage compounds as that stage gets more complex, and it feeds the people estimate, the cost index and OTIF. Set the rates under Rework and scrap rates.

Use the minus and plus buttons to add or take away one offering, size, package type or channel. The chart and the numbers under it show what came with it.

Animate flow and dashes crawl along every line in the direction product moves, and round the red loops. It stops for anyone whose computer asks for reduced motion.

OTIF is the share of orders that go out on time and complete. It falls as complexity compounds, and falls further when Rework and scrap is ticked.

The numbers under the chart count what the picture shows. Select any number for what it means.

What it leaves out: volume. It counts how many different things there are, not how much of each. The cost index is relative, not dollars. The people figure is an estimate.

Read the full guide

Legend
Task: work is done One line per finished item Ingredient common to every offering Flow: product moves Delay: product waits between steps Storage: one triangle per item kept in stock One line per packaging item, thick when shared by a size One dashed line per case type Rework: an item that went round a step again (tick Rework and scrap) Scrap: runs to the dumpsters Lane: one variant into one package type
Parameters
Rework and scrap rates
Logistics cost weights
Save and load
Staffing rates

People to run it

An estimate, not a staffing plan. Each function (operators, line associates, processing, warehouse, delivery, leads, quality, purchasing, maintenance, planning) is a fixed part plus a rate times what drives it, such as machines, offerings, pick faces or ways out the door. It does not know volume. Set the rates under Staffing rates.

OTIF

On Time, In Full: the share of orders that leave on time and complete. Complexity alone makes some orders late (changeovers and ways out the door) and some short (more items to have in stock), and each added bit of complexity compounds the loss. With Rework and scrap ticked, rework makes orders later and scrap leaves them short. An estimate, not a measurement. Set the rates under Rework and scrap rates.

Logistics cost index

A relative measure, not dollars. Each logistics driver on the chart (components to receive, items in storage, pick faces, packing units, ways out the door, carrier types) is multiplied by a weight and added up, then scaled so the first keyframe is 1. Set the weights under Logistics cost weights.

Product Complexity Model v1.3.1 · built 2026-10-04