Lesson 3 of 10
How much shared work to fund, and where expertise should sit
How many blocks of shared practice are worth more than the work they push out, and who should get them?
The problem
The next block already has a job
Shared practice never competes with an empty calendar. It competes with today's work. This lesson asks how much of it to fund, and who should receive it.
Lesson 2 showed that a shared route earns its place through expertise, and that expertise grows with practice. In the pump company, practice for the shared document reader means real work: building a test set of scanned annexes, running a vendor model against it, diagnosing why it misreads exclusions, trying a fix. Each block of that work uses something scarce. It may be a week of the one senior machine-learning engineer everyone queues for, a slice of compute, or part of the vendor budget for evaluation runs.
Every one of those blocks already has a job. The engineer could be fixing Dispatch's routing errors. The compute could run a product release. So the question is not "is practice good?" It is "how many blocks are worth more than the work they push out?" And once the company has decided how much, a second question follows: should all the practice go to one person, who becomes deep, or be spread across two, who each become competent?
The intuition
Compounding against crowding out
Funding shared practice has a strong argument behind it. What the shared route learns is used by every team it serves, again and again, long after the block is spent. Local teams, practicing alone, never get that reuse. That is the compounding side.
Against it stand three things. Each block pushes out useful work now. Starting a shared program at all has a setup cost, paid once: finding the documents, agreeing access, building the test harness. And practice has diminishing returns: the first block teaches the most, because there is the most to learn; each later block closes less of what remains.
Diminishing returns also shape the second question. Two people who split the practice each sit on the steep early part of the curve, so together they learn more than one person who gets it all. But skill only has value where it is used. If one person will serve most of the future work, depth in that person may be worth more than breadth across two.
This is now an optimization problem. We must choose a whole number of blocks among many, and a placement between two people. A tempting shortcut is to add blocks while the next one pays and stop at the first that does not. Is that local test safe, or could stopping early miss a better program further on? And does the setup cost change the answer? These are exactly the questions where intuition slips, and where a checked proof is worth having.
The model
Value of practice, minus what it displaces
Lesson 2 gave practice a value. Over the future work the shared route will actually serve, learning saves errors worth at most , where
Derived by hand from lesson 2
In words: the most practice could ever be worth is the slip size squared, times the expertise still missing, times the future work it will serve.
Only work that can actually be served counts. A hypothetical company-wide rollout adds nothing to until there is capacity to serve it. With blocks, the learning curve closes the fraction of the gap, and each block pushes out useful work worth . So the gain from blocks, before setup, is
Definition
In words: learning gained minus work pushed out, and the one-off setup is paid only if the program starts. Funding nothing is always an option, worth zero.
Here is the same one-off cost as in lesson 1. This lesson is about that term: how large the shared investment should be. One more block is worth adding exactly when its extra learning beats the work it displaces:
Checked in Lean · next_packet_worthwhile
In words: the next block's learning, divided by , shrinks with every block; keep adding while it is larger than .
Then the setup cost decides whether to start at all. With blocks, the program beats doing nothing exactly when
Checked in Lean · activation_threshold
In words: the learning from blocks must cover both the work they push out and the setup.
For the second question, give two people the same starting expertise and the same total practice, blocks. Either all go to person 1, or each gets . Person 1 will serve future work and person 2 will serve . Measure learning value as expertise gained times the work it will serve; the factor is common to both choices and drops out. The difference in learning value between concentrating and splitting is
Checked in Lean · concentration_gap, concentration_wins_iff
In words: concentrate only if person 1 will serve more than times the work of person 2; the bar rises as practice grows.
What each letter stands for
- Blocks of shared practice fundedwhole blocks
- Blocks still available after today’s committed work is protectedwhole blocks
- The most practice could ever be worth, over the future work it will serveillustrative units
- Useful work pushed out by one blockillustrative units per block
- One-off setup, paid only if the program startsillustrative units
- Learning gained minus work pushed out, before setupillustrative units
- Future work each person will serve, weighted by what an error there costsillustrative units
- Starting expertise, the same for both peoplebetween 0 and 1
- Learning value when practice is concentrated or splitillustrative units
Lesson 3 · Figure 1
Fund blocks while the next one teaches more than it displaces.
blocks
units
units
Shown at Blocks of shared practice funded, : 1 blocks; Work pushed out by one block, : 2.0 units; One-off setup, : 15.0 units. Turn on JavaScript to move the values.
Add blocks: block 2 still teaches 5, more than the 2 of work it displaces. A losing first step does not mean the program loses: setup is paid once, and later blocks recover it.
- Net value of 1 block
- −2 units
- Best choice
- 3 blocks (1.5 units)
- Extra learning from block 2, ÷
- 5 vs displaced work = 2
Only whole blocks exist; the line joins them. Learning ceiling and six blocks available. The flat line is funding nothing. Values come from the tested frontier engine; the stopping rule is checked in Lean.
The starting position is the trap. One block, after a setup of 15, is worth −2: a loss. Move to two blocks: +1. Three: +1.5, the best. Four: back to +1. The first block lost money and the program still wins, because setup is paid once and later blocks recover it. Now drop the setup to zero. Three blocks are still best, worth 16.5, and so 16.5 is the most setup this program can carry at this price of time. Raise , the work each block pushes out, and the best number of blocks falls; at a high enough , funding nothing wins.
Lesson 3 · Figure 2
Concentrate practice only where one person will serve most of the work.
units
blocks
Shown at Future work person 1 will serve, (person 2 serves the rest of 8): 6 units; Practice per person if split, : 2 blocks. Turn on JavaScript to move the values.
Split: person 1 serves 6, not more than (1 + 2 × 2) × 2 = 10. Each extra block teaches less than the last, so two half-trained people learn more in total.
- Future work person 1 can serve, j₁
- 6
- Future work person 2 can serve, j₂
- 2
- Concentrate
- 4.8
- Split
- 5.33
Both people start with no expertise. The total future work is 8, shared between them. The crossover is where . Values come from the tested allocation engine.
With person 1 serving 6 of the 8 units of future work, concentrating and splitting tie at one block each, and from two blocks each, splitting wins. Slide person 1's share up to 7 and concentration wins at one and two blocks each, ties at three, and loses after. Give person 1 everything and concentration always wins: person 2's skill would have nowhere to go. Make the shares equal and splitting wins at every amount.
What Lean checks
What Lean checks
In the source file, Lean's is our ; the other letters match. The function gross is our .
Adding one more block raises the gain exactly when is larger than .
next_packet_worthwhile in ExpertiseScarcity.lean
If the -th block was worth adding and the next one would not be, then blocks give at least as much gain, before setup, as any whole number of blocks from 0 to : the local stopping rule finds the global best.
finite_packet_optimum in ExpertiseScarcity.lean
A program of blocks beats paying its setup exactly when is larger than .
activation_threshold in ExpertiseScarcity.lean
With some practice and expertise not yet full, concentrating all practice in person 1 gives more learning value than splitting it exactly when is larger than .
concentration_wins_iff in ExpertiseScarcity.lean
Both answers really occur: with equal future work, splitting wins; when person 1 serves four times as much, concentrating wins.
spread_equal_workload_wins · concentrate_unequal_workload_wins in ExpertiseScarcity.lean
The optimum theorem is the one with real content. It rules out a better program hiding further along, for every whole number of blocks up to the cap, not just the neighbors. It proves the stopping conditions are enough; it does not prove they are the only way to describe the best choice.
What Lean does not check: that blocks are all alike, that the work each displaces is worth the same, or that the future work is known in advance. It knows nothing about deadlines, about two jobs needing the same expert on the same day, or about the right devices being free together. It does not check the learning curve or the value of . The figures are drawn by separately tested JavaScript, which reproduces these thresholds exactly; they are not produced by Lean.
What it means
What it means
A simple stopping rule is enough here
Add a block while the next one teaches more than the work it pushes out; stop at the first that does not. Because each block teaches less than the last while costing the same, that local test gives the global answer. Then, separately, check that the best program covers its setup.
Do not judge a program by its first block
Because setup comes first, one block can lose while three win: with , and , one block is worth −2 and three are worth +1.5. Without a setup cost the logic flips: if the first block does not pay for itself, no later block will, and stopping is right.
Expensive time shrinks the right program
When the specialist's or the compute's alternative use is valuable, is high, and the best number of blocks falls, possibly to zero. A shared program that made sense in a quiet quarter may not in a launch quarter. The answer is a threshold, not a percentage of the budget that belongs to the center.
Depth needs somewhere to go
If two people will serve similar amounts of future work, spread practice between them. Concentrate only when one person will serve much more, and remember that the bar, times the other's work, rises as practice grows. In the pump company, deep expertise in one shared engineer pays when that engineer will really serve both teams' documents. If each team's work stays with its own person, splitting wins.
Concentration has a cost this model leaves out
One deep expert is one calendar. Two products that need that expert before the same deadline cannot both be served, however many hours the expert has next month. Forcing every job through one person turns depth into a queue, which is the waiting cost of lesson 1, and lesson 8's subject. A pool that could reproduce every local schedule, with the same cost and information, could not do worse; a rule that forces everything through one person can.
When the shared program loses
It loses when the work it displaces is valuable, when there is little future work for the learning to serve, when setup is large, or when practice is concentrated in someone who will not serve enough of the work. All the numbers here are chosen to show the shape. None has been measured.
Next
Next: when every request is urgent
So far one planner decided, knowing the value of every block. Real requests for scarce blocks come from teams, and each team knows more about its own project than the sponsor does. If claiming urgency is free, every team claims it. Lesson 4 brings in game theory: what happens when everything is P1, and what kind of test sorts strong ideas from weak ones.