Batch, Flow, and Variability
Production process improvements are often aimed at moving a process towards something resembling “continuous flow” - where the product moves perfectly smoothly through the process, never stopping, never waiting, never varying. The closer you can get to continuous flow, the thinking goes, the more efficient your process is. Here, for instance, is a description of the ideal production process from Schmenner 1998, what they call “Swift, Even Flow”:
The Theory of Swift, Even Flow holds that the more swift and even the flow of materials through a process, the more productive that process is. Thus, productivity for any process—be it labor productivity, machine productivity, materials productivity, or total factor productivity—rises with the speed by which materials flow through the process, and it falls with increases in the variability associated with the flow, be that variability associated with the demand on the process or with steps in the process itself.
And here’s a quote from Drew Baglino during Tesla’s Battery Day presentation:
The key to a high-performing assembly line is accomplishing processes while in motion, continuous motion, and thinking of the line as a highway, max velocity down the highway, no start and stop, no city driving.
In the Toyota Production System and its descendants, this is often referred to as “one piece flow” - the ideal process is one that moves the product along perfectly smoothly, a single unit at a time. From “Becoming Lean:”
One-piece flow is the quickest way for material to get from point A to point B, with the shortest lead time and least amount of work in-process in between.
True one-piece flow would have us manufacture items with essentially no waiting time, no queueing, and no batches. Sounds easy enough, yet the vast majority of manufacturing occurs in a traditional batch and queue mode, where items wait their turn in line to be processed, wait, then move on to wait in queue again. This takes time; time that has a far greater non-value added than value-added percentage.
Ideally, we would perform all operations in one-piece flow.
But what makes flow production the platonic ideal of a manufacturing process?
Flow and variability
Flow production means everything runs smoothly and regularly - in other words, a flow process is one that has very little variability. As we’ve seen previously, variability is poison to a production process, and maintaining a given production rate with a variable process inevitably requires expensive buffering in the form of inventory, capacity, or cycle time.
For a quick demonstration, we’ll once again use a pin factory for an example.This time we’ll make it a single-step process - a pin-making machine takes in pre-cut lengths of wire, and turns them into pins at the rate of 1 pin per minute.
We’ll start by assuming the process has no variability in it - the wire arrives at exactly 1 length per minute, and the machine takes exactly one minute to run. The result is a continuous flow production process - wire arrives at the machine, is immediately processed, and comes out as a finished pin just as the next piece of wire arrives. We have no queueing, no waiting, no accumulated WIP. Output is 1 pin per minute, average cycle time is one minute, and WIP is the single pin in the machine.
But what happens if our flow isn’t so smooth? Let’s adjust the process so now that pins arrive at the machine at an average rate of 1 per minute, but with a standard deviation of 0.1 minutes.
Since pins now sometimes arrive before they’re ready to be processed, queues build up in front of the machine, which increases the cycle time. Our production rate doesn’t change, but we now have an average cycle time of around 5.7 minutes (averaged across 10 runs of this simulation), and there will often be a line of pins waiting to be processed.
The smoother a process runs - the less variability it has - the better and more efficiently it performs.
Addressing variability is (conceptually) simple - variability always harms a process, and it’s always beneficial to try to remove it [0]. But other deviations from pure flow are more complicated.
Batch vs flow
As the quote from “Becoming Lean” illustrates, flow production is often contrasted with batch production. With flow, everything moves continuously through the process, but with batch, large groups of items are processed in a single step. In practice this often means that items arrive at a particular workstation, and wait until there are enough to fill a batch.
(I’ll use “batch” as shorthand for “volume processed during a single step”. This might mean a larger number of units for a discrete production process, or a larger volume of continuous material. Batching can also refer to sequential batching - doing long runs of a single item type, then switching to a different item type. I won’t dive into this, but the mechanics of it are similar to single step batching).
It’s easy to demonstrate the benefits of moving from batch to one piece flow production. Let’s return to our pin factory. This time we’re still using a single step process, and our machine still takes exactly 1 minute to run, but now it runs pins in batches of 60, and will only run once 60 units are in its queue.This gets us a production process that looks like this:
The lengths of wire arrive at the machine, and slowly queue up. Once there are 60 units in the queue, the machine processes them all, and they move onto the next stage (maybe they’re packed into boxes for shipping), and the queue starts to fill up again.
This process has an average cycle time of 30 minutes (the average time a piece has to wait), and, via Little’s Law, an average WIP of 30 pins. This is much worse than our continuous process!
What happens if we shrink our batch size? Let’s change the process so instead of batches of 60, it runs in batches of 30:
Our average cycle time is now 15 minutes, and our average WIP is now 15 pins. If we continue to shrink our batch size, we’ll eventually reach the state of continuous flow from our first example. Flow production means the cycle time and the WIP are as low as possible, which means better service (customers get their orders faster) and lower costs (less accumulated inventory).
The benefits of batching
So why does batching exist at all?
Batching is a response to encountering economies of scale in some part of the production process - if unit costs go down as a function of volume at some step of the process, there’s often incentive to batch.
Probably the most common sort of scale economy encountered is fixed cost scaling. If some part of the process is just as expensive whether it’s running 1 or 1000 units (or the cost increase is less than linear), unit costs will (theoretically) drop substantially the larger your batch is. Consider some production process that uses a forklift to move material between stages. A forklift is expensive, but once you have it, it’s just as easy to move 1 item at a time as it is 10. If you get a ton of orders and all of a sudden are shipping 10x as many products, the forklift part of the operation won’t get any more expensive, and your unit costs will go down.
One common type of fixed cost in manufacturing environments (and every other production environment) is setup costs - the time and effort it takes to get a process ready before it runs. Our forklift, for example, has a “setup” every time it drops off a load while it drives back and gets positioned in place to transport the next one.
Setup costs might force batching on us, depending on what throughput rate we’re trying to maintain. For instance, in our pin factory model above, let’s say that the machine takes 9 minutes to set up, regardless of how many pins are run at once. In this condition (assuming the machine still takes 1 minute to run), we can at most run the machine 6 times per hour, which means we need to run batches of at least 10 pins to meet our production requirements.
Often, however, these “fixed” costs are less fixed than they appear. One of the key insights of the Toyota Production System (as well as books like “The Goal”) was that many “fixed” costs aren’t actually fixed, and with effort can be reduced. In our forklift example, for instance, we could reduce the setup time of the forklift driving into position simply by moving these workstations closer together.
Even if fixed costs can’t be reduced, economies of scale are often fictional - it doesn’t matter if you double the output of a workstation if the production rate of the entire factory doesn’t change, all you’re doing is accumulating more WIP, lengthening your queues, and increasing cycle time.
Other types of economies of scale are related to geometric scaling - for example, if the cost of a process is a function of surface area, but the output is a function of volume, a process will get more efficient as it increases in size due to the square cube law. Geometric scaling is common in processes that have a lot of tanks and pipes, such as chemical manufacturing. It also shows up in transportation - container ships show geometric scaling in both construction costs (likely due to costs scaling with surface area and capacity scaling with volume) and operating costs (due to, among other things, proportionally less fuel consumption as ships get larger). The result is a steady increase in shipping “batch size” - increasingly larger ships moving increasingly large numbers of containers at once.
You often see batching in conjunction with some process that is inherently rate limited - if you can’t easily adjust the speed of a production step, and it’s slower than your desired output, you might be forced to batch. Sometimes these are setup times that can’t be reduced, but they also might be inherent to the process itself. This seems to be the case with container ships - fuel cost rises exponentially with speed, and we actually see a trend towards slower ships over time.
Batch processes are also often cheaper than continuous processes. Continuous processes are often more complex, as they might require a lot of physical infrastructure, or specialized equipment to achieve the required timing and sequencing in the process. It’s hard to justify, say, building a piping system to deliver fresh water to your plant if you only need 10 gallons of water a day. Coffee roasting and metal sintering are two other processes where the continuous processing equipment is more expensive than the batch processing equipment. It’s often only possible to install a continuous process if the production volume is high enough to justify it.
Whether batching or sequential (flow)-based production is superior thus seems to depend a lot on the specific details of the process at work. With semiconductors, for instance, a key aspect of Fairchild’s technology was that it could be produced via batch production. From “Makers of the Microchip”:
An essential aspect of the manufacturing technology that Fairchild Semiconductor’s founders pursued, combining diffusion, oxide masking, and photolithography, was that it was largely batch production. That is, most of the processes involved were batch operations, acting to form a large number of devices simultaneously on silicon wafers. This batch character of silicon manufacturing technology was significant for the potential economics and for the founders’ strategies of speed and flexibility. Batch production, if it could be successfully developed, held the promise of markedly lowering the manufacturing cost of silicon transistors without sacrificing flexibility. In contrast, sequential manufacturing approaches (e.g. grown junctions and alloying) required capital- intensive automation for reducing production costs. However, automation required the lock- in of manufacturing processes and thereby limited flexibility. The batch character of the founders’ proposed manufacturing technology was, thus, central.
In practice, it seems like production processes often have a mix of batch and continuous elements. In DuPont’s rayon plants, for instance, some improvements were based on moving to continuous processes (such as changing from batch to continuous cellulose sheet shredders), but others were based on increasing the batch size of a particular step (such as increasing the size of the package of rayon fiber produced).
Batch vs flow in practice: precast concrete
To get a sense of what these tradeoffs look like in practice, let’s look at an example of a process with both batch and flow elements to it - precast concrete building construction. Briefly, precast concrete buildings (overwhelmingly parking garages in the US) are made from large pieces of concrete that are produced in a plant. The pieces (consisting of beams, walls, slabs, and other building elements) are then trucked to the jobsite, and craned into place.
A highly capable precast design-builder (like the one I used to work for) will aim for something pretty close to flow production for the actual erection of the garage. Precast concrete components are large, and there’s generally not much room to store them at the actual jobsite. And because crane time is so expensive (and charged by the hour), it’s important to keep the crane as busy as possible, and minimize the time it spends waiting for the next piece. So what you (ideally!) get is a carefully scheduled flow of pieces arriving at the site - a truck arrives, the crane immediately lifts the piece into place, the workers attach it, and they finish just as a new piece is arriving. No accumulated inventory on site, no wasted time with the crane, everything moves swiftly and smoothly into place.
(This is the goal, at least - in practice, it’s very hard to achieve.)
So the end of the process looks something like continuous flow - but go a few steps back, and we start to see plenty of batching.
For one, we see it in the size of the precast pieces themselves - manufacturing and placing a piece of concrete has substantial fixed slash sub-linearly increasing costs associated with it (the costs of designing, checking, tracking, transporting, and craning a piece into place don’t vary substantially with piece size), and so precast pieces tend to be as large as transportation will allow. We can think of this as maximizing the “batch” of concrete volume processed at once [1].
We also see batch production at the manufacturing stage - precast is produced on casting beds several hundred feet long, and the plant will try to fill a bed as close to full as it can.
This is partly due to fixed production costs - precast pieces often require prestressing strand (steel cable that’s pulled to a high tension), which runs along the entire length of the casting bed. A pour will thus generally use the same amount of strand regardless of how many pieces are being poured, and a partially empty bed means a lot of wasted strand.
(We also see another kind of economy of scale here, statistical scaling - the larger the output of the plant, the more likely it is that a bed can be filled with pieces that all have the same strand pattern, minimizing wasted strand.)
Precast production is also rate-limited - once poured, the concrete takes several hours to cure before it can be stripped from the bed and a new piece can be set up. Achieving the required production volume means pouring a large volume of concrete at once (many pieces on many different beds), typically far in advance of actual construction.
Moving concrete from where it’s mixed (literally called the batch plant) to the casting beds seems like it would make sense for a continuous process, since concrete can be pumped, but in fact this is usually batched as well - concrete is generally transported either by way of cement truck, or by a bucket mounted to an overhead crane (depending on the plant setup). There’s no reason in principle that you couldn’t have a continuous piping system that delivered concrete from the batch plant directly to the formwork, but I’ve never heard of one - presumably the cost of installing this wouldn’t be worth it, as any given piping run would only spend a small fraction of time being used (a casting bed spends a small fraction of its time pouring concrete, the rest of it waiting for a piece to cure, stripping the piece, and setting up the next one).
Continuous precast production?
It’s not hard to imagine a more continuous, “lean” version of this process. Start by setting the plant’s production rate based on what buildings have been sold. Tweak your concrete mix and piece size to exactly match this production rate - if you need to produce concrete at the rate of 1 yard an hour to hit your production targets, set your cure time to be 1 hour [2], and your piece size to be 1 yard of concrete. Casting beds that are just long enough for two pieces: while one piece is being poured and curing, the other is being prepped (cleaning, laying out reinforcing,etc.)
The concrete could be delivered to the formwork via a continuous piping system, cures in an hour, is immediately stripped, loaded onto the truck, sent to the jobsite, and craned into place. Construction schedules are set up so that when one building is done, the next can immediately start. No WIP ever accumulates anywhere in the system, everything moves continuously from the plant to the building being produced, the plant is always fully utilized.
If it were possible to implement, this system would have huge benefits. The plant cost would be reduced massively - less formwork, less equipment, less labor, less storage, lower cycle time, and less accumulated WIP (modern precast plants tend to have huge storage yards filled with millions of dollars worth of precast pieces waiting to be erected).
The reason this doesn’t exist isn’t because precasters haven’t heard the good news about flow production - it’s because fixed production costs, scale effects, and process rate limits conspire to prevent such a system from being feasible.
Conclusion
Continuous flow is often considered to be the ideal mode of production, where material moves smoothly and predictably through a process without ever having to stop or wait. Part of what makes a continuous process so efficient is that it has little variability in it.
Continuous processes are often contrasted with batch processes (which process material in large chunks, and often require material to wait in queues to be processed). Batching is a response to certain types of economies of scale, and while in some cases they can be reduced to allow a more continuous process, in other cases the structure of the process means batching is the best option.
These posts will always remain free, but if you find this work valuable, I encourage you to become a paid subscriber. As a paid subscriber, you’ll help support this work and also gain access to a members-only slack channel.
Construction Physics is produced in partnership with the Institute for Progress, a Washington, DC-based think tank. You can learn more about their work by visiting their website.
You can also contact me on Twitter, LinkedIn, or by email: briancpotter@gmail.com
[0] - Assuming there are no tradeoffs between variability and process speed/capacity.
[1] - The other end of the scale here would be something like a concrete 3D printer, which lays down a continuous flow of concrete a very small volume at a time.
[2] - A cure time of one hour, to be clear, would be an incredible innovation in concrete technology - it’s not something a precaster can just “do”.