Splitting a task into specialized steps multiplies output. Smith's pin factory: one worker alone makes perhaps one pin a day. Ten workers, each handling one step, produce 4,800 pins a day. Specialization works because it saves switching time, builds skill through repetition, and invites tool-making.
The pin factory
Smith observed an actual pin factory. The difference between craft production and divided labor was not incremental. It was orders of magnitude.
Scheme
; Smith's pin factory: division of labor; One worker doing all 18 steps: ~1 pin/day; Ten workers, each specializing: ~4,800 pins/day
(define solo-output 1) ; pins per worker per day (undivided)
(define team-size 10)
(define divided-output 4800) ; total pins per day (divided); Output per worker
(define per-worker-divided (/ divided-output team-size))
(display "Solo worker: ")
(display solo-output)
(display " pin/day")
(newline)
(display "Divided, per worker: ")
(display per-worker-divided)
(display " pins/day")
(newline)
; The multiplier from specialization
(define multiplier (/ per-worker-divided solo-output))
(display "Productivity multiplier: ")
(display multiplier)
(display "x")
Python
# Smith's pin factory
solo_output = 1# pins per worker per day (undivided)
team_size = 10
divided_output = 4800# total pins per day (divided)
per_worker = divided_output / team_size
multiplier = per_worker / solo_output
print("Solo worker: " + str(solo_output) + " pin/day")
print("Divided, per worker: " + str(int(per_worker)) + " pins/day")
print("Productivity multiplier: " + str(int(multiplier)) + "x")
Three reasons specialization works
Smith identified three mechanisms. First, dexterity: repeating one task makes you faster at it. Second, saved time: no switching between tasks, no putting down one tool and picking up another. Third, invention: workers who focus on one step discover shortcuts and build specialized tools.
Scheme
; Model: time cost of switching vs specializing; Suppose each of 5 steps takes 10 minutes of work,; but switching between steps costs 3 minutes each time.
(define steps 5)
(define work-per-step 10) ; minutes
(define switch-cost 3) ; minutes per switch; Generalist: does all 5 steps, switches 4 times
(define generalist-time
(+ (* steps work-per-step) (* (- steps 1) switch-cost)))
; Specialist: does 1 step, no switching
(define specialist-time work-per-step)
; In a team of 5 specialists, throughput per hour
(define generalist-pins-per-hour (/ 60.0 generalist-time))
(define specialist-pins-per-hour (/ 60.0 specialist-time))
(display "Generalist: ")
(display generalist-time)
(display " min/pin -> ")
(display (exact->inexact generalist-pins-per-hour))
(display " pins/hr")
(newline)
(display "Specialist: ")
(display specialist-time)
(display " min/step -> ")
(display (exact->inexact specialist-pins-per-hour))
(display " units/hr per worker")
(newline)
(display "Team of 5 bottleneck throughput: ")
(display (exact->inexact specialist-pins-per-hour))
(display " pins/hr (pipeline)")
The extent of the market
Division of labor is limited by the size of the market. A village cannot support a full-time pin-maker. A city can. Trade expands the market, which enables deeper specialization, which raises productivity, which funds more trade. This is Smith's virtuous cycle.
Scheme
; The extent of the market limits specialization.; Small market: each worker must be a generalist.; Large market: workers can specialize deeply.
(define (output-per-worker market-size)
; More market -> more specialization -> more output; Simplified model: output grows with log of market size; (diminishing returns to further division)
(let ((max-division 18) ; Smith counted 18 steps in pin-making
(useful-division (min max-division (floor (log market-size)))))
(* 10 (+ 1 useful-division))))
(display "Market size 10: ")
(display (output-per-worker 10))
(display " pins/worker/day")
(newline)
(display "Market size 1000: ")
(display (output-per-worker 1000))
(display " pins/worker/day")
(newline)
(display "Market size 100000: ")
(display (output-per-worker 100000))
(display " pins/worker/day")