Systems Thinking with AI, illustrated chapter reader ยท Chapter 32

32Growth Can Destroy the Engine of Growth

A reinforcing loop can consume the capacity that sustains it, and the warning is a ratio nobody plots.

Four runs of the chapter's service business. Change the hiring speed and watch the same growth policy survive or collapse, throttle intake and watch the business shrink, sweep the parameters the chapter ranks, and find the period where load first crosses one while every visible metric still looks healthy.

Every example in these readers is a constructed teaching example built from the chapter's own numbers. Chapters 36 to 39 start from committed public records; their fitted values are inferred from those records, and nothing here is a forecast.

1Demonstration 1 of 4

Same growth policy, two hiring speeds

If only the speed of hiring changes, does the business survive its own growth?

Slow hiring leaves the workforce below what the customers need, load rises above one, quality falls and churn rises. Faster hiring closes the gap before quality erodes, so the same referral engine keeps growing.

Equation: the slow-hiring policy: intake rate 0.25, churn sensitivity 1.2, hiring aggression 0.10

Equation: the fast-hiring policy: intake rate 0.25, churn sensitivity 1.2, hiring aggression 0.25

Customers join through referral and leave through churn. Hiring aggression is the fraction of the gap between heads needed (customers / 12) and the workforce that is closed each period. Attrition removes 5 percent of the workforce per period. A period is one time step.

Predict first. With hiring aggression 0.10 and intake 0.25, do customers after 80 periods end above or below 50?

Choose an example

Figure: Same growth policy, two hiring speeds. Left panel: customers climb to a peak of 185 in period 4 and end at 22 after 80 periods. Right panel: the workforce is compared with the heads the customers need, with hiring aggression 0.10.
Hiring aggression: 0.1, Referral intake rate: 0.25
Constructed example: the chapter's two printed runs and neighbouring settings, recomputed with the pack's run and summary functions.

Calculated values

Hiring aggression
0.10
Referral intake rate
0.25
Peak customers
185.5
Customers after 80 periods
22.3
Lowest quality
0.65

At the peak (period 4) there are 185.5 customers, which need 185.5 / 12 = 15.46 heads. The workforce is 9.24, so the gap is 6.22 and hiring adds 0.10 x max(0, 6.22) = 0.62 heads, against 0.05 x 9.24 = 0.46 leaving. By period 80 the base is 22.3 / 185.5 = 0.12 of its peak. The business turns over and keeps shrinking.

Use the idea

When growth stalls and then reverses, check whether the capacity-building loop is slower than the loop that adds demand before blaming demand.

Where the conclusion applies

The chapter's constant parameters and a 100 customer, 10 head start. The conclusion fails if the labour market cannot supply people at the faster rate, which the model does not represent.

Check your understanding: With intake 0.25 and hiring aggression 0.25, do customers after 80 periods end above or below 100?
Above: the run ends at 190.0, while the slow-hiring run ends at 22.3 after peaking near 185.

Chapter 32 source: section "A hundred and eighty-five, then twenty-two". Demonstration C32-D01.

2Demonstration 2 of 4

Throttling intake makes the business smaller

If sales stop when quality drops, does the business recover?

The throttle cuts the joining flow and does nothing to the leaving flow, because churn follows quality and quality recovers on its own clock. Fewer customers are replaced, so the base ends smaller.

Equation: the slow-hiring policy: intake rate 0.25, churn sensitivity 1.2, hiring aggression 0.10

The quality floor is the quality below which intake is scaled down: headroom = (quality - floor) / (1 - floor), held between 0 and 1. Joining = intake x customers x quality x headroom. Leaving = churn sensitivity x customers x (1 - quality).

Predict first. If the throttle starts below quality 0.70, do customers after 80 periods end above or below the unthrottled 22?

Choose an example

Figure: Throttling intake makes the business smaller. Left panel: customers with the throttle, ending at 22, against a dashed line for no throttle ending at 22. Right panel: quality with the lowest value 0.65.
Throttle intake below this quality: No throttle, Hiring aggression: 0.1
Constructed example: the chapter's comparison table, recomputed with the pack's run function.

Calculated values

Quality floor
none
Hiring aggression
0.10
Peak customers
185
Customers after 80 periods
22.3
Lowest quality
0.65

At the lowest quality (period 5, quality 0.65, 153.1 customers): no throttle, so headroom = 1.00. Joining = 0.25 x 153.1 x 0.65 x 1.00 = 25.0. Leaving = 1.2 x 153.1 x (1 - 0.65) = 63.8. Net = 25.0 - 63.8 = (-38.9) customers. This is the reference run, so there is nothing to compare it with.

Use the idea

Before restricting intake to protect quality, write down the outflow it leaves untouched and the capacity lever, hiring, that goes unused.

Where the conclusion applies

Throttling affects intake only. A throttle paired with service recovery aimed at churn would behave differently, and this model does not represent that.

Check your understanding: At quality 0.65 with a floor of 0.60, what is the headroom?
(0.65 - 0.60) / (1 - 0.60) = 0.05 / 0.40 = 0.125, so intake runs at one eighth of its usual rate.

Chapter 32 source: section "Why the intuitive fix fails". Demonstration C32-D02.

3Demonstration 3 of 4

Which parameter decides the outcome

Which parameter moves the eighty-period customer count most, and which moves it not at all?

Capacity weights each head by min(1, average experience / ramp). Average experience here starts at 4 years and rises, so the weight is already 1 and the ramp has nothing to change.

Equation: summarize an eighty-period run of the policy

Churn sensitivity scales how fast customers leave as quality falls. Attrition is the fraction of the workforce leaving per period. Output per head is customers one person serves. The ramp is the years of experience at which a head counts in full.

Predict first. Does moving the training ramp from 2 years to 1 year change the final customer count?

Choose an example

Figure: Which parameter decides the outcome. Customers over 80 periods with churn sensitivity to quality at 0.60, ending at 102.4, against the dashed base run ending at 22.3.
Parameter moved: Churn sensitivity to quality, Setting: Low end of the range
Constructed example: the chapter's parameter ranges, recomputed one at a time with the pack's run function.

Calculated values

Parameter moved
Churn sensitivity to quality
Value used
0.60
Customers after 80 periods
102.4
Base run, customers after 80 periods
22.3
Change from base
80.1
Smallest experience weight
1.00

Change = 102.4 - 22.3 = 80.1 customers. The experience weight is min(1, average experience / ramp); the smallest average experience in this run is 4.00 years against a ramp of 2.0, so the weight is min(1, 4.00 / 2.0) = 1.00. Moving churn sensitivity to quality to 0.60 moves the outcome by 80.1 customers.

Use the idea

Rank parameters by how far the outcome swings before spending an afternoon measuring one. A parameter that never binds is not worth measuring for this decision.

Where the conclusion applies

Each parameter is moved alone from the slow-hiring base run. The ramp's zero swing holds only while average experience stays above the ramp, and a workforce of new hires could change that.

Check your understanding: If average experience were 1.0 year against a ramp of 2 years, what weight would each head carry?
min(1, 1.0 / 2) = 0.5, so each head would count as half a head.

Chapter 32 source: section "Which parameter decides it". Demonstration C32-D03.

4Demonstration 4 of 4

The load ratio crosses one while the dashboard is green

In which period does load first exceed one, and what do customers and quality look like then?

Customers grow by about a quarter each period while the workforce shrinks slightly through attrition, so load passes one almost immediately. Quality lags load by a couple of periods, so it still reads 1.00 when the ratio has already crossed.

Equation: summarize an eighty-period run of the policy

Load is customers divided by effective capacity. Effective capacity is workforce x min(1, average experience / 2) x 12 customers per head. Quality runs from 0 to 1.

Predict first. With intake 0.25 and hiring aggression 0.10, in which period does load first exceed one?

Choose an example

Figure: The load ratio crosses one while the dashboard is green. Left panel: load first rises above one in period 1. Right panel: customers are still rising at that point, with a dashed vertical line marking the crossing.
Referral intake rate: 0.25, Hiring aggression: 0.1
Constructed example: the chapter's period-by-period walk, recomputed with the pack's load and effective_capacity functions.

Calculated values

Referral intake rate
0.25
Hiring aggression
0.10
Highest load in the run
1.71
First period with load above 1
1
Customers in that period
125.0
Quality in that period
1.00

In period 1 the workforce is 9.50 with average experience 5.05 years, so the weight is min(1, 5.05 / 2) = 1.00 and capacity is 9.50 x 1.00 x 12 = 114.0. Load = 125.0 / 114.0 = 1.10, above 1. Quality is 1.00 and customers are still rising (100.0 to 125.0), so the usual dashboard looks healthy.

Use the idea

Plot the ratio of demand to experience-weighted capacity weekly with a line at one, and trigger hiring on it.

Where the conclusion applies

The chapter's parameters and a first crossing found on the period-end states. With a slower referral rate the crossing comes later, and with no growth it may never come.

Check your understanding: If customers are 125 and capacity is 114, what is the load, and is it above one?
125 / 114 = 1.10, above one.

Chapter 32 source: section "The signal in one number". Demonstration C32-D04.