
Key takeaways
Short answer: EOQ and JIT give opposite answers to how much you should order or make at once. EOQ (economic order quantity) treats ordering and setup cost as a given and calculates the batch size that minimizes the total of ordering cost plus holding cost — accepting some inventory as economically optimal. JIT (just-in-time) rejects that premise: it treats inventory as waste and works to make and order only what is needed, when needed, in the smallest possible lots — and to make that economical, it attacks setup and ordering cost directly. EOQ optimizes within fixed costs; JIT changes the costs. See also lot-for-lot vs fixed order quantity.
The economic order quantity (EOQ) is a classic inventory formula that answers one question: given that ordering costs money and holding inventory costs money, what single order size minimizes the total of the two? Order in large batches and you place few orders (low ordering cost) but carry a lot of average inventory (high holding cost); order in small batches and you flip the trade-off. EOQ finds the bottom of that combined-cost curve — the order quantity equal to the square root of (2 x annual demand x cost per order / holding cost per unit per year). Its logic is sound and its assumptions are explicit: steady demand, a fixed and known ordering or setup cost, and a constant holding cost. EOQ accepts inventory as a rational outcome — if setups are expensive, the math says carry a batch, because the savings in ordering cost outweigh the holding cost. It optimizes within the costs as they are, treating the ordering or setup cost as a fixed fact of life to be balanced against, not removed.
Just-in-time (JIT), the heart of the Toyota Production System, starts from a completely different premise: inventory is waste. Material sitting in stock ties up capital and space, hides quality and process problems, and represents work done before it was needed. So JIT's goal is to produce and deliver only what is needed, only when it is needed, and only in the amount needed — pulling material through the process in the smallest practical lots, ideally one piece at a time. Rather than calculating an optimal batch to hold, JIT works to eliminate the reasons batches exist. The signature move is attacking setup time: if changing over a machine takes hours, big batches are forced; if you drive that changeover down to minutes through SMED, tiny lots become practical. JIT is therefore not a formula but a philosophy and a set of practices — pull systems (kanban), level scheduling, setup reduction, and relentless waste elimination — aimed at making small-lot, low-inventory flow not just possible but cheaper than batching.
The deepest difference is not arithmetic but worldview. EOQ accepts inventory as economically rational and asks how much is optimal to hold. JIT regards inventory as waste that conceals problems and asks how to get rid of the need for it. EOQ is a static optimization: take the costs as given and find the best point on a fixed curve. JIT is dynamic improvement: change the costs themselves so the best point moves toward zero inventory. An EOQ devotee looks at expensive setups and concludes "therefore batch"; a JIT practitioner looks at the same setups and concludes "therefore fix the setups." Neither is wrong within its frame — EOQ correctly optimizes a world of fixed setup costs, and JIT correctly observes that those costs are often not fixed at all. The clash matters because it leads to opposite operational decisions from the same data: where EOQ counsels accepting and optimizing inventory, JIT counsels attacking the root causes that make inventory seem necessary.
The reconciling insight is that JIT does not violate EOQ — it changes EOQ's inputs. Look again at the formula: order quantity rises with the square root of the ordering or setup cost. If that cost is high, EOQ itself prescribes a large batch. But the setup cost is not a law of nature; it is a consequence of how the changeover is done. When JIT drives setup cost down through SMED, the EOQ shrinks automatically — by the formula's own logic. Cut setup cost to a quarter and the economic batch halves. Push setup cost toward zero and the economic batch shrinks toward one piece. So JIT and EOQ are not really enemies: JIT accepts that for any given setup cost there is an economic batch, and then works to make that setup cost small enough that the economic batch becomes tiny. The lesson is that the "optimal" batch EOQ hands you is only optimal for your current setup cost — and that cost is a variable you can attack, not a constant you must accept.
Put numbers on it. Annual demand is 12,000 units, the cost to place an order or set up is 200, and holding cost is 3 per unit per year. EOQ = square root of (2 x 12,000 x 200 / 3) = about 1,265 units per order — a sizeable batch, and the math says that batch is genuinely cheapest given a 200 setup cost. Now apply JIT thinking and attack the setup: through changeover improvement, the setup cost drops to 20. Recompute: EOQ = square root of (2 x 12,000 x 20 / 3) = about 400 units — the economic batch fell by more than two-thirds, not by overriding EOQ but by feeding it a smaller setup cost. Drive setup cost to 2 and EOQ falls to about 126; toward zero and the optimal lot approaches single-piece flow. The same formula that justified a 1,265-unit batch now justifies near-JIT lots — because the input changed. That is the whole argument in one calculation: EOQ tells you the best batch for your costs, and JIT lowers the costs so the best batch shrinks.
Use EOQ-style batching when setup or ordering costs are genuinely high and not easily reduced — purchased items with fixed supplier order costs, processes with irreducible changeovers, or stable, predictable demand where the math clearly favours a batch. Lean toward JIT where setups can be reduced, where demand is reasonably level, where flow and responsiveness matter, and where the hidden costs of inventory (obsolescence, concealed defects, space, capital) are high. In reality most operations are hybrids: they apply EOQ logic to far-flung purchased components with real fixed order costs while pursuing JIT flow on the production floor where they control the setups. The decision framework is to ask, for each item or process, "is the setup or ordering cost truly fixed, or can I attack it?" Where it is fixed, optimize the batch with EOQ; where it can be reduced, do that first and let the economic lot shrink. The mistake is treating setup cost as immovable everywhere (pure EOQ complacency) or pretending it is zero everywhere (naive JIT).
The EOQ-versus-JIT choice reaches OEE through changeovers and the Availability factor. Large EOQ batches mean few changeovers and high availability, but at the price of inventory. JIT's small lots improve flow and slash inventory, but they multiply changeovers — and unless changeover time has been driven down, those extra setups gut availability. This is why setup reduction (the same SMED work behind faster changeovers) is the precondition for JIT: it lets you run small lots without sacrificing OEE. Inventory also hides OEE problems — a buffer of stock lets a line keep shipping despite chronic downtime or quality losses, masking the very issues OEE is meant to expose. JIT removes that buffer, which surfaces the problems and forces them to be fixed. So the deeper connection is that JIT and OEE improvement are mutually reinforcing: cutting inventory exposes losses, and cutting setup time lets you cut inventory without losing availability. See also push vs pull production.
Whether you batch by EOQ or pursue JIT, Fabrico shows the OEE consequence by capturing changeover and downtime losses against live OEE. When small lots multiply changeovers, the availability hit is visible in the data — telling you whether faster changeovers would let you run leaner without losing uptime, and whether the inventory you carry is masking downtime or quality losses underneath. That turns the EOQ-versus-JIT trade-off into a measured decision rather than a philosophical one. Book a demo to see how lot sizing and changeovers move your availability.
EOQ calculates the order quantity that minimizes total ordering plus holding cost, accepting some inventory as optimal. JIT treats inventory as waste and aims to make and order only what is needed, when needed, in the smallest lots. EOQ optimizes within fixed costs; JIT works to reduce those costs.
Not really. JIT changes EOQ's inputs rather than overriding its math. Because EOQ rises with the square root of setup cost, driving setup cost down through changeover reduction automatically shrinks the economic batch toward the small lots JIT favours. JIT attacks the setup cost EOQ treats as fixed.
Use EOQ-style batching when setup or ordering costs are genuinely high and hard to reduce, such as purchased items with fixed supplier order costs, or where demand is stable and the math clearly favours a batch. Use JIT where setups can be reduced and flow and low inventory matter.
Because long setups force large batches. Reducing changeover time (through SMED) makes small lots economical, which is the precondition for just-in-time flow. Without setup reduction, small JIT lots create too many changeovers and destroy equipment availability.
Through changeovers and the Availability factor. Large EOQ batches mean few changeovers and high availability but more inventory. JIT's small lots cut inventory but multiply changeovers, so availability only holds if setup time has been reduced. Inventory can also mask downtime and quality losses that OEE is meant to expose.
Programați o întâlnire individuală cu experții noștri sau înscrieți-vă direct în planul nostru gratuit.
Nu este nevoie de card de credit!