Little's law: throughput survives a boundary move, cycle time does not

A team reports two days and the person waiting counts fifteen, and both are counting the same cases. Type any two of work in progress, throughput and cycle time, name the boundary they belong to, and the third one follows. Then declare a second boundary on the same chain: the throughput holds, the cycle time moves, and the gap between the two implied counts is the work sitting in the stages one boundary counts and the other does not.

Live result
The 156 cases between the two counts sit in the stages boundary A covers and boundary B does not.
  • Cases in progress, boundary A180
  • Cases in progress, boundary B24
  • Throughput on both12 cases a working day
  • Share of the elapsed time13%
Both boundaries hold at the same throughput, so the difference is one of coverage rather than of speed.

Try a scenario

Boundary A

The start precedes checking; the end follows it by one edge.

The two numbers you have

cases a working day
working days

Measured in

Working days and calendar days are two different clocks.

180 cases12 cases a working day15 working days

180=12×15180=12\times15

In units:

u1×u2=u0u_1\times u_2=u_0

where u1u_1 is cases a working day, u2u_2 working days, and u0u_0 cases.

Boundary B

The start precedes checking; the end follows it by one edge.

The two numbers you have

cases a working day
working days

Measured in

24 cases12 cases a working day2 working days

24=12×224=12\times2

In units:

u1×u2=u0u_1\times u_2=u_0

where u1u_1 is cases a working day, u2u_2 working days, and u0u_0 cases.

Measureboundary Aboundary B
Cases in progress18024
Throughput12 a working day12 a working day
Cycle time15 working days2 working days
It starts atit arriveswork starts
Share of the elapsed time100%13%

The chain and its boundaries

Five stages and two declared boundariesA chain of five stages from arrival to release. Boundary A brackets all five and implies 180 cases in progress. Boundary B brackets one stage, being worked, and implies 24. The four stages between the two brackets are shaded and hold the 156 cases in the difference.it arriveswork startswork finisheschecking startschecking finishesit leaves
Horizontal
The chain, in stage order. The drawing is not to scale in time.
Basis
Each bracket carries the work in progress the two numbers on that boundary imply.
Units
Cases, whole numbers. The chain carries no durations.
Assumptions
One chain; a case crosses each edge once; the page does not know how the work divides among the stages.

What the two numbers multiply into

Cycle time multiplied by throughputTwo rectangles from one corner. Width is cycle time in working days, height is throughput in cases a working day, and the area of each is the work in progress it implies. Boundary A is 15 by 12 and encloses 180 cases; boundary B is 2 by 12 and encloses 24. The two share a top edge, and the shaded strip between them is 156 cases.Boundary A from the dayit arrives to the dayit leavesBoundary B the time myteam has it open
Basis
Each area is a throughput multiplied by a cycle time, both read on that boundary's own clock.
Units
Days across, cases a day up, cases in the area.

Fixed panels

Boundary B at 8 cases a working dayBoundary A encloses 180 cases. Boundary B at 8 cases a working day encloses 16 cases.

boundary B at 8 a day

Boundary B at 12 cases a working dayBoundary A encloses 180 cases. Boundary B at 12 cases a working day encloses 24 cases.

boundary B at 12 a day

Boundary B at 16 cases a working dayBoundary A encloses 180 cases. Boundary B at 16 cases a working day encloses 32 cases.

boundary B at 16 a day

Boundary B at 20 cases a working dayBoundary A encloses 180 cases. Boundary B at 20 cases a working day encloses 40 cases.

boundary B at 20 a day

One flow or two

Work in progress against cycle timeWork in progress against cycle time at 12 cases a working day, one straight line from the origin. Boundary A sits on it at 15 working days and 180 cases, boundary B at 2 working days and 24 cases. Both boundaries sit on the same line, which is what one flow looks like.at 12 cases a working day
Basis
Read at boundary A's throughput. A second line appears only when boundary B reports a different one.
Units
Cases up, days across, both to the nearest whole.
Assumptions
Throughput holds across the whole range drawn.

What a boundary move does not do

Move either boundary's start or end and the numbers you typed do not move with it. That is not the page failing to keep up. A boundary move changes what a measurement is a measurement of, and the measurement itself only changes when somebody goes and measures again.

What the move does change is which stages the difference is sitting in, and whether one boundary is inside the other at all. This page does not know how the 156 cases divide among the stages between the two brackets, and it will not guess. Counting them stage by stage is a morning's work on the floor and it is the only thing that answers the question.

Where this page does not apply

This page reads three long run averages against one another. It needs a stretch of time over which the flow did not drift, a population of cases counted the same way at both ends of the boundary, and a boundary a case crosses once.

If the period opened or closed on an unusual backlog, if cases go back to a stage they have already been through, or if the mix changed enough that a case in one week is not the same thing as a case in another, then the three averages are three different periods wearing one label. The arithmetic will still produce a number, and the number will still be wrong.

Here is the maths

Scale
The four fixed panels share one scale, 0 to 15 working days across and 0 to 20 cases a day up. The live chart above rescales with what you type.
Assumptions
Long run averages; the flow did not drift; one clock per boundary.
Model version
1.0

The formula, in words

  • Three averages, and any two of them settle the third. How much work is in progress, how fast work is finishing, and how long one piece of work takes are not three independent facts. Over a long enough stretch, work in progress equals throughput multiplied by cycle time, and it holds for a whole route, one stage, a queue, or a shipment in transit. It needs no particular pattern of arrivals and no absence of variation. It is an accounting identity over three long run averages, which is exactly why it is useful for finding a number that cannot be true.
  • The units are the check, and they are the reason one control sets both numbers. Cases a working day multiplied by working days leaves cases. Cases a working day multiplied by calendar days leaves nothing at all, because the two clocks count different things and the day in one is not the day in the other. On this page one control fixes both of a boundary's numbers, so that multiplication cannot be built. Across two boundaries the page will not convert, because turning working days into calendar days needs the length of your working week and that is a fact about you, not about arithmetic. Weeks and calendar days do convert, at seven days to the week, which is a definition rather than an assumption.
  • All three numbers belong to a boundary, and only one of them survives moving it. Count the work in progress inside a narrower stretch and there is less of it. Measure the cycle time across a narrower stretch and it is shorter. Measure the throughput across a narrower stretch and, over a period where nothing is accumulating between the two, it is the same, because everything that finishes inside the wider boundary passed through the narrower one. That is why two people can quote two cycle times for the same work and both be right, and why neither number means anything until somebody says where it starts and stops.
  • The gap between two nested counts is a multiplication, not a mystery. When both boundaries carry the same throughput, the difference between the work in progress they imply is that throughput times the time the narrower boundary does not count. On the shipped numbers that is 12 cases a working day across 13 working days, and 156 cases. Those cases are real, they are somewhere, and no report on the page mentions them.
  • A zero queue is not zero work in progress. Where enough capacity runs in parallel that nothing ever waits, the work in progress is still the arrival rate times the time each piece is worked on, and it is a real count of things that have started and not finished. Twenty pieces of work arriving an hour, each taking half an hour, leaves ten in progress at any moment with nothing waiting behind anything. A boundary drawn around active work only will always return a smaller number than a boundary drawn around the whole route, and neither of them is the wait.
L=λWL=\lambda W
where LL is work in progress, λ\lambda throughput, and WW cycle time.

A worked example

The chain as shipped

Five stages between six edges: waiting to start, being worked, waiting to check, being checked, waiting to leave. The chain carries no durations and no counts. It is an order, not a measurement.

Boundary A, the whole chain

Called from the day it arrives to the day it leaves. Two numbers typed: 12 cases finish a working day, and one case takes 15 working days from end to end.

1212 cases a working day, 1515 working days, 180180 cases. The working days cancel and cases remain, so the answer is a count of cases and not a rate. Boundary A implies 180 cases in progress.

12×15=18012\times15=180

Boundary B, one stage

Called the time my team has it open, running from work starts to work finishes. Two numbers typed: the same 12 cases a working day, and 2 working days. 12×2=2412 \times 2 = 24 cases. Boundary B implies 24 cases in progress.

The gap, two ways, and they agree

Directly: 180−24=156180 - 24 = 156 cases. Through the identity: 1212 cases a working day, (15−2)(15-2) working days, 156156 cases. The two routes agree because the throughput is the same on both boundaries, and that agreement is the check.

12×(15−2)=12×13=15612\times(15-2)=12\times13=156

Where the 156 cases are

They are in the four stages boundary A covers and boundary B does not: waiting to start, waiting to check, being checked and waiting to leave. How they divide among those four is not on this page, because nothing was typed that could decide it. What is on the page is that there are 156 of them.

The share of the clock

Boundary B covers 215=13.3%\frac{2}{15} = 13.3\% of the elapsed time. The other 86.7% of the elapsed time is outside the boundary the shorter report is measured on, and the throughput, being 12 cases a working day on both, is the only one of the three numbers that does not notice.

The rectangles, and why the picture is the arithmetic

Draw a rectangle 15 working days wide and 12 cases a working day tall. Its area is 180, in cases, because the two units multiply that way and for no other reason. Draw boundary B's rectangle from the same corner, 2 wide and 12 tall, area 24. Because the heights are equal the second rectangle sits inside the first sharing three of its four edges, and what is left is a strip 13 wide and 12 tall. 156 cases, drawn.

What a second throughput does to the picture

Take the same boundaries and let boundary B's report count 15 cases a working day rather than 12, which is chip 1. Boundary B now implies 15×2=3015 \times 2 = 30 cases. The two rectangles no longer share a top edge, the strip between them is not a rectangle, and the subtraction 180−30=150180 - 30 = 150 is arithmetic without a meaning: it is the difference between two counts taken on two different flows. On these numbers the page draws no shaded difference at all, and that absence is the finding.

What two calendars do to it

Chip 2 leaves boundary A at 12 a day and 21 days but moves it to the calendar, so 12×21=25212 \times 21 = 252 cases, while boundary B stays at 12 a working day and 2 working days for 24 cases. Both multiplications are sound. Neither answer is wrong. The subtraction 252−24252 - 24 is still refused, because saying whether 12 a calendar day is more or less work than 12 a working day needs the number of working days in the week, and nobody typed one.

The fixed panels, one parameter, four values

Boundary A holds at 15 by 12 in all four. Boundary B holds at 2 working days and takes 8, 12, 16 and 20 cases a working day, implying 16, 24, 32 and 40 cases. Only the second panel has two rectangles that share a top edge, and it is the only one of the four in which subtracting the two counts describes a stretch of chain.

What the identity will not do

It will not say whether 180 cases in progress is a lot. It will not say which of the five stages holds most of them. It will not say whether 15 working days was a promise or an outcome. It says that 12 and 15 imply 180, and that if the floor holds 60, then one of the three numbers is measured on something other than the boundary its owner thinks it is. That is the whole of the claim, and it is enough to end most arguments about whose figure is right.

What this does not model

Whether the flow drifted during the period the three numbers were taken from, which the arithmetic assumes and cannot test. Whether the period opened or closed on an unusual backlog, which pushes the observed cycle time away from the long run figure in a direction the page cannot sign. Whether cases return to a stage they have already passed, which makes one case consume several passes through the route, so a count of arrivals and a count of visits are two different populations and only one of them belongs in the throughput. Whether a case in one week is the same kind of thing as a case in another, since a mix that moves turns a common unit into an average of unlike items. Whether the boundary is crossed once, since anything that leaves and comes back is counted twice by one of the three numbers and once by another. How the work divides among the stages, which this page refuses to guess. What the cycle time's spread is, which the average conceals entirely and which decides how often the work is late even when the average is comfortable. And whether the cycle time was quoted or observed, since a promise and an outcome are two different quantities and a measured service figure rises when the quote is loosened, without any work moving faster.

Check it yourself

Boundary A takes 180 cases in progress and 12 cases a working day and implies a cycle time of 15 working days; boundary B takes 24 cases and 2 working days and implies a throughput of 12 cases a working day. Every figure on the page is identical to the shipped state, reached from four different typed numbers, because the identity does not care which two you have. Only the question they answer did.

This page works out the consequences of numbers you type and does not set a work limit or say whether the flow behind them holds together. The arithmetic is the standard relation between work in progress, throughput and cycle time, stated in the page's own words: the books named below are described and cited, and no table, definition or wording is reproduced from any of them. Its weakest input is the assumption that the three numbers were taken from one period over which nothing drifted, and no result here is sounder than that assumption. Sources named for this account are Hopp and Spearman, Factory Physics, third edition; John D. Sterman, Business Dynamics; Project Management Institute, The Standard for Project Management and A Guide to the Project Management Body of Knowledge, seventh edition; Shortle, Thompson, Gross and Harris, Fundamentals of Queueing Theory, fifth edition; and Sheldon M. Ross, Introduction to Probability Models, tenth edition.