One of the most significant insights of the Toyota Production System is its concept of pull production. While often misunderstood, the essence of pull production is a clearly defined limit on the work in progress. Push or pull actually has nothing to do with the direction of the information or material flow. But why does this limit on work in progress make so much difference? Why do pull systems vastly outperform push production systems?
Effect of Inventory on Performance
The optimal state of many performance indicators often is either the maximum (e.g., productivity, delivery speed) or the minimum (e.g., defects, cost…). Inventory, however, is different. Too much can be as bad as too little, and you would have to find a sweet spot with just the right amount of inventory.
Too Much Inventory
Inventory is one of the seven types of waste (muda) in lean production. Having too much inventory has many negative side effects and hidden and not-so-hidden costs. Besides the obvious tied-up capital, there is storage, handling, taxes and insurance, administration, obsolescence, and theft.
On top of that, and probably as bad as all the previous, a large inventory makes you sluggish. If the customer demand stays constant and you increase your WIP, all parts have to wait longer until they reach the customer. Hence new products or new orders will take longer to reach the market. Yet especially in today’s fast paced business, companies can ill afford to delay their deliveries.
Overall, both the expenses and the delays will cost you anywhere between 30% and 65% of the value of the goods per year. While I am not sure if all companies have understood this expense associated with inventory, many are reducing their inventory, even if all too often the reason is simply because Toyota does it too. However, simply reducing the inventory brings up another problem, as we will see next.
Too Little Inventory
In any production system there are fluctuations. Different products are produced, parts may arrive early or late, processes will take longer than expected or will be faster, or workers may be available or not. In essence, material does not flow at an even speed, but often comes in waves, sometimes faster and sometimes slower.
This is especially true if you do not look at the total inventory, but at each individual part number. When you produce one product, you have a large demand of parts for this product. If you produce another product afterward, you may no longer need the first parts but a different type of part. Hence, your material flow on a part number basis is uneven. The effect is similar with other disturbances.
To cancel out these uneven demands, inventory is your friend. The buffer inventory going up and down like waves allows the machines and workers to work at a constant speed, and will provide the customer with material despite a fluctuating demand.
However, if you cut your inventory, you will have a problem, since you can no longer decouple these fluctuations using inventory.
Besides inventory, there are two more ways you can handle fluctuations. After inventory, the second option is capacity adjustments. You ramp up your capacity when needed and reduce it when not. However, this is often unfeasible on short notice in a highly volatile modern production system.
If you cannot use inventory or capacity to handle these fluctuations, by default the third option will apply: time! Your manufacturing system will have plenty of waiting times. Workers, machines, and customers will all be waiting for material. The more you cut inventory, the lower your utilization and production rates will be. Altogether, your fixed cost will go up since you have lots of machines that you do not use.
If you reduce your inventory too much, your efficiency goes down and your fixed cost goes up. This can soon be more expensive than the buffer inventory in the first place. To add insult to injury, your inventory won’t really go down that much either! If the system lacks the internal capacity due to lack of material, but you still order parts like you have full capacity, you will end up with piles of material anyway. Except that it is mostly the wrong kind. If you need 100 parts to make a product, you will have 99 on hand but 1 is missing. Hence 99 parts are lying around and cannot be produced.
Just the Right Amount of Inventory
Overall, too little inventory can be as bad or even worse than too much inventory. Hence, somewhere in between there is a sweet spot where your total cost is minimal. For simplicity’s sake, the graph below shows the total cost as a sum of the inventory cost and the fixed costs, although in reality it is a bit more tricky with some more costs involved.
Your system works more efficiently if there is not too much but also not too little inventory! Of course, finding this exact spot is difficult, and it is pretty much impossible to calculate with any practical accuracy, but luckily this spot is usually a wider valley. Therefore, having a small bit more or less does not have such a drastic impact. Also, please remember that such a sweet spot is not static. It can change by itself, or – much better – you can change your system to move the sweet spot to an even sweeter spot 🙂 .
By the way, while most companies understand than lean production involves a reduction of inventory, they often miss the point that the system has to be improved too. Wannabe-lean companies that simply reduce inventory even past the sweet spot have too little inventory and should actually increase inventory. Also, do not forget that it is possible to change the curves by improving (or worsening) the system itself.
Effect of Pull Production
It puts a cap on WIP!
The great thing about pull production is that it limits the work in progress. As explained in my last post, the (True) Difference Between Push and Pull is not the information flow or where the information comes from. The difference is that a pull system has a clear upper limit on the work in progress, whereas a push system does not. Hence the superior performance of pull systems comes directly from the cap on WIP, since it allows manufacturing systems to maintain an inventory close to the sweet spot.
It does it automatically
Having a pull system in place is like having an automatic system that keeps your inventory below a certain limit, no matter if you implement pull using kanban (high volume, low variety), CONWIP (low volume, high variety), any combination thereof, or even a more exotic drum buffer rope system. If the system is working, it needs only a little maintenance to check for lost cards or to update the number of cards if the system is changing.
Suited for almost any production system
Pull systems are suitable for almost any production system, no matter if you are mass producing a few part types (high volume, low variety) or customizing every individual product (low volume, high variety). It works with flow shops and job shops, and even with construction sites (limit the number of construction sites to your capacity). It works for big and small parts. Pull can be implemented for discrete parts (things you can count like screws or cars), for continuous production (chemicals, oils, gases, …), and even digital calculation and information processing. Pull can be used in administrative processes, product design, and even in hospitals (but you have to get the prioritization process right for the last one!).
Pull would work for pretty much any production system. There are very, very few production systems where push is better than pull. One example would be the manufacturing of integrated circuits, where each part passes through the process repeatedly and the process has very little variation. In this case, a good push system is marginally better than pull.
Another example would be processes where it is quite expensive to shut the process down, as for example the crucible of a steel furnace or some chemical process industries. In this case you prefer to run the process even if the demand goes down, because the inventory increase is still cheaper than the shut down of the process. Of course, if you can sort-of hibernate the process without production, it may also be an alternative.
Inventory can still fluctuate, but that’s fine
Please note that while in pull production the inventory levels have a cap, inventories still can fluctuate. For example, with kanban systems, theoretically all of the kanban could be sitting in the supermarket with its associated material, and we would have max WIP. However, it is also possible that all cards are waiting for production and our WIP would be zero. Of course, in reality it is usually something in between.
This fluctuation is fine. The kanban formula and the alternative kanban estimation approach determine the number of cards needed to operate smoothly, but average WIP will usually be much less than the sum of the kanban cards.
It is Robust!
There are different ways how to control your production system. You could plan using available capacity and required deadlines, which would be the conventional push approach. Unfortunately, both capacity and deadlines are usually rather volatile and can change quickly. Hence, planning ahead is difficult, and frequent changes to the production plan are needed to match changing requirements. Overall, it is very tricky to plan using conventional push production.
With pull production, however, you merely plan the limit on WIP (and maybe prioritize which part to produce next). There is no need to plan the capacity in detail, nor the deadlines as long as your system is fast enough .Additionally, the system is very robust against the limit on WIP. It doesn’t matter if your limit is a bit too high or a bit too low, in all likelihood your system is still going to work fine, even if you haven’t hit the perfect WIP levels. Small changes in the WIP limit do not lead to larger changes in the performance. Hence, pull production is overall very robust and insensitive to fluctuations in the system.
Hence, overall pull systems are so great because they have a cap on inventory and can – if set up correctly – keep the inventory close to the sweet spot between too much and too little inventory. Pull systems can do this regardless if they are set up using kanban, CONWIP, or any other method for inventory caps. They can be applied to almost any production system. Hence, if you have the chance to change your system from a push system to a pull system, it will help you to get your industry organized!
26 thoughts on “Why Pull Is So Great!”
This one is a great explanation. I will use it for my shop floor people, for my logistic friends and also for my controlling guys. Awesome! Thanx!
Hello Martin. Thanks for the Compliments 🙂
Again, beautiful clarity and simplicity in the explanation (can only be achieved with supreme understanding of subject matter. Thank you.
“supreme understanding of subject matter” 🙂
Again many thanks for the flowers! (even though I think there are still many things in Lean I don’t understand … yet)
Great explanation and easy to understand.
Many thanks, Philip 🙂
Good read Christoph. Well explained
Many thanks! 🙂
Good article, altho I have to admit that you could put more effort in explaining what are the prerequisites for pull system to work. It is not as simple, without proper understanding what makes pull system functioning, many companies might just fail at switching Push with Pull. But you provided great explanation on the Inventory Fluctuations and Robustness. Indeed properly executed Pull system reaps large benefits over Push.
Hi Radovan, what are the prerequisites for pull systems to work? If it is high quantity low variety, that would be a Kanban prerequisite, but for pull you can also easily use CONWIP for low quantity high variety products. On the top of my head i cannot think of a prerequisite besides the need to have a (production) system.
In my postgraduate study, I identified reducing process variability and shortening the change over time in the process as main levers of getting the production system into pull mode. As long as you cannot tackle those two elements, pull system will often run out of finished goods sooner or later.
Hi Radovan, variability in General (not only process) and lot size (often defined by change over time) are definitely two levers to _reduce_ inventory. (see also my next post next week). However, if these factors run wild, you still can establish pull, you just need more inventory, i.e. your WIP limit has to be higher. Of course, at one point an increasingly large inventory will be rather big and clumsy, but this is also true for push systems with similar fluctuations. Sometimes, pull systems are established with way too little inventory to work.
Ehm, then we end up back to the discussion on other page, what would be proper definition of Push/Pull system, and I am already contesting the definition there. 🙂 I believe, pull system is doable only when cycle time of the process is comparable to the time customer is willing to wait for product/service. When it takes much more time to produce product than what is customer willing to accept, you have to revert to Push system.
Hi Radovan, in my view Push/pull and capacity vs. demand are two separate problems.
Regarding your question on my other post on this: All of the above assume a static system. However, in reality systems are not static. The demand often comes in waves. Assume that in the long term you can satisfy the customer demand. A push system lets every wave hit the production system, all incoming orders are released to production. A pull system limits the number of active orders in production (WIP). This “wave breaker” will keep a pile of not-yet-started orders, and take the most urgent one once capacity becomes available.
In sum, a pull system will level these waves and distribute the WIP more evenly in the system by preventing a pile up.
I am glad you asked, your question make me think. I still stand by my point, though 🙂
Hope this helps, I enjoy the discussion.
You have interesting viewpoint, but then I am still lacking a real life example of push system. When I was managing the Production Planning in one company, I assumed it was pure Push system, because we would look in advance of the demand vs capacity and were leveling out the cyclic demand by producing in advance when we had excess capacity. We never used any pull control system like Kanban or Conwip, but we had limitation on WIP due to limited inventory containers. But in Hopp&Spear definition, it was Pull system all along, so now I really don’t know what could be real life example of Pull system.
Again, your questions make me think, I like that 🙂 . With your limited containers, you may have been “pull” if there was a fixed upper limit. In contrast, floor space is also limited, but a company does not have pull just because there is no more space to cram another part in.
I still believe that the WIP limit means pull, but with your question I start to wonder if this is all there is, or if there is another layer to it. Maybe it has to do with how you achieve this upper limit? Maybe the upper limit does not have to be too large. I was also wondering if the limit has to be part-specific, but in this case CONWIP would not be Pull, and that feels wrong. I am pretty sure it should be a limit not for the entire factory, but for individual production segments or streams, i.e. the number of kanban within a loop. I am pretty sure it is not the “make to stock/make to order” distinction that is often used as a definition, because this makes little sense to me.
Possible Real life push: Upper limit is fuzzy (space on shop floor), possibly ill defined, and possibly not actively controlled, but more the result of other random actions. A lot of companies would fit that example. What do you think?
Yeah, MTS or MTO are not good definition of Push/Pull, but I can’t say limit on WIP is also a good definition of Pull. Lets take that shoemaker example 🙂 You said communist shoemaker is Push system, and I agree, but would also say most if not all of the shoemakers are Push system, because they start to produce shoes regardless of the actual customer demand, and it is really not related to limit of WIP they can have. It is not like you come to the shoe store, order a specific shoe and then shoemaker starts working on it, in order to sell it, he has to have it already in inventory, otherwise you will try your luck with the street dealer 🙂 . And he can’t be starting to work on it when you make an order because the process of production takes much longer than time you are willing to wait for the shoes.
Now if we design superior shoe workshop where actual shoes are made of some shoe precursor, like you would have a kanban of vanilla shoe design of different sizes, and just do in 30 mins some finishing touches to get the final product, that would be considered Pull system because final work started when you actually placed an order AND you get finished product before you left the store. So good definition has to be combination of processing time, limited WIP inventory and MTS/MTO definition. Now that I think about it, explanation seems a bit complicated, and Albert Einstein said, if the explanation is too complicated, I don’t understand it well enough :).
Hi Radovan, I think the processing time does not say anything about pull. Most industry products have a processing time longer than what the customer is willing to wait for (e.g. shoe maker). I still think pull is very related to an upper limit. The “pull” shoe maker also makes shoes without an actual customer order. When he has a certain number of shoes (e.g. 3 of every size and make he offers), he stops producing. Only after a customer purchased a shoe he re-produces this model. Hence, it is a MTS-Pull.
An example for MTO-Pull would be a high end shoe maker that makes shoes customized for the exact shape of the customers foot. Obviously he cannot start before he has an order and has measured the foot of the customer in detail (MTO). If customers love his store and (temporarily) order more than he can make, he or an assistant could start them all (push). Alternatively, he could have only a certain maximum number of shoes in process at any given time (WIP limit). All other shoe orders have to wait, until a shoe is completed. This would be a MTO-Pull shoemaker.
Einstein: “If the explanation is too complicated, I don’t understand it well enough” … and then he started relativity theory …. 😯
Ok, you made good point again.. by offering another two examples of pull system. 🙂 I really would like to see an example of push system that falls into definition of Hopp&Spear. Because apparently shoemaking isn’t one.
hi Mr christoph i need explanation on this pls
how u can compare and contrast pull and push systems of operations to managing warehouse functions in organization ?
my email ([[removed]])
Hi Sahem, a pull system has a fixed upper limit on WIP. This may be by part number if you have high runners, or for all parts if you have more custom made parts. This can be done in warehouses, although for this the warehouse would have to “order” parts from the supplier/manufacturing if other parts leave. often, however, stuff is simply sent to the warehouse, which has no option to reject or slow it down. in this case it would be push.
Hello Christoph, hope you’re still getting the notification about comments for older posts.
I am studying your fantastic blog and trying to get as much as I can for the production company I work for.
This production is a typical job shop with very high variety of products (including product types) in low volume and irregular (and often changing) orders for most of references. Moreover, the process and operation time is different depending on the product. I think you might have already visited our plant as you perfectly described it in post https://www.allaboutlean.com/job-shop/ ;).
I have to admit it was a little of a shock for me when I started working for the company after having >10 years of experience in japanese company, including 7 years in Toyota, Japan.
Currently we are planning the departments lay-out rearrangement for better material flow, but I don’t expect it resulting in spectacular improvement of WIP and inventory level, which are very high.
It encouraged me when I read about pull as “Suited for almost any production system” (even if I still have no idea how to implement it in our production). I was thinking of implementing a combination of CONWIP and advanced planning and scheduling system (APS) supported by manufacturing execution system (MES), until I read your another post about limitations of CONWIP for job shops (https://www.allaboutlean.com/conwip-faq2/). Taking into consideration that operators are not taking the production cards (Laufkarte) very seriously and they’re (the cards, not operators!) often gone before reaching the next process, I am thinking more of a digital form of CONWIP cards.
However, I have never seen that in action and I am not quite sure this will be the optimum solution for the production.
Can you share your thoughs on that kind of case?
Hi Albert, thanks for the extensive comment. I read all of the comments on my blog (even though I no longer have the time to answer all of them). Job shops are always messy. CONWIP can work, you have to decide if you want to make one big loop, many smaller loops, or a loop for every machine. You still need to have a logic which part goes where next, which CONWIP does not answer. Common raw materials can be controlled with kanban.
Can you make it a flow shop?
All the best! Chris.
@Radovan, it’s very doubtful you will read this five and a half year after your last post but I found your discussion with Christoph very interesting to read. It’s unfortunate it was left open regarding an example of push and how it differentiate from pull. So here is my contribution.
The way I see it, if you’re going to schedule production for each machine based on a forecasted demand pattern of the finished goods and you’re only using actual demand information to RE-schedule then you’re using “push”. This is because work-in-process inventory (buffer) control is not considered during scheduling. But that’s in theory. In practice every system would use a form of work-in-process inventory (buffer) control to supplement the “push” system. In your own example you use limited inventory containers to prevent overproduction. At that point you stopped “pushing” and used downstream information as a “stop” sign.
I imagine when you hit this limit you would be forced to create a new production schedule based on the latest information. Moreover, you would have to determine when the “stop” sign turns into a “go” sign (which your scheduling system was not designed to do). In essence what you would be attempting is forecasting the “go” sign. This can become very difficult to do, especially when you have many different products to consider. Mr. Ohno also found this very difficult so he came up with an alternative; let downstream processes provide the “go” (and “stops”) signs instead of forecasting them.
So when going by Hopp and Spearman’s definition of pull, NOT every system is a pull system since not every system “explicitly” limits the amount of work-in-process. The scheduling system in your own example is a push system since you use a separate system to limit work-in-process. In a pull system limiting work-in-process would be a core functionality. So essentially a pull system hits two birds with one stone. When you can easily implement such a system then it will function better than push with a separate work-in-process inventory control system. However, when your company has a well-established and reliable push scheduling system then is easier to implement a separate work-in-process control system (just like you did).
P.S. personally I would throw terms like “push” and “pull” out of the window since they have no clear definition that we all agree on. When these terms are used they create misunderstanding. So it’s better to just describe your system when talking to a fellow lean thinker.
Since I wrote this blog post a few years ago, I also published a book “All About Pull Production”. In this I clarified my definition of Pull: