Level-loading Heijunka Cycle

Heijunka, also known as level-loading, production-leveling or production-smoothing, is a foundational element of the Toyota Production System. It facilitates system stability by addressing workload unevenness (mura) through the leveling of both volume and mix over time, see Figure 1. Heijunka also serves as a pacing mechanism for operations, often reflected in the use of heijunka, leveling, or schedule boxes, which are typically designed using pitch intervals, see separate pitch post. Successful heijunka reduces lead time, inventory, and worker physical and psychological stress that can accompany fluctuating workloads. Some prerequisites include quick changeovers, capable processes, standardized work (or at least defined work content), good visual management, and a solid understanding of customer demand – volume, mix, and variation, see separate demand segmentation graph post.

heijunka graph Figure 1. Example of volume and mix leveling


The heijunka cycle (Ch) represents a regular, repeatable production sequence to facilitate the leveling of mix. The lean practitioner can readily calculate it using a simple spreadsheet and one or more illustration iterations of the proposed cycle, followed by some real PDCA at the gemba. See Figures 2 and 3, as well as the related formulas. As with the concept of takt time, consider Ch more as a design parameter, than a precise and rigid blueprint for developing the heijunka system.

Ch Calc- Figure 2.Example heijunka cycle calculation


See the Resources>Templates menu options for a downloadable example Excel heijunka cycle calculation spreadsheet.


heijunka sequence Figure 3. Heijunka cycle illustrated


heijunka text1heijunka text2It bears repeating, don’t sweat the math if the ratios aren’t perfect whole numbers (that only happens in the examples provided by teachers and consultants). Pragmatically round when appropriate and remember that mix is often a dynamic thing. Good, simple and visual heijunka standard work will cover for real-life variation.


There are 65 Comments

alia's picture

Hi Mark, good work can you send me the spreadsheet to clarify some doubts.

Best regards,


sharif's picture

Another method to level for heijunka i learned from Toyota is by using Sorting number which is based on a special table. We need to know the pitch interval, normally calculated as Takt time x pack size or multiple of pack size. Then knowing Available time, we can calculate the total heijunka columns for a particular work cell; No of heijunka columns = Available Time/Pitch, e.g 200min/20 =10. So we look for 10 in the Sorting Table. For 10 the sorting number is 10 5 3 7 1 9 6 4 8 2. We should label these number onto the corresponding columns. If we need 50 kanbans to meet the daily demand : say 20 kanbans for model A, 20 for B, 10 for C, we can start loading A into column number 1, then 2nd card into column 2 until 20th card. Then we continue with B after the column number we stopped for A. Then we do the same for C. We can see that after doing all this the distribution will be well balanced. Hope this helps.

lloucka's picture

Hello Frank, Takt Time doesn't change over the near term, while individual patient appointment cycle times are all different. You say you have fixed times per appointment. That must be fixed 'planned' times, actual times certainly vary, some shorter than 15, some longer. Right? Given the recent average daily demand we calculate Takt. Maybe you want to design your business for higher volume, so go ahead and use a forecast of the number of visits of each type. Maybe you predict that the mix of A/B/C appointment types will change, maybe you need to improve wait times? Regardless you start with Demand and Available Time. Next what do you know of the variation in actual appointment times? Try the math again and see if you can make it work. If not, then contact us and bring some data, and we'll see if we can see where you are going wrong. Because the heijunka leveling definitely is applicable to appointments of all kinds.

Frank Sabala's picture

Thanks for the response. I will keep working at. Heijunka is definitely applicable, it's just figuring out this specific application of it.

Thanks again.

Frank Sabala's picture

Very good article.

I have a question on it's application to healthcare. We have different appointment types, similar to different products. If the appointment types are designed by time (appt. A 15 min, appt. B 30 min, appt. C 45 min.) will this type of level loading calculation work? It doesn't appear that it will, because in the article takt for visit would be based on the demmand, where I am working with a fixed time per appt. Does that seem correct? How could I look at demand where I have a fixed appt. time?


Gajanan Bhoite's picture

Hi Mark
this is really interesting can you please share spreadsheet which will help me to workout

Mark's picture


I didn't understand how did you find the selected production ratio (5;3;2).
Moreover, I didn't understand the Figure 3. Heijunka cycle illustrated; for me it should ABCA or ABAA, could you please explain me ? thank you very much for your work.

lloucka's picture

The "Selected Production Ratio" is just rounded off of the x2 'Calculated Production Ratio'. 4.71/3.11/2.00 becomes 5/3/2. You can see the formula in the spreadsheet. Follow the link right below the Ch Calculation Example.

lloucka's picture

ABAC or ABCA, or any other combination isn't as important as getting the 5/3/2 ratio right *and* making the batch sizes and repeat interval as small as possible.

lloucka's picture

Daimeng Li, please check this post again. Our download application should be working now. Sorry for the mistake.

Daimeng Li's picture

Thx a lot, Mark. Could you send me the spread sheet?

Ozgur Dursun's picture

Can I also get the spreadsheet work out with the numbers ?
Thx Mark

lloucka's picture

Hello Ozgur Dursun, please go back to the post and look for the link to download the spreadsheet. It is below Figure 2.