This 2D companion models the same consolidated-procurement mechanic as the 3D scene, laid out as a flat, draggable network diagram instead of an orbiting 3D scene. Agencies sit on a ring around a central order silo; each one fires purchase requests at random intervals, and every request flies inward and adds to the running unit total Q shown by the silo's fill level.
discount(Q) = 0% if Q < 500 units
6% if 500 ≤ Q < 2000
13% if 2000 ≤ Q < 8000
20% if Q ≥ 8000
holding_cost ≈ Q · price · h · (T / 2) [uniform arrivals over T days]
net_savings = Q · price · discount(Q) − holding_cost
Waiting longer (a larger consolidation window T) usually pushes Q into a richer discount tier, but every unit sitting in the queue accrues a small daily holding cost h — the opportunity cost of a delayed purchase, approximated here as accruing against the average unit, which has waited half the elapsed cycle. The optimizer's job is picking a window long enough to reach a good tier without that holding cost eating the discount.
- Agencies — more simultaneous requesters fill the batch faster for the same window.
- Consolidation window — how many simulated days the office waits before shipping one combined purchase order.
- Demand intensity — scales how often each agency generates a new purchase request.
- Ship order now — closes the current batch early, settling it at whatever tier it has reached, and logs the outcome to the history strip below the silo.
- Drag the ring — click-and-drag (or touch-drag) the network view to spin the agency ring, the same free-look interaction the 3D version gives you with orbit controls.
This is the mechanic behind real Group Purchasing Organizations and government cooperative-purchasing programs, which combine many small agency orders to unlock supplier volume pricing that no single department could reach alone. The history strip makes the window/holding-cost trade-off visible across many shipped batches at once, which the single running total in the 3D view does not show directly.