Machine Bureaucracy

When hitting your rate target means breaking the rules, most people break the rules. A simulation of Goodhart’s Law in fulfilment centres.

Work in Progress
View Secret
“比目中路析。”
“Eyes once paired, but now parted midway.”
Pan Yue 潘岳 (247–300)

Changelog: 2026/08/01

  • Double division nightmare: Corrected inaccurate bin occupancy calculations.
  • UX/UI adjustments: Cleaner interface, sidebars, metrics panel.
  • Summary & Calculations:Detailed debug on the calcultions per rule/non-rule following stower.
  • Culling the creep: Scrapped and simplified the stower state tracking logic.
  • View optimisation: Fixed intersection observers so the simulation actually runs when scrolled into view.
  • Pacing: Decoupled engine pacing from cart spawning.
  • Dependencies: Untangled the RuleDistributionGraph dependency from the sidebar.
  • Metrics: Renamed overly vague labels (e.g., ‘picker demand’ to ‘picker activity’).

@TODO

  • Picker penalties: Bring back penalties picker balance.
  • Stower allocation: Fix methods, not interactive enough for me.
  • Docs: Remove jargon, rewrite.
  • tldr; Lots.

Stow Rate Drivers & Mechanics (Baseline Breakdown)

When analyzing stow rates, especially when worker fatigue, dynamic frictions, and floor penalties are disabled, throughput is determined by a precise mathematical model operating inside the simulation engine (engine.ts and model.ts).

1. Rule Compliance (Rule-Followers vs. Rule-Breakers)

  • Speed Multiplier: A fully compliant stower (expectedComplianceRate = 1.0) takes 1.2x longer per item (speedMultiplier = 1.2), representing a 20% duration penalty (+20% time spent aligning, verifying, and distributing items cleanly). A 100% shortcutting stower operates at baseline speed (speedMultiplier = 1.0).
  • Bin Distribution: Rule-following stowers cap placements at 4 items per bin before advancing down the aisle to find another open bin. Shortcut stowers dump entire cart totes into a single bin.
  • Max Theoretical UPH (Per Stower):
    • Rule-Breaker (Shortcut): Up to 210 items/hour per stower (17.14s physical base per item).
    • Rule-Follower (Compliant): Up to 175 items/hour per stower (210 / 1.2).
  • Compliance Drivers: Rule-following rate is calculated dynamically from management Rule Support (+0.58), Stow Target Pressure (-0.32), and individual worker Compliance Bias (±0.25).

2. Inbound Freight & Cart Composition

  • Cart Overhead Spreading: Cart setup time is fixed per cart. Carts containing more items spread setup overhead over a larger unit count, increasing net items/hr (UPH).
  • Library vs. Library Deep Mix: Standard Library totes average 3–20 items per tote (with a 15% probability of 45-item batch spikes). Library Deep totes average only 1–3 items and incur a fixed deep-tote handling penalty (+1.92s per tote). Higher Library Mix raises overall UPH.

3. Worker Skill Heterogeneity & Learning Curve

  • Skill Variance Toggle: By default, Disable Worker Skill Variance is set to true in the simulator sidebar, forcing all stowers to operate at an identical 1.0x baseline skill factor.

4. Deep Dive: How Stow Target Pressure is Calculated and Used

Stow Target Pressure (stowPressure) is the operational tension metric that quantifies how strongly management speed quotas and floor congestion push stowers to sacrifice rule compliance for raw throughput.

Calculation Formula (model.ts)

Inside deriveOperationalState(), stowPressure is calculated as a weighted sum clamped between 4% and 98% ([0.04, 0.98]):

Stow Pressure=clamp(0.16+0.22×Slot Scarcity+0.18×Storage Complexity, 0.04, 0.98)\text{Stow Pressure} = \operatorname{clamp}(0.16 + 0.22 \times \text{Slot Scarcity} + 0.18 \times \text{Storage Complexity},\ 0.04,\ 0.98)
  • Baseline Tension (0.16): Minimum floor pressure under normal operating conditions.
  • Slot Scarcity (+0.22×slotScarcity+0.22 \times \text{slotScarcity}): Floor capacity congestion (1 - slotAvailability) (overridden to 0 when isolateStowProcess = true).
  • Storage Complexity (+0.18×storageComplexity+0.18 \times \text{storageComplexity}): Derived clutter combining bin messiness, overstuffed bins, and ASIN density.

How Stow Target Pressure Drives System Behavior

  1. Suppression of Rule Compliance:
    Rule Following Chance=0.42+0.58(Rule Support)0.32(Stow Pressure)0.16(Storage Complexity)\text{Rule Following Chance} = 0.42 + 0.58(\text{Rule Support}) - 0.32(\text{Stow Pressure}) - 0.16(\text{Storage Complexity})
    Every 10% increase in Stow Target Pressure directly subtracts 3.2 percentage points from a stower’s compliance probability. When pressure exceeds Rule Support, workers switch from rule-following stows (1.2x duration) to shortcut stows (1.0x duration).

5. Impact of Bin Fullness and Bin Complexity / Messiness on Stow Rate

Both Bin Fullness (fill ratio & capacity density) and Bin Complexity / Messiness directly impact the stow rate through three distinct behavioral and physical mechanisms:

A. Target Bin Fullness (fillRatio & physicalLoad)

  • Specific Bin Fill Penalty (fillPenalty): In bin-model.ts, as a target bin fills up, the engine calculates fillPenalty=(fillRatio)1.3×0.25\text{fillPenalty} = (\text{fillRatio})^{1.3} \times 0.25. As a bin approaches capacity, this subtracts up to 25 percentage points directly from the stower’s rule-following chance (computeRuleFollowingChance), forcing stowers to choose between missing rate or shortcut dumping.
  • Floor-Wide Storage Complexity: High average fullness increases overstuffedBinShare (+0.18 weight) and averageAsinDensity (+0.14 weight) in storageComplexity. This inflates Stow Target Pressure (+0.18) and depresses overall rule-following (-0.16).
  • Slot Scarcity Penalty (When Frictions Enabled): High floor saturation (1 - slotAvailability) scales up physical cart travel time (stowTravelMin/Max) and multiplies item duration by scarcityFrictionMultiplier.

B. Bin Complexity & Messiness (messiness & nonNeatBinShare)

  • Messiness Penalty on Compliance: In bin-model.ts, a target bin’s messiness subtracts up to 18 percentage points (messiness×0.18-\text{messiness} \times 0.18) from computeRuleFollowingChance. Encounters with messy bins discourage stowers from attempting clean, organized slotting.
  • Reorganization & Recount Duration Overhead: In estimateBinStowWork(), placing items cleanly into a messy bin requires extra physical time:
    • Reorganization Time: +0.18s+(messiness×0.32s)+0.18\text{s} + (\text{messiness} \times 0.32\text{s}) per placement.
    • Recount Time: +0.16s+(recountNeed×0.34s)+0.16\text{s} + (\text{recountNeed} \times 0.34\text{s}) per placement.
  • Floor Messiness Drag: High floor-wide messiness increases storageComplexity via averageBinMessiness (+0.18 weight) and nonNeatBinShare (+0.10 weight).

Summary Breakdown Table (Fatigue & Frictions Disabled)

FactorParameter / LogicLocation in CodeEffect on Stow Rate
Shortcut StowercomplianceRate = 0engine.tsBaseline Max Speed (1.0x duration) — Max 210 UPH/stower
Compliant StowercomplianceRate = 1engine.ts20% Extra Duration (1.2x duration) — Max 175 UPH/stower
Stow Target PressurestowTargetPerHourmodel.tsHigher target bias increases Stow Pressure, driving workers to break rules
Rule SupportruleSupport (0–100%)model.tsHigher support increases compliance, trading ~16.7% speed for bin quality
Target Bin FullnessfillRatiobin-model.tsHigh fullness subtracts up to 25% from compliance chance
Bin Messinessmessinessbin-model.tsHigh messiness subtracts up to 18% from compliance and adds +0.50s work duration
Library MixlibraryMix (0–100%)engine.tsHigher mix increases items per tote, raising net UPH
Disable Skill VariancedisableWorkerSkillVarianceworker-model.tsDefaults to true, forcing 1.0x baseline skill across all stowers
Picker DecouplingisolateStowProcessmodel.tsDefaults to true, decoupling stow rate from picker demand and scarcity

Overview

The term Machine Bureaucracy was coined by management theorist Henry Mintzberg in 1979 [13] to describe an organizational structure engineered to run like a clockwork mechanism. In Mintzberg’s model, such organizations rely on highly standardized routine tasks, strict formal rules, centralized authority, and a prominent “technostructure”—analysts and managers who design, measure, and standardize work processes. At the time, Mintzberg noted that while machine bureaucracies excel at achieving consistency and efficiency in stable environments, they do so by treating operational workflows—and the humans executing them—as deterministic, interchangeable parts of a machine.

This simulation models the subtle mechanics of a non-robotic fulfilment centre and demonstrates how strict individual performance metrics reshape worker behavior. Rather than operating as a predictable clockwork machine, the warehouse behaves as a living system where worker fatigue, crowded bins, and the pressure to hit targets all adapt in real time to operational pressure.

This scenario is a real-world example of Goodhart’s Law — though most commonly remembered in anthropologist Marilyn Strathern’s popular phrasing (“When a measure becomes a target, it ceases to be a good measure”) [5] [6].

“Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes.”

Charles Goodhart, 1975

When workers (Stowers and Pickers) are evaluated primarily on raw speed (how many items they scan per hour), hitting that quota under tight conditions eventually requires bending placement rules. What emerges is not a moral failing or a lack of discipline among workers, but a direct structural outcome of how work is measured and managed [11].

Mapping the Process

Before looking at how workers adapt to daily performance targets, it helps to understand how a warehouse operates as an end-to-end system. In operational engineering, a standard tool for mapping this is SIPOC, which stands for Suppliers, Inputs, Process, Outputs, and Customers.

A SIPOC diagram lays out the entire lifecycle of an operation on a single page. It defines where materials come from, what resources are required, the major steps taken to transform those resources, and who receives the finished result.

Suppliers 🚚Inputs 📥Process (High-Level Steps) ⚙️Outputs 📤Customers 👤
  • Inbound Freight Carriers & Vendors
  • Order Management System
  • Packaging Suppliers
  • Warehouse Control Systems
  • Bulk inventory & master cartons
  • Real-time item retrieval requests
  • Scanner pick lists & walk paths
  • Boxes, mailers, tape & dunnage
  • Weight & sizing parameters
  1. 1. Inbound Decant/Receive: Unpack bulk supplier shipments from pallets into open totes.

  2. 2. Stow

    Carry totes into mezzanine shelving and stow items into storage bins via hand scanners.

  3. 3. Item Picking & Retrieval

    Follow scanner walk paths through aisles to retrieve items into totes.

  4. 4. Rebin & Wall Sorting: Convey totes to Put Walls where workers sort items for shipping.

  5. 5. Packing & Inspection: Pack items into recommended boxes, insert protective dunnage, and seal.

  6. 6. Automated SLAM: Weigh parcels automatically on a high-speed line and stamp shipping labels.

  7. 7. Fluid Loading: Direct parcels down dock spurs and stack directly into outbound trailers.

  • Weight-verified, sealed parcels
  • Electronic shipping manifests & BOL
  • Real-time inventory balance updates
  • Exception & problem-solve totes
  • Online End Customers
  • Sortation & Delivery Hubs
  • Logistics & Carrier Partners
  • Support & Audit Teams

Where this Simulation Fits

A traditional manual fulfilment center runs on a multi-stage pipeline: incoming shipments are unpacked into totes (Decant), placed into aisle shelving bins (Static Stow), picked for fulfillment (Item Picking), sorted into order cubbies (Rebin), packed into shipping boxes (Pack), weighed and labeled automatically (SLAM), and finally loaded into delivery trucks (Fluid Loading).

This simulation intentionally isolates a specific part of that chain: the handoff between Static Stow and Item Picking.

Why the Stow–Pick Handoff Matters

In a manual warehouse, Stowers and Pickers work in the exact same physical storage bins, but at different times:

  • Stowers load incoming items into open shelving bins.
  • Pickers walk those same aisles hours or days later to retrieve items from storage bins.

Both roles are managed under strict hourly rate targets (units processed per hour). When a Stower comes under pressure to hit their target in a crowded warehouse, the fastest way to keep moving is to bend placement rules—such as shoving an item into an overfilled bin or ignoring item size guidelines.

The Stower meets their quota for the hour, but leaves behind a messy, disorganized bin. Later, when a Picker arrives at that bin under their own quota clock, they lose valuable minutes digging through the mess to find the right item. The time saved during Stow becomes an immediate delay and point of frustration during Pick.

By focusing on this Stow–Pick relationship, the simulation demonstrates how isolated performance metrics can cause one team’s speed to create hidden work and friction for another.

The Simulation Elements

The simulation interface brings together several real-time feeds to help you monitor how systemic pressure flows across the warehouse floor:

Controls & Sidebar
You can adjust the Stow Target and Pick Target rates via the Advanced controls tab in the left sidebar. You can also grant Rule support (giving workers organizational backing to prioritize placement accuracy over raw speed) or adjust Picker demand to test how quickly downstream picking activity stress-tests earlier placement decisions.

Floor Canvas & Heatmap

  • Visual Canvas: The canvas abstracts the warehouse into a continuous flow of work. Items move through a cycle across four stages (Buffer → Stow → Bin → Pick). The Stow cycle (Blue) tracks inbound placement, while the Pick cycle (Orange) tracks outbound retrieval.
  • Bin Complexity Heatmap: Positioned directly beneath the canvas, this interactive grid visualizes bin fullness and messiness in real time. Clicking any bin reveals its specific item history and event log.

Metrics & System Efficiency
The dashboard below the heatmap provides four distinct views into the systemic health of the warehouse:

  • Throughput (Main Graph): Watch how the Stow rate (adding items) and Pick rate (retrieving items) interact. When Stowers take shortcuts to hit their target, you will see the Pick rate eventually crash as they encounter the resulting mess.
  • Rule Distribution: This shows the direct trade-off workers face. As the Stow Target increases or bins become crowded, watch the distribution shift from compliant placements (green) to shortcut, rule-breaking stows (amber).
  • Availability: A real-time view of warehouse capacity. As the floor fills up, the friction of finding a legal bin increases exponentially.
  • Fatigue: Worker exhaustion compounds all other frictions. As the shift progresses, the baseline speed drops, making it even harder to hit targets without resorting to shortcuts.

How the System Breaks Down (The Feedback Loop)

The shift unfolds through a continuous, compounding feedback loop:

  1. Targets set the expectations. Managers establish hourly stow and pick targets. When rule support is low, workers feel immediate pressure to hit their numbers above all else.
  2. Pressure mounts as space tightens. As storage bins fill up, finding a legal, neat home for an item takes longer. Because hourly targets remain fixed regardless of bin congestion, workers experience rising mental friction as they try to solve the puzzle of where each item legally fits [3].
  3. Shortcuts become necessary for survival. Faced with a choice between losing their jobs for failing rate or bending placement rules, workers naturally take shortcuts [4]. This illustrates a classic human trade-off: the penalty for missing a target is immediate and personal, whereas the headache of a messy bin is delayed and lands on someone else [11].
  4. Bins degrade and picks slow down. Shortcut stows create messy, overfilled bins. When downstream pickers arrive to retrieve items, they face longer searches, higher error rates, and increased delays and frustration. The stow team’s speed directly becomes the pick team’s delay.
  5. System capacity is tested. If problem-solving capacity is overwhelmed, exceptions accumulate, bin hygiene collapses, and the entire operational flow degrades.

What moves on screen

The canvas abstracts the work into a continuous flow of packets. Items begin in the inbound buffer before being processed by the active stow team. Each placement decision (whether compliant and neat, or a rushed shortcut) is recorded in the bins. Downstream, the active pick team pulls items from these same bins to fulfill customer demand. The speed of the blue stow loop directly impacts the health of the orange pick loop.

Placement rules

Items must match designated bin dimensions (standard height vs taller deep bins) enforced by hand scanners. Each bin has a physical working limit. While compliant stows maintain organized stacks, shortcut stows leave a mess that persists until a picker encounters it and is forced to spend extra time digging it out.

Scenarios

You can explore different shift conditions using the scenario selector in the sidebar:

Orderly floor

Bins are lightly stocked with plenty of clean, available space. Stowers face no conflict between accuracy and speed, allowing hourly targets to be met comfortably without taking shortcuts.

Getting crowded

Bins approach working limits. While the floor appears controlled on paper, the margin for error is thin. Finding correct placements takes longer, forcing workers to choose between speed and compliance.

Rushing and messy

High target pressure combined with crowded bins leads to visual disorganization. Workers prioritize job security over bin hygiene, causing shortcut stows to proliferate rapidly [4].

Packed and struggling

Storage space is severely constrained. Every placement inherits past shortcuts, creating severe pick drag. Psychological safety vanishes as workers recognize systemic failure but avoid raising issues due to surveillance pressure [7] [8].

The Mathematical Foundation

The simulation calculates key operational dynamics at every tick to model how floor pressure influences compliance [5] [6].

1. Storage complexity

Storage complexity quantifies how difficult it is for a stower to find an open, legal home for an item. As slot scarcity and bin messiness rise, complexity increases non-linearly.

ComplexityDeep Share+Scarcity+Messiness+Non-Neat Bins+Count Difficulty+Pick Target Bias\text{Complexity} \propto \text{Deep Share} + \text{Scarcity} + \text{Messiness} + \text{Non-Neat Bins} + \text{Count Difficulty} + \text{Pick Target Bias}
// Weighted floor-condition friction - model.ts:deriveOperationalState
const storageComplexity = clamp(
    0.12 +
    libraryDeepShare * 0.16 +
    slotScarcity * 0.32 +
    averageBinMessiness * 0.24 +
    nonNeatBinShare * 0.16 +
    countingDifficulty * 0.12 +
    Math.max(0, pickerTargetBias) * 0.08,
    0.04, 0.98
);

2. Stow pressure

Stow pressure represents the psychological drive to take shortcuts when hourly rate targets exceed realistic floor capacity.

PressureStow Target+Demand+Scarcity+Complexity+Non-Neat Bins+Count Difficulty\text{Pressure} \propto \text{Stow Target} + \text{Demand} + \text{Scarcity} + \text{Complexity} + \text{Non-Neat Bins} + \text{Count Difficulty}
// What pushes workers toward shortcuts - model.ts:deriveOperationalState
const stowPressure = clamp(
    0.16 +
    Math.max(0, stowTargetBias) * 0.42 +
    pickerDemand * 0.16 +
    slotScarcity * 0.22 +
    storageComplexity * 0.18 +
    nonNeatBinShare * 0.1 +
    countingDifficulty * 0.08,
    0.04, 0.98
);

3. Rule-following rate

The probability that a stower follows proper placement procedures. Organizational rule support serves as the strongest positive factor counteracting rate pressure.

Rule FollowingSupportPressureComplexityScarcityPick Target Bias\text{Rule Following} \propto \text{Support} - \text{Pressure} - \text{Complexity} - \text{Scarcity} - \text{Pick Target Bias}
// Probability a stower follows placement rules - model.ts:deriveOperationalState
const ruleFollowingRate = clamp(
    0.42 +
    ruleSupport * 0.58 -
    stowPressure * 0.32 -
    storageComplexity * 0.16 -
    slotScarcity * 0.12 -
    Math.max(0, pickerTargetBias) * 0.08,
    0.05, 0.98
);

4. Process Efficiency & Waste

Process Efficiency tracks the percentage of total operational work that is value-add (compliant stows and clean picks) versus non-value-add rework generated by shortcut stows and search drag.

// Process Efficiency - model.ts:computeMetricSnapshot
const wasteRate = casesProcessed === 0
    ? 0
    : clamp(ruleBreakingRate * 0.5 + nonNeatBinShare * 30 + (100 - Math.min(100, pickerKpi)) * 0.2, 0, 100);
const processEfficiency = clamp(100 - wasteRate, 0, 100);

The Takeaway

The dynamics observed in this simulation extend far beyond physical warehouses. Any operational environment where one team’s speed creates uncounted rework for another exhibits the exact same failure modes.

  • Siloed targets encourage passing the buck. When teams are judged solely on isolated speed metrics, the rational choice is to hit your individual target while pushing the headache onto the next person in line [5].
  • Psychological safety enables early correction. When workers are empowered to flag bottlenecks without fear of missing targets, the system self-corrects. When fear dominates, defects compound silently [7].
  • Systemic handoff design is the true solution. The remedy is not stricter surveillance or heavier discipline, but designing measurement systems that treat stow and pick as a single integrated value stream [9].

The central question for leaders is not “How do we force workers to follow rules?” but rather “Why does our system design make rule-following irrational?” [12]

References

  • [1]

    Amazon, “Inside Amazon’s fulfillment centers: What you can expect to see on a warehouse tour,” About Amazon, 11 Mar. 2019. aboutamazon.com

  • [2]

    Amazon Technologies, Inc., “System and method for stow management of similar items,” U.S. Patent US8341040B1, 1 Jan. 2013. patents.google.com

  • [3]

    A. Delfanti, “Machinic dispossession and augmented despotism: Digital work in an Amazon warehouse,” New Media & Society, vol. 23, no. 1, pp. 39-55, 2021.

  • [4]

    E. J. Cheon and I. Erickson, “Fulfillment of the work games: Warehouse workers’ experiences with algorithmic management,” Proc. ACM Hum.-Comput. Interact., vol. 9, no. CSCW, Art. no. 228, 2025.

  • [5]

    R. Mannion and J. Braithwaite, “When a measure becomes a target, it ceases to be a good measure,” BMJ Quality & Safety, vol. 30, no. 3, pp. 263-267, 2021.

  • [6]

    J. W. Treem, P. M. Leonardi, and B. van den Hooff, “Coping with Goodhart’s law in an era of digitisation and datafication,” Journal of Computer-Mediated Communication, vol. 28, no. 4, 2023.

  • [7]

    A. C. Edmondson, “Psychological safety and learning behavior in work teams,” Administrative Science Quarterly, vol. 44, no. 2, pp. 350-383, 1999.

  • [8]

    S. Kim, S. B. Choi, and K. Kim, “The influence of corporate social responsibility on safety behavior: The mediating role of psychological safety and organizational commitment,” Frontiers in Public Health, vol. 10, 2022.

  • [9]

    W. Qian, J. Horisch, and S. Schaltegger, “Using a balanced scorecard to manage corporate social responsibility,” International Journal of Management Reviews, vol. 22, no. 2, pp. 185-208, 2019.

  • [10]

    R. S. Kaplan and D. P. Norton, The Balanced Scorecard: Translating Strategy into Action. Boston, MA, USA: Harvard Business School Press, 1996.

  • [11]

    A. Kohn, Punished by Rewards: The Trouble with Gold Stars, Incentive Plans, A’s, Praise, and Other Bribes, 25th anniversary ed. Boston, MA, USA: Houghton Mifflin Harcourt, 2018.

  • [12]

    T. M. Jones, “Ethical decision making by individuals in organizations: An issue-contingent model,” Academy of Management Review, vol. 16, no. 2, pp. 366-395, 1991.

  • [13]

    H. Mintzberg, The Structuring of Organizations: A Synthesis of the Research. Englewood Cliffs, NJ: Prentice-Hall, 1979. (See also H. Mintzberg, “Structure in 5’s: Designing Effective Organizations,” Management Science, vol. 26, no. 3, pp. 322-341, 1980). doi.org/10.1287/mnsc.26.3.322