Optimal inventory level management is not an exercise in feeding numbers into a formula and reading off the answer. Look at Thailand’s national statistics and the cost of *holding* goods turns out to be roughly the same size as the cost of *moving* them. On NESDC estimates, Thailand’s inventory holding cost in 2024 was 1,122.1 billion baht against a transportation cost of 1,200.6 billion baht. The gap between the two is small. And yet in most factories, transport quotations get circulated for approval every year while nobody signs anything for inventory holding cost. This article reframes optimal inventory as an operating design — five layers, each with an owner and a review cycle — and sets out what actually has to be decided before the numbers move.
What optimal inventory really means — separating it from safety stock once and for all
On the shop floor, “optimal inventory” and “safety stock” get used interchangeably. They are different things, and as long as they stay conflated, reduction targets and stockout prevention will keep colliding inside the same meeting. Start with the definitions.
Optimal inventory = safety stock + cycle stock
The practical way to understand optimal inventory is as the sum of two stocks with quite different characters.
| Category | What the stock is for | How it is determined | Can it be reduced? |
|---|---|---|---|
| Cycle stock | Covers normal consumption until the next receipt arrives | Set by order interval, lead time and average consumption | Yes — shorten the order interval and it falls (at the cost of more order placements) |
| Safety stock | Prevents a stockout when consumption and lead time move around | Set by the size of the variability and how much stockout risk you accept | Yes — reduce the variability, or raise the accepted stockout rate |
The formulas in general use are given below. These are not drawn from a specific primary source; they are treated here as the widely accepted conventions of production management practice.
- Safety stock = safety factor × standard deviation of usage × √(order lead time + order interval)
- Optimal inventory = safety stock + cycle stock
- Written another way, optimal inventory = (average daily issue quantity × (order interval + lead time)) + safety stock
- Reorder point = average daily issue quantity × lead time + safety stock
The safety factor is decided by how much stockout you are prepared to tolerate. In general use, a 5% accepted stockout rate (that is, a 95% service level) corresponds to a factor of 1.65. The point worth holding on to here is that the safety factor is a management judgement, not a technical parameter. Push the service level to 99% and the factor rises, and safety stock rises with it. There is almost never a case for putting every item at 99%. Unless you separate items by what actually happens when each one runs out, this factor cannot be decided at all.
Setting the two formulas side by side reveals the underlying structure: the bulk of optimal inventory is cycle stock, and safety stock is only the increment on top. Take an item with a 14-day order interval, a 14-day lead time and average daily issues of 100 pieces (note that the later chapters use a 7-day order interval, so the premise differs here). Everything other than safety stock — the cycle stock covering the order interval plus the quantity consumed during the lead time — comes to 100 × 28 = 2,800 pieces. Safety stock, by contrast, with a standard deviation of 30 pieces, is only 1.65 × 30 × √28 ≈ 262 pieces. When the goal is to reduce inventory, a discussion that only cuts safety stock is aimed at the wrong place. The places that move the number are the order interval and the lead time.
Three reasons the formula does not reduce inventory
Plenty of factories have built the safety stock formula into a spreadsheet, generated numbers for every item, and watched inventory stay exactly where it was. The cause is not the formula. It is that the three inputs the formula requires are not in place.
Reason 1: book inventory does not match the physical count. Run the formula while system quantities and physical quantities disagree, and the reorder points it produces are meaningless against the physical reality. Worse, the shop floor knows the system figures cannot be trusted, so it keeps its own hidden stock. A buffer born of distrust gets stacked on top of the optimal inventory the formula produced. This is what this article calls the Layer 0 problem.
Reason 2: the standard deviation of usage is not taken from actual data. Producing a standard deviation requires daily (or at minimum weekly) issue history as a time series, per item. If all you have is a monthly total consumption figure, σ cannot be calculated. Because it cannot be calculated, most sites substitute a rule of thumb — “average plus some percentage”. The instant a rule of thumb goes in, the formula becomes a rule of thumb wearing the shape of an equation.
Reason 3: lead time is held as a single average. This is the most serious input error in Japanese-owned plants in Thailand. The master data carries one number: “procurement lead time, 14 days”. Line up the actual receipt history, though, and sometimes it is 12 days and sometimes it is 22. What the formula protects you against is variability around the mean; it does not protect you when the mean itself is out of step with reality. In Thailand through 2026, events that stretched that tail — the late side — kept coming. The detail is covered later.
Put the three together and it becomes clear that optimal inventory level management is not a problem of choosing a better formula. It is a problem of deciding how far down the stack you are going to fix the inputs that go into the formula. The next section breaks that stack into five layers.
The five-layer model for setting optimal inventory levels
To treat optimal inventory as an operating design, break it into five layers. The essential feature of the model is its ordering: work on an upper layer before the layer beneath it is sound and you will get no result.

| Layer | Content | What happens if it is not in place | Principal review owner |
|---|---|---|---|
| Layer 0 | Physical accuracy (book inventory = physical inventory) | Every calculation in the layers above becomes meaningless | Warehouse / manufacturing control |
| Layer 1 | Take consumption variability (σ) from actual data | Safety stock degenerates into a rule of thumb | Production control |
| Layer 2 | Hold lead time as a distribution | A guaranteed stockout in any month that does not run to the average | Purchasing / procurement |
| Layer 3 | Assign the ordering method (ABC × XYZ) | Every item runs on the same method, raising both workload and inventory | Production control / purchasing |
| Layer 4 | Maintenance (review cycle and owner) | Hollows out within six months and inventory returns to its old level | Plant manager / administration |
Each layer is taken in turn below.
Layer 0: physical accuracy — causes and countermeasures for inventory discrepancy
Everything rests here. If book inventory and the physical count do not agree, the four layers above carry no meaning at all.
In practice, the causes of inventory discrepancy converge on a short list.
| Cause of discrepancy | How it typically shows up | Direction of the countermeasure |
|---|---|---|
| Issues not posted, or posted late | The goods have physically left but the system still shows them | Change the operation so the record is made at the moment of issue |
| Wrong part or wrong quantity picked | Two part numbers go out of alignment at once | Location control plus barcode or RFID verification |
| No defined treatment for partial quantities and offcuts | Remainders on reels and coil offcuts never get posted | Set a posting rule for partial-quantity stock |
| Defects and scrap not processed | Unusable stock stays in book inventory | Connect the defect judgement to the stock transfer procedure |
| No location control | “It should be here but nobody can find it” triggers a duplicate order | Fix a storage location per item |
| Miscounting at stocktake | The numbers move every time you count | Double counting, and recording a reason for each discrepancy |
The first countermeasure to take is to measure the discrepancy rate separately by item category. A single company-wide discrepancy rate leads to no action at all. Whether the discrepancy is occurring in high-value items (the A items discussed later) or in partial quantities of C items calls for completely different responses. The former is usually a problem of location control and verification; the latter is usually a problem of posting rules.
How much discrepancy you are prepared to accept also has to be decided in advance. A common practical benchmark is that many factories set an interim target of under 1% discrepancy by value for high-value items, and within a few percent on a piece-count basis. That said, this varies enormously by industry and item mix, so rather than importing an external standard wholesale, it works better to take your own most recent measured figure as the starting point and set a target of bringing it down quarter by quarter.
The concrete means of firming up Layer 0 — how to design cycle counting, whether to choose barcode or RFID, and what each costs — are covered separately in the cost of RFID stocktaking and how to make the call. This article confines itself to a single question of judgement: how far do discrepancies have to be eliminated before you can move up a layer?
The test is simple. For the items you will use in Layer 1 and above — the high-value items with continuous consumption — is the discrepancy smaller than the safety stock? If an item has a safety stock set at 227 pieces and every stocktake produces a 300-piece swing, that safety stock is not functioning. The discrepancy is eating it. Read the other way round: you do not have to drive discrepancies to zero across every item before moving on. Prioritise, and proceed.
Layer 1: taking consumption variability (σ) from actual data
Once Layer 0 is firm, issue history becomes trustworthy data. Only then can a standard deviation be calculated.
What you need is issue quantities by item × day (weekly at the very least), covering at least the most recent six months to one year. The example below follows a single item using assumed figures, purely to illustrate the reasoning.
- Daily issue data exists for the past 12 months
- Average issue quantity: 100 pieces per day
- Standard deviation: 30 pieces (coefficient of variation = 30 ÷ 100 = 0.3)
- Order lead time: 14 days
- Order interval: 7 days
- Service level 95% (safety factor 1.65)
On these inputs:
- Safety stock = 1.65 × 30 × √(14 + 7) = 1.65 × 30 × 4.58 ≈ 227 pieces
- Optimal inventory = 100 × (7 + 14) + 227 = 2,327 pieces
- Reorder point = 100 × 14 + 227 = 1,627 pieces
All of these are assumed figures — a template to be replaced with your own measured values.
What trips people up in practice is how σ itself is taken. Three points are worth calling out.
First: do not exclude days with zero issues. The fact that there are days with no consumption is itself part of the variability. Strip out the zero days before computing the mean and standard deviation and the mean rises while the variability appears smaller. The result is safety stock that is too low.
Second: handle seasonality and one-off spikes separately. Leave a once-a-year bulk order in the data set and σ jumps, leaving safety stock inflated for the whole year. If the spike is predictable in nature, it belongs in the plan, not in σ. σ is a tool for absorbing the variability you cannot forecast.
Third: fix the window and update on it. Once you have decided to calculate on “the most recent 12 months”, update on the same definition every time. Change the window at each recalculation and you lose the ability to explain why the number moved.
One further note: items where σ is extremely large — where the coefficient of variation exceeds 1 — are quite likely not items that should be protected by safety stock at all. That judgement connects directly to the XYZ analysis in Layer 3.
Layer 2: holding lead time as a distribution
This is the layer this article most wants to emphasise. Most factories hold lead time as a single number in the master data. Real lead time, however, has a distribution.
When a Japanese-owned plant in Thailand procures material from Japan, lead time is the sum of several stages.
| Stage | Principal source of variability |
|---|---|
| Supplier lead time from order to shipment | Supplier production planning, stock position in Japan |
| Inland transport and container drayage within Japan | Port congestion, peak season |
| Ocean freight (or air freight) | Blank sailings, changes to port rotation, weather |
| Discharge and customs clearance in Thailand | Documentation errors, whether the shipment is selected for inspection, public holidays |
| Inland transport from customs to the plant | Traffic conditions, truck availability in peak season |
Of these, only the first moves according to the supplier’s own circumstances. The remaining four all sit in territory where there is no obvious counterparty to negotiate a price with or to chase for delivery, and they share a characteristic: near-constant under normal conditions, but stretching by days or weeks under specific circumstances. Which is to say the distribution is not symmetrical — it has a long tail on the late side.
The danger of holding only the average can be shown with the same assumed figures.
- Lead time in the master data: 14 days
- Actual receipt history: median 14 days, but several recent months exceeded 18 days
- Additional stock required if lead time becomes 18 days = 100 pieces × (18 − 14) = 400 pieces
- Safety stock for this item, meanwhile, is 227 pieces
227 pieces of safety stock cannot absorb a four-day delay. Safety stock is calculated to absorb *variability in usage*; *shifts in the lead time itself* are not within its scope. Run the safety stock formula without noticing this and you end up with an inventory level that is optimal on paper and produces several stockouts a year in reality.
The countermeasure is not difficult. Build a lead time distribution per item group from actual receipt history.
- Line up order dates and receipt dates for the past one to two years, grouped by item family (by supplier and transport mode)
- Produce the 95th percentile — the figure that 19 receipts out of 20 fall within — rather than the median
- Use them differently: the median as the master data lead time, the 95th percentile as the lead time fed into the safety stock calculation
- Where an item group’s distribution is bimodal (clustering separately for normal sailings and blanked sailings), identify the cause and manage the two cases separately
The data this work requires already sits inside the purchasing system at most factories. Matching order data against receipt data is all it takes to calculate a 95th percentile. Looking here before buying any new mechanism is the correct order of operations. Systematising the order placement process itself is covered in how to choose an order and purchasing management system; this article stays focused on how the order quantity gets decided.
Layer 3: assigning the ordering method (ABC × XYZ)
Once the first three layers are in place, you can finally decide which ordering method applies to which item. Running every item on the same method is the single largest cause of both excess workload and excess inventory.
There are three principal ordering methods.
| Method | Mechanism | Suits | Does not suit |
|---|---|---|---|
| Fixed-quantity ordering (reorder point system) | When stock falls below the reorder point, order a fixed quantity | Items with stable consumption where stock is visible at all times | Items with irregular consumption that breach the reorder point constantly |
| Periodic ordering | At a fixed interval, calculate the order quantity from current stock and the demand forecast | High-value items where you want the latest demand view reflected each time | High item counts where the per-cycle calculation is not worth the effort |
| Kanban (including two-bin) | An empty container or shelf is the signal to replenish a fixed quantity | Low unit cost, stable consumption, manageable by physical means | High unit cost items, irregular consumption |
There are two axes for assignment: value (ABC analysis) and consumption variability (XYZ analysis). The combination of the two is covered in detail in the next section. The point to register here is that making the assignment is itself the work of Layer 3.
In factories where the assignment has never been made, one of two things is usually happening. Screws and washers of trivial value are inside the scope of the periodic ordering calculation, and a production controller is buried under several hundred rows of arithmetic every week. Or the reverse: major high-value components are being run on “order it when it runs out”, with the quantity set by the buyer’s instinct each time. Both are consequences of never having made the assignment.
Layer 4: maintenance — review cycle and ownership
The last layer is the one most often missing. Parameters begin ageing the moment they are set. Demand changes, suppliers change, transport conditions change. Despite which, it is far from rare to find a safety stock calculation that was performed once and left untouched for two years.
Four things have to be decided.
| Subject | Guide review cycle | Owner | Trigger for review |
|---|---|---|---|
| Standard deviation (σ) and average issue quantity | Quarterly | Production control | Scheduled, plus the start of mass production for a new product |
| Lead time distribution | Half-yearly | Purchasing / procurement | Scheduled, plus any change of supplier or transport mode |
| ABC × XYZ classification | Half-yearly | Production control | Scheduled, plus any major change in product mix |
| Service level (safety factor) | Annually | Plant manager, agreed with sales | Scheduled, plus any serious customer complaint caused by a stockout |
Unless the cycle and the owner are set down to a named individual, this work will always be pushed back. Reviewing optimal inventory levels is precisely the kind of task that does not stop today’s production if it is skipped. Because nothing stops, it gets deferred, and six months later nobody is observing the inventory levels that were agreed.
What works in practice is embedding the review as an agenda item in an existing standing meeting. Create a new meeting body and attendance falls away. Carving out a quarterly “parameter review” slot inside the production meeting or the purchasing meeting is far more durable. The material for that slot fits on a single sheet of A4 — inventory value by category, discrepancy rate, stockout incidents, and the trend in the 95th percentile lead time.
What breaks optimal inventory levels specifically in Thai factories
The five-layer model is a universal structure, but plants in Thailand carry a distinctive load. Three factors are examined here using actual 2026 data.
The tail of procurement lead time — borders, customs and sailings
A concrete example of the “tail” described in Layer 2 stretching in practice is the Thailand–Cambodia border situation of January 2026. Logistics Viewpoints reported the following on 7 January 2026.
- Logistics costs rose by more than 30%
- Transit times extended by 2 to 4 days
- The Poipet–Aranyaprathet crossing handles more than 70% of land freight between the two countries
- The Thai Ministry of Finance’s initial assessment put losses at more than 10 billion baht
- Roughly 800,000 Cambodian workers had been employed in Thailand, of whom around 780,000 were reported to have returned home within a matter of weeks
What matters for the spillover into manufacturing is the structural fact that Thailand accounts for roughly 40% of global HDD production capacity. Western Digital concentrates 60% of its own capacity in Thailand, Toshiba 50%. Where production is concentrated in one geography, an event in that geography reaches the global supply chain directly.
Reread the episode through an inventory management lens.
A 2-to-4-day extension in transit time is not, in itself, catastrophic. The problem is that a factory holding only an average lead time does not hold the stock to absorb those 2 to 4 days. As the assumed figures in the previous section showed, a four-day delay demands 400 pieces of stock, while safety stock calculated from usage variability is only 227 pieces. Even if the entire 227 pieces were devoted to absorbing the delay, you would still be 173 pieces short — and since that safety stock exists to absorb variability in usage in the first place, the real position is tighter still.
More awkward still, an abrupt movement of labour affects not only lead time but the consumption side too. A change on the scale of 780,000 people returning home within weeks affects the operation of logistics, warehousing and manufacturing in the surrounding area. In other words, Layer 1’s σ and Layer 2’s LT shift at the same time. A moment when both shift together is exactly when safety stock is most severely tested.
The countermeasure is not to forecast the event. It is to hold lead time as a distribution and to calculate safety stock at the 95th percentile. Hold a distribution and every past instance of the tail stretching is automatically folded into the calculation. You respond by reflecting history, not by predicting.
One more thing helps: hold separate distributions per transport mode. The way the tail stretches is completely different for land, sea and air. Combine them into one distribution and you get a middling figure that represents neither reality.
Backlogs rise but headcount does not — how to read PMI 54.2
The S&P Global Thailand Manufacturing PMI (July data, published 3 August 2026) carries an important implication for inventory management.
| Indicator | Position in July 2026 |
|---|---|
| Headline PMI | 54.2 (53.6 in June). Highest since December 2025 |
| New orders | First growth in four months |
| Output | Highest so far this year |
| Backlogs of work | Continuing to accumulate |
| Employment | Broadly flat through 2026 |
| Average input lead times | Lengthening again, though the extension was the mildest since last December |
| Business confidence | Lower than at the start of the year, reflecting global economic uncertainty |
A PMI above 50 indicates expansion, and 54.2 is a clear expansionary reading. Read it only as “business is good”, though, and you miss what it implies for inventory management.
Three things have to be read in combination.
First, backlogs are accumulating while employment is flat. That means the additional load from rising output is being absorbed by existing headcount. In inventory management terms, it means no additional people can be put onto stocktaking or inventory adjustment. A plan to achieve Layer 0 physical accuracy through sheer manpower does not survive this environment. Raising cycle count frequency, introducing location control — any plan predicated on adding people will not get approved. You have to select methods that reduce discrepancies without adding headcount.
Second, input lead times are lengthening again. The extension is described as mild, but the direction is upward. The Layer 2 lead time distribution drifts away from reality unless it is updated with recent actuals. Keep using a 95th percentile calculated a year ago and you are underestimating.
Third, business confidence is lower than at the start of the year. Output is rising but conviction about what comes next is weak. That combination is a hard one for inventory policy. Demand is growing so you want to build stock; the outlook is unreadable so you do not. What is correct in this situation is neither “build uniformly” nor “cut uniformly”, but differentiating policy item by item. The ABC × XYZ framework in the next section is precisely the tool for making that call.
For completeness, the PMI is composed of new orders at 30%, output at 25%, employment at 20%, supplier delivery times at 15% and stocks of purchases at 10%. It is worth registering that supplier delivery times and stocks of purchases together carry a 25% weight. Movements in the index do not reflect sentiment alone; they directly incorporate movements in lead time and inventory.
Head office pressure to cut inventory — Japan’s inventory ratio index at 104.7
Inventory policy at a Thai site is also shaped by conditions at head office in Japan. The Ministry of Economy, Trade and Industry’s Indices of Industrial Production (June 2026, preliminary) read as follows.
| Indicator | June 2026, preliminary |
|---|---|
| Production index (seasonally adjusted) | 103.9, +1.3% month on month (third consecutive monthly rise) |
| Shipments | −0.4% month on month |
| Inventory ratio index | 104.7, +2.3% month on month (second consecutive rise) |
| Overall assessment | Left unchanged at “indecisive movements” |
Production is rising while shipments fall. The inventory ratio index is inventory divided by shipments, so it rises when shipments fall even if inventory volume is unchanged. Even allowing for that, the combination of three consecutive monthly increases in production, falling shipments, and a second consecutive rise in the ratio reads as a phase in which forces are pushing inventory upward.
For a site operating in Thailand, the implication is clear. When inventory swells on a consolidated basis at head office, an instruction to cut inventory reaches each site sooner or later. And that instruction, in most cases, arrives in the form of “reduce inventory value by X% across the board”.
What happens when an across-the-board instruction meets an unprepared site? The floor cuts from wherever is easiest to cut. What is easiest to cut is high-value, regularly moving items where the cut will not be noticed for a while — that is, the safety stock on major components. Some months later, stockouts appear. Emergency air freight is arranged. The cost exceeds the saving. This sequence reproduces itself almost without fail in factories that have no inventory policy.
The countermeasure is to hold an item-by-item policy before the instruction arrives. Work out in advance which items can be cut, which cannot, and what preconditions a cut would require, and you can respond to a blanket X% instruction with a counter-proposal: “this configuration achieves the equivalent effect”. One of the practical values of having the five-layer model in place is exactly this.
Trade conditions cannot be ignored as part of the external environment either. In the “2026 Global Trade Report” published by Thomson Reuters in February 2026 — a survey of 225 trade professionals across North America, the EU, the UK, Latin America and Asia-Pacific — 72% named US tariff volatility as the regulatory change with the greatest impact. KPMG Thailand’s January 2026 report likewise lists tariff and trade disruption among the principal supply chain trends. When tariffs or trade conditions change, sourcing and transport routes change with them, and the lead time distribution has to be rebuilt. That is the reason to design Layer 2 as something updated half-yearly rather than something built once and finished.
How to sort the items — ABC analysis × XYZ analysis in practice
Now into the substance of Layer 3. The largest reason optimal inventory discussions spin without traction is the attempt to talk about every item under a single policy. Sort the items first, then discuss.
Defining the two axes
ABC analysis ranks items by annual issue value (unit cost × annual usage) and classifies them by cumulative share. The commonly used breakdown is as follows.
| Class | Guide cumulative value share | Guide share of item count | Management approach |
|---|---|---|---|
| A | Top 70–80% | 10–20% of all items | Manage rigorously. Worth the effort |
| B | Next 15–20% | 20–30% of all items | Manage to a standard approach |
| C | Remaining 5–10% | 50–70% of all items | Do not spend effort. Priority is simply not running out |
These cut-offs are a general guide and assumed figures. Actual distributions vary with item mix, so it fits reality better to rank your own annual issue values in descending order and cut where the cumulative curve begins to flatten.
XYZ analysis classifies by consumption variability, using the coefficient of variation (CV = standard deviation ÷ mean) calculated in Layer 1.
| Class | Guide coefficient of variation | Character |
|---|---|---|
| X | Below 0.5 | Stable consumption. Easy to forecast |
| Y | 0.5–1.0 | Moderate variability. Affected by seasonality or lot sizes |
| Z | Above 1.0 | Irregular. Consumption occurs sporadically in blocks |
These thresholds are assumed figures too. Adjust them against your own item distribution. Thresholds that put every item into X, or every item into Z, make the classification pointless. In practice the quickest approach is to rank items by CV and cut where the distribution separates naturally.
Assigning ordering methods to the nine cells
Crossing ABC with XYZ produces nine classes. Each gets an ordering method.

| Class | Character | Recommended ordering method | Approach to safety stock | Review frequency |
|---|---|---|---|---|
| AX | High value, stable | Fixed-quantity (reorder point system) | Calculate precisely. Set service level on the high side | Monthly |
| AY | High value, moderate variability | Periodic ordering (short cycle) | Calculation plus a demand-view adjustment each cycle | Monthly |
| AZ | High value, irregular | Individual procurement, allocated to sales orders | Prioritise a design that holds no stock | Each occurrence |
| BX | Mid value, stable | Fixed-quantity, or a candidate for kanban | Calculate to the standard approach | Quarterly |
| BY | Mid value, moderate variability | Periodic ordering | Calculate to the standard approach | Quarterly |
| BZ | Mid value, irregular | Judge case by case. Consider substitutes and standardisation | Set a ceiling so it cannot become excessive | Each occurrence |
| CX | Low value, stable | Kanban / two-bin | Manage physically. Do not calculate | Half-yearly |
| CY | Low value, moderate variability | Kanban (with larger container sizes) | Manage physically. Do not calculate | Half-yearly |
| CZ | Low value, irregular | Set a rough reorder point. Consider discontinuation or consolidation | Guarantee only that it does not run out | Annually |
Three practical points come out of this table.
Point 1: do not run calculations on C items. Demanding standard deviation calculations and reorder point maintenance for the C class, which is the majority of the item count, breaks the production control workload. Push C onto kanban or two-bin physical management and take it out of the scope of calculation entirely. Unit costs are low, so holding somewhat more has little effect on value. It is entirely normal for the labour cost of managing C to exceed the value that could be saved on C.
Point 2: do not hold AZ as stock. Holding high-value, irregularly consumed items as stock ties up capital and still fails to prevent stockouts. Procuring against confirmed sales orders, or agreeing a capacity reservation with the supplier, is the more rational route. A factory with a large number of items falling into AZ probably needs to review its product mix or its order-taking model before anything else.
Point 3: spend the effort on AX. Few items, but the bulk of the value. Refining the safety stock of this class by even 10% delivers a larger monetary effect than touching the whole of C. Building lead time distributions is also most efficiently started with the AX and AY item groups.
A note on the connection to production planning. The nine-cell assignment concerns materials and component inventory, but AY and AZ items are strongly affected by variability in the production plan. When the plan moves, consumption moves, and CV rises. When an inventory reduction effort stalls, it is worth suspecting that the cause lies on the planning side rather than the inventory side. Planning itself is covered in our production scheduler comparison.
FIFO and items with expiry dates
Cutting across the nine-cell assignment is a separate axis: items that require first-in-first-out (FIFO) management. Adhesives, paints, the solderability of electronic components, rubber and resin parts, chemicals and the like.
For these items, a “storage period” constraint is added to the optimal inventory discussion.
| Issue | Content | What has to be decided |
|---|---|---|
| Unit of expiry management | By lot, or by receipt | An operation that records lot number and expiry at receipt |
| Allocation priority | A mechanism that issues the nearest-expiry stock first | System allocation rules, or the physical design of the racking |
| Treatment of expired stock | Scrap, or re-test | Judgement criteria and the procedure for removal from stock |
| Ceiling on safety stock | The ceiling is the quantity that can be consumed within the expiry period | Adopt the lower of the calculated value and the storage period constraint |
The last row is the important one. Ordinary optimal inventory calculation rests on the premise that holding more prevents stockouts; for items with an expiry date, holding more itself generates losses. If the safety stock the formula produces exceeds what can be consumed within the expiry period, the excess is stock scheduled for disposal.
In practice it works well to apply the storage period constraint first, and calculate safety stock within whatever range is left. If safety stock cannot be secured, that is a problem inventory cannot solve, and the discussion moves to raising order frequency or changing the arrangement with the supplier.
Guaranteeing FIFO through the physical design of the racking is also effective. Flow racks — loaded from one side and picked from the other — make FIFO hold without relying on an operating rule. Making something structurally unavoidable is more reliable than making people follow a rule.

How much is it worth — modelling holding cost and the break-even on cutting too far
Getting an optimal inventory initiative approved internally requires a view of the money. What follows is a model case. Every figure below is assumed and does not represent actual results. The assumptions are stated explicitly so you can substitute your own values.
Assumption: an inventory holding cost rate of 18% per year
The cost of holding inventory is not just warehouse rent. In practice it is broken down as follows. The total is assumed here at 18% per year.
| Cost element | Assumed rate | Content |
|---|---|---|
| Cost of capital | 6% | Opportunity cost of funds locked up in inventory |
| Storage and handling | 5% | Warehouse space, racking, forklifts, labour for receipts and issues |
| Obsolescence and deterioration | 4% | Losses from design changes, discontinuation, expiry and quality degradation |
| Insurance and inventory shrinkage | 3% | Insurance premiums, losses from loss, damage and discrepancy |
| Total | 18% |
This 18% is an assumption made by this article. Cost of capital varies with your own borrowing rate or required return, storage cost varies with whether the warehouse is owned or third-party, and the obsolescence rate varies with product lifecycle length. The exercise of working out “what is our number?” is itself what makes the inventory discussion concrete.
There is no external data source underwriting that rate as such. But on the broader point — that the cost associated with holding inventory is not a negligible quantity — macro figures provide corroboration. According to NESDC’s “Thailand’s Logistics Report 2024” (published September 2025), Thailand’s domestic logistics costs break down as follows.
| Cost element | 2024 estimate | 2023 | Year on year | Share of the three-element total |
|---|---|---|---|---|
| Inventory holding cost | 1,122.1 billion baht (about 1.12 trillion baht) | 1,142.0 billion baht | −1.7% | About 44.7% |
| Transportation cost | 1,200.6 billion baht (about 1.20 trillion baht) | 1,210.8 billion baht | −0.8% | About 47.8% |
| Administration cost | 186.7 billion baht | 189.2 billion baht | −1.3% | About 7.4% |
Note: the original source expresses these in billion baht. The trillion baht equivalents are given alongside purely to avoid misreading the scale.
The cost of holding is roughly the same size as the cost of moving. That is the fact placed at the opening of this article. Transport quotations get compared every year and a price increase triggers an approval circuit. Inventory itself, meanwhile, sits on the balance sheet as an asset, and the costs of holding it are scattered across several lines of the income statement. Because it never appears in one place as an outflow, it never becomes conscious. Two expenditures of the same magnitude, and only one of them under management — that is the reality at most factories.
For reference, NESDC estimates that Thailand’s logistics costs as a share of GDP fell from 14.2% in 2023. The government target is 11% in 2026, the final year of the Thirteenth National Economic and Social Development Plan (the 2021 figure was 13.8%). It is worth registering that compressing logistics costs is a policy objective at national level.
Model case: a plant with THB 50 million of inventory
What follows uses assumed figures.
Assumptions
- Inventory value: THB 50 million
- Inventory holding cost rate: 18% per year (broken down as above)
Current annual holding cost
- THB 50 million × 18% = THB 9 million per year
If optimal inventory management compresses inventory value by 15%
- Amount compressed: THB 50 million × 15% = THB 7.5 million
- Annual holding cost saved: THB 7.5 million × 18% = THB 1.35 million per year
The 15% compression rate is an assumed figure too. It is set as the range achievable once Layers 0 through 3 of the five-layer model are in place, through correcting excess safety stock and compressing cycle stock by rationalising ordering methods. The actual compression rate depends on how much of the current parameter set was placed by rule of thumb. The longer a factory has gone without a review, the more room there is; a factory already managing precisely will find less.
The break-even on cutting too far — what one emergency air shipment costs
Here is the crux. Reduce inventory and holding cost falls, but stockout risk rises. Unless the cost of a stockout is put on the same footing for comparison, the judgement is only half made.
Assumptions
- Additional cost per emergency air shipment: THB 200,000 (an assumed figure covering the differential against normal ocean freight, additional documentation and customs charges, and internal handling effort)
Break-even calculation
- Annual saving THB 1.35 million ÷ THB 200,000 per occurrence = 6.75 occurrences
- In other words, once emergency air freight exceeds six occurrences a year, the saving from compression is gone
- In a case where emergency air freight rises to 12 occurrences a year, THB 200,000 × 12 = THB 2.4 million. That substantially exceeds the THB 1.35 million saving, leaving a net outflow of THB 1.05 million
This calculation does not include the costs of cases that emergency air freight cannot solve. If the line stops, there is a loss of operation. If a customer delivery is missed, it becomes a question of credibility. Special handling consumes labour. Add those in and the break-even count falls further still.
| Case | Emergency responses per year | Additional cost | Holding cost saved | Net |
|---|---|---|---|---|
| No compression | 0 | 0 | 0 | ±0 |
| Compression + 3 emergency responses per year | 3 | THB 600,000 | THB 1.35 million | +THB 750,000 |
| Compression + 6 emergency responses per year | 6 | THB 1.2 million | THB 1.35 million | +THB 150,000 |
| Compression + 12 emergency responses per year | 12 | THB 2.4 million | THB 1.35 million | −THB 1.05 million |
The conclusion this table points to is neither “reduce” nor “increase”. Cut across the board and emergency responses rise; build across the board and holding cost rises. What is required is to move where the inventory sits, item by item.
Concretely, differentiate policy by the ABC × XYZ classes from the previous section.
- AX items: refine the lead time distribution and set safety stock at the *correct* level. Cut it if it is excessive, raise it if it is insufficient. Reduction is not the objective
- AZ items: stop holding them as stock and switch to sales-order allocation or a capacity reservation. This is where the monetary impact is largest
- C items: move to kanban and cut the management workload. It is acceptable for the value to rise. Priority is simply not running out
- Items where emergency air freight actually occurred: record the incident history and revisit Layer 2 (the lead time distribution) for that item
The last point is what connects this whole calculation back to the operation. An emergency air shipment happening means that item’s parameters were out of step with reality. Treat the emergency response not only as a cost event but as a trigger for a parameter review. That is how Layer 4 maintenance becomes routine.
How much system do you actually need
So far this article has described the five-layer model and how to operate it. The next question is how much of it needs to be done by a system. The short answer is that it depends on the layer.
Where Excel is enough and where it is not
| Task | Is Excel enough? | Why |
|---|---|---|
| ABC analysis (classification by annual issue value) | Yes | A once- or twice-a-year task. Extract the data and sort it |
| XYZ analysis (calculating the coefficient of variation) | Yes, if the data can be extracted | As above, but conditional on being able to pull daily issue data |
| Calculating safety stock and reorder points | Yes | The formulas are simple. The arithmetic is feasible even for thousands of items |
| Building lead time distributions | Yes, conditionally | Feasible if order dates and receipt dates can be extracted |
| Matching book inventory to physical inventory (Layer 0) | No | Requires real-time receipt and issue records. Excel cannot keep up |
| Continuous monitoring of reorder points | No | Requires detecting the moment stock falls below the reorder point |
| Inventory visibility (anyone can see current stock) | No | Personal files do not support sharing or concurrent access |
The dividing line in this table is unambiguous. Tasks that are *calculated periodically* can be done in Excel. Tasks that must be *continuously synchronised with physical reality* cannot.
Layer 0 physical accuracy, and Layer 3 reorder point management and kanban operation, belong to the second category. Real-time inventory management is required in exactly those two places. Read the other way: Layer 1’s σ calculation and Layer 2’s lead time distribution can be started before any system is introduced, using nothing more than extracts of existing data.
Getting this order wrong wastes the investment. Install a system and, if the inventory data going in does not match physical reality, the output will not match either. Conversely, once Layer 0 is firm, the calculations layered on top deliver real value even in Excel.
As noted in the PMI discussion above, Thailand in 2026 has backlogs accumulating while employment stays flat. A plan that maintains Layer 0 by adding people is hard to sustain. That is the practical motivation for systematisation: reduce manual recording and verification, and build a configuration where receipts and issues are captured automatically within the flow of work, so that discrepancies fall without headcount rising.
Implementation order — Layer 0 → Layer 1 → Layer 3
If you are considering a system, here is the sequence.
Step 1: mechanisms that guarantee Layer 0 (physical accuracy)
- Location control (which item sits on which rack)
- Receipt and issue records (a configuration where the record is created at the same moment as the work)
- Means of verification (barcode, 2D code, RFID)
- Cycle counting operations (detecting discrepancies without waiting for a full physical count)
This stage builds the foundation for real-time inventory management. Inventory visibility is also predicated on it. A state where anyone can see current stock only becomes meaningful once Layer 0 is firm. Showing everyone numbers that do not agree with reality only spreads distrust.
Step 2: capture the data for Layers 1 and 2
- Accumulate issue history by item × day
- Accumulate order dates paired with receipt dates
- Let it build for a period (six months minimum, a year preferably)
Almost no new system is required at this stage. With the Step 1 mechanisms running, the data accumulates by itself. What is needed is for it to be stored in an extractable form, and for someone to decide to start capturing it.
Step 3: put Layer 3 (ordering method assignment) into the mechanism
- Hold the ordering method class per item in the master data
- Detect and notify items that have fallen below their reorder point
- For periodic ordering items, produce a recommended order quantity each cycle
- Exclude kanban items from the system’s calculation scope
Only here does the functionality of a reorder point management system become necessary. Skip Steps 1 and 2 and enter at Step 3, and you end up with automatic ordering running on low-quality parameters. That is more dangerous than doing it by hand. A person placing orders will notice that a number looks wrong; automatic ordering will not notice and will execute anyway.
Comparison of the system products themselves — what types exist and what criteria to evaluate them against — is set out in our comparison of factory inventory management systems for 2026. The position of this article is the parameters you decide before choosing a product. The reverse order — choosing the product first and then thinking about parameters — means fitting your operation to whatever calculation method the product happens to implement, and it leads readily to a state where nobody can explain why the inventory level is what it is.
A 90-day way to start
Here is the five-layer model translated into an order of execution. The premise is a factory that manages inventory but has safety stock and reorder points set by rule of thumb.
| Period | Main work | Deliverables | Departments involved | Where it goes wrong |
|---|---|---|---|---|
| Day 0–30 | Establish the current state and sort the items | Inventory value breakdown, measured discrepancy rate, ABC × XYZ classification table | Production control, warehouse, purchasing | Trying to handle every item at once, and never finishing |
| Day 31–60 | Correct Layer 0 and capture Layer 1 and 2 data | Classified causes of discrepancy and countermeasures, σ and lead time distributions (A item group) | Warehouse, purchasing, production control | Data cannot be extracted, and time goes into manual entry |
| Day 61–90 | Set parameters and design the maintenance | Ordering method by item class, safety stock settings, review cycle and owner | Production control, purchasing, plant manager | Setting the values and stopping there, without deciding maintenance |
Day 0–30: measure, and change nothing yet
For the first 30 days, do no work at all that changes inventory levels. Concentrate entirely on measuring the current state.
- Produce inventory value at item level: unit cost × current stock quantity. Everything starts here
- Run the ABC analysis: rank by annual issue value and cut A/B/C by cumulative share
- Run the XYZ analysis: calculate the coefficient of variation from daily issue data and cut X/Y/Z. Where data is unavailable for an item, record that fact
- Measure the discrepancy rate: derive the discrepancy rate by class from the most recent stocktake
- Collect the history of stockouts and emergency responses: over the past year, for which items, how many times, and at what cost
The deliverable is numbers, not initiatives. Issue an instruction to reduce inventory at this stage and the later analysis will no longer reflect the true current state.
Where this goes wrong is trying to handle every item at once. In a factory with thousands to tens of thousands of items, XYZ analysis across the whole range will not be completed on the first pass. Confine it to A items (the 70–80% of value carried by 10–20% of the item count). That alone usually fits inside a few hundred items — a scale that is manageable in 30 days.
Day 31–60: eliminate Layer 0 problems and capture the data
- Classify the causes of discrepancy: for the discrepancies produced in Day 0–30, assign each one to one of the six categories above
- Attack the top two causes: do not address every cause. Confine yourself to the top two by incident count or by value
- Calculate σ for the A item group: derive standard deviations from daily issue data
- Build lead time distributions for the A item group: match order dates against receipt dates and produce the median and the 95th percentile
- Identify item groups with bimodal lead times: separate out the cause (transport mode, supplier, timing)
Where this goes wrong is data extraction. If the existing system cannot produce daily issue data or paired order/receipt data through standard functionality, the process stalls here. Confirming “can we get this data?” before starting avoids wasting 30 days. If the answer is no, treat making it extractable as the task for this period.
Day 61–90: decide, and design the maintenance
- Set the nine-cell assignment: tabulate the ordering method by class
- Recalculate safety stock and reorder points for A items: using Layer 1’s σ and Layer 2’s 95th percentile
- Compare against the current settings: list which items are over-stocked and which are under-stocked
- Choose the items to change: do not change everything at once. Migrate in monthly waves, starting with the largest value impact
- Set the review cycle and owners: fill in the Layer 4 table with named individuals
- Embed the agenda item in an existing standing meeting: do not create a new meeting body
What these 90 days produce is not a compressed inventory value but a classification table, a parameter set and a maintenance mechanism. Inventory value moves gradually over the months after the parameters change. Set the objective as getting inventory value down to a target within 90 days and you will skip Layer 0 and run straight at reduction — which comes back as stockouts a few months later.
From Day 91, put it on a quarterly review cycle. At the first review, confirm how far the previous settings had drifted from reality. The size of that drift is the input for deciding how often to review from then on.
Frequently asked questions
What is optimal inventory?
Optimal inventory is the sum of safety stock and cycle stock. Cycle stock covers normal consumption until the next receipt; safety stock covers variability in consumption and lead time.
The formula generally used is optimal inventory = (average daily issue quantity × (order interval + lead time)) + safety stock.
The position taken in this article, however, is that optimal inventory is not an answer produced by a formula but an operating design covering who reviews each of five layers and when. Use the same formula and the number that comes out will be entirely different depending on whether the book inventory going in matches the physical count, whether the standard deviation was taken from actual data, and whether lead time is held as a distribution. If you have implemented the formula and inventory has not fallen, what to doubt is not the formula but the inputs.
What is the safety stock formula?
The one in general use is as follows.
Safety stock = safety factor × standard deviation of usage × √(order lead time + order interval)
The safety factor is set by how much stockout you accept; a 5% accepted stockout rate (95% service level) corresponds to 1.65.
Three practical cautions apply. First, take the standard deviation from actual data. Set it by rule of thumb and you get a rule of thumb shaped like an equation. Second, hold lead time as a distribution rather than an average. Feed in the mean and you will have stockouts in every month that runs later than the mean. Using the 95th percentile is the practical approach. Third, vary the safety factor by item. Put every item at the same service level and you will hold excessive stock of low-value items.
Why are optimal inventory levels agreed but not observed on the floor?
There are three main reasons.
Reason 1: book inventory is not trusted. Accumulate enough experience of system quantities disagreeing with physical quantities and the floor starts holding its own buffer. Invisible stock piles up on top of the agreed optimal inventory. In this state, no amount of parameter refinement will have any effect. Layer 0 physical accuracy comes first.
Reason 2: there is a structure in which stockouts are blamed and excess inventory is not. A stockout stops the line, reaches the customer, and has an obvious owner. Excess inventory stops nothing and its responsibility is diffuse. As long as that asymmetry exists, an individual’s decision to hold a little extra is rational. The countermeasure is to give excess inventory monetary visibility — which is precisely what the holding cost rate modelling in this article is a tool for.
Reason 3: the review owner and cycle have never been set. Parameters that were correct when they were set drift out of step as demand and supply change. Drifted parameters stop being observed. Layer 4 requires deciding who reviews what and when, down to named individuals.
How much inventory discrepancy is acceptable?
Rather than importing a blanket standard from outside, it works better to take your own measured figure as the starting point and set targets by class.
The test to apply is whether the discrepancy is smaller than the safety stock. If an item with 227 pieces of safety stock produces a 300-piece discrepancy at every stocktake, that safety stock is not functioning — the discrepancy is eating it. Conversely, a discrepancy of a few pieces is not a practical problem.
As a common practical benchmark, many factories set an interim target of under 1% discrepancy by value for high-value items, and within a few percent on a piece-count basis. This varies by industry and item mix. What matters is not looking at every item against a single standard. A discrepancy in the partial quantities of a C item and a discrepancy in a major A component differ in cause, in countermeasure and in impact.
One further point: you do not need to achieve zero discrepancy across every item before moving on. Eliminate the discrepancies on the items you will handle in Layer 1 and above — the A item group — first.
How much does an inventory management system cost?
The figure varies so much with scope, number of sites and whether existing systems have to be connected that no single number can be given. But the position of this article is that there are things to decide before considering cost.
Specifically: which layers the system will be responsible for. A mechanism that guarantees Layer 0 physical accuracy (location control, receipt and issue records, means of verification) and a mechanism that carries Layer 3 reorder point management require different functionality at different scale. Request a quotation without making that separation and the vagueness of the scope will be reflected in the volatility of the price.
A few things to check when evaluating a quotation are worth listing. Which side is responsible for extracting data from the existing systems (if there is a single line saying “to be prepared by the customer”, that effort stays with you). Whether physical-side equipment such as handheld terminals and label printers is included. Who maintains the master data once the system is live. These three rarely appear clearly on a quotation, and they reliably generate work.
Comparison by product type and the criteria for selection are set out in our comparison of factory inventory management systems for 2026.
Does the same thinking apply to a factory in Thailand?
The structure of the five-layer model is the same. What has to be added is the Thailand-specific load on Layer 2, the lead time layer.
The reason is as described in the body of this article. Procurement from Japan is the sum of five stages: supplier lead time, inland transport within Japan, ocean freight, customs clearance in Thailand, and inland transport. Four of those five carry a tail on the late side. In the Thailand–Cambodia border episode of January 2026, logistics costs rose by more than 30% and transit times extended by 2 to 4 days. A factory holding only an average lead time will inevitably suffer a stockout in an event of this kind.
There is also a constraint on headcount. In the S&P Global Thailand Manufacturing PMI (July 2026 data, published 3 August), the PMI rose to 54.2 and backlogs continued to accumulate, while employment remained broadly flat through 2026. Plans have to be made on the premise that no additional people can be put onto stocktaking or inventory adjustment. A plan that maintains Layer 0 through manpower is hard to sustain in this environment.
The relationship with head office in Japan is a further consideration. In METI’s Indices of Industrial Production (June 2026, preliminary), production rose 1.3% month on month for a third consecutive monthly increase while shipments fell 0.4%, and the inventory ratio index reached 104.7, up 2.3% month on month for a second consecutive rise. When inventory accumulates on a consolidated basis at head office, blanket inventory reduction instructions tend to reach the sites. Holding an item-by-item policy in advance is the realistic preparation for a blanket cut.
Conclusion
Optimal inventory level management is not the job of implementing a formula. It is the job of designing an operation — deciding who reviews each of five layers, and when.
Here are the main points of this article.
- In Thailand’s national statistics, inventory holding cost is 1,122.1 billion baht against transportation cost of 1,200.6 billion baht (NESDC, 2024 estimates). Inventory holding cost is about 44.7% of the three-element total, meaning the cost of holding is roughly the same size as the cost of moving. And yet, in most cases, only one of the two is under management
- Optimal inventory = safety stock + cycle stock. The bulk of it is cycle stock, so a discussion that only cuts safety stock is aimed at the wrong place
- When a formula is implemented and inventory does not fall, the cause is not the formula but three inputs: book inventory that matches the physical count, consumption variability taken from actual data, and lead time held as a distribution. Until all three are in place, no formula will change the result
- The five-layer model has an order to it. If Layer 0 (physical accuracy) is broken, the four layers above carry no meaning. Fix them in the order Layer 0 → Layers 1 and 2 → Layer 3 → Layer 4
- The Thailand-specific load concentrates on Layer 2. In the January 2026 border episode, logistics costs rose more than 30% and transit times extended by 2 to 4 days. A factory holding lead time as a single average will inevitably suffer a stockout in an event of this kind. The countermeasure is not prediction but reflecting history through the 95th percentile
- Plans predicated on adding people will not stand. The PMI rose to 54.2 (July 2026) and backlogs continued to accumulate, while employment stayed broadly flat. Mechanisms have to be selected on the premise that no one can be added to stocktaking or inventory adjustment
- Prepare for head office pressure to cut inventory. Japan’s inventory ratio index stood at 104.7, up 2.3% month on month for a second consecutive rise (June 2026, preliminary). Hold an item-by-item policy before the blanket X% instruction arrives
- Assign ordering methods across the ABC × XYZ nine cells. Do not calculate on C, do not hold AZ as stock, spend the effort on AX. Those three alone move both the management workload and the inventory value
- In the modelling, at an assumed inventory holding cost rate of 18% per year, a plant with THB 50 million of inventory carries an annual holding cost of THB 9 million. A 15% compression saves THB 1.35 million a year, but the effect disappears once emergency air freight exceeds six occurrences a year (on an assumed THB 200,000 per occurrence). All of these are model case figures and have to be recalculated with your own values
- The conclusion is neither “reduce” nor “increase”, but to move where the inventory sits, item by item
One last time: optimal inventory is not an answer a formula produces. It becomes a number only at the moment you decide who reviews it and when.
When you come to review your own optimal inventory levels, the first piece of work is to rank inventory value at item level and pull the lead time history for your A item group out of the order data. That much can be started with existing data alone, and considering a system can wait until afterwards. In Thailand, TOMAS TECH has worked on the question of where to extract factory data from and how to connect it to day-to-day judgement, through building shop floor systems including the PEGASUS production and energy management system. If you only want to talk through design-stage questions — whether σ and a lead time distribution can be derived from your inventory data, or how far Layer 0 physical accuracy should be guaranteed by a mechanism — that is entirely fine, and it is no problem at all if you are still at the stage of organising the issues internally. We will listen to the situation at your site and lay out the options for how to proceed. You are welcome to get in touch through our contact form.