Cost Parameters: Pricing What a Policy Does

Manuel D. Rossetti, PhD P.E.

Agenda

  • A rule has no cost: every cost term is a price times a quantity the system exhibits
  • Checking the units, and the two inert terms
  • The marginality test, and the classic failure it catches
  • Unit cost, the holding cost \(h = ic\), and which costs belong in the carrying charge
  • The fixed order cost, the shortage costs \(\pi\) and \(b\), and the stocking position cost
  • How accurate the parameters need to be, and the uncomfortable half of the answer

A Rule Has No Cost

An inventory policy is a rule, and a rule has no cost. What costs money is the behavior the rule produces: orders placed at some rate, stock on a shelf for some time, demands arriving to an empty shelf. Every term of every model has one shape:

\[ \text{cost rate} = \text{price} \times \text{quantity the system exhibits} \]

Term Price (you supply) Quantity (the model computes)
Ordering \(k\), dollars per order order rate, orders per unit time
Holding \(h\), dollars per unit per unit time average on hand \(\bar{I}\), units
Backorder \(b\), dollars per unit per unit time average backorders \(\bar{B}\), units
Stockout \(\pi\), dollars per unit rate of demand not filled, units per unit time
Purchase \(c\), dollars per unit demand rate \(\lambda\), units per unit time
Stocking position \(f\), dollars per item per location per unit time none

The quantities are properties of the system, and computing them is the technical content of the course. The prices are what you supply, and no amount of modeling will produce them.

Check the Units, Row by Row

\[ \begin{aligned} \frac{\$}{\text{order}} \times \frac{\text{orders}}{\text{year}} &= \frac{\$}{\text{year}} &&\text{ordering: a price times a rate}\\ \frac{\$}{\text{unit}\cdot\text{year}} \times \text{units} &= \frac{\$}{\text{year}} &&\text{holding and backorder: a rate-price times a level}\\ \frac{\$}{\text{unit}} \times \frac{\text{units}}{\text{year}} &= \frac{\$}{\text{year}} &&\text{stockout and purchase: a price times a rate} \end{aligned} \]

Every row reduces to dollars per unit time, so the rows can be added. The holding and backorder prices are themselves rates, so they multiply a level: the commonest source of dimensional error in a first cost model.

The purchase term is inert. \(c\lambda\) is identical under every policy when demand is not a decision, so it cannot influence the choice. Its symptom when included in a comparison: the alternatives all look suspiciously alike.

Time units

Every rate must use the same unit, and every price quoted per period must be converted on entry. A missed conversion is the error most likely to survive review, because the answer stays plausible while being wrong by a factor of 365.

The Marginality Test

The test

A cost belongs in a parameter only if it changes when the quantity that parameter multiplies changes.

Applying it means naming the quantity first. \(h\) multiplies \(\bar{I}\), so a cost belongs in \(h\) only if it rises when one more unit is held for one more unit of time. \(k\) multiplies the order rate, so a cost belongs in \(k\) only if it rises when one more order is placed. A cost that does neither is a period cost: real, possibly large, and irrelevant to the decision, because it is incurred identically under every policy.

The classic failure is a fully allocated warehouse cost per unit: lease, depreciation, heating and management divided by the units that passed through. That figure is correct as an accounting statement and wrong as a model input, because none of those costs change if you hold one more unit. It overstates holding cost and recommends ordering too often.

Unit Cost and Holding Cost

Unit cost \(c\) is the money tied up in one unit: normally the latest acquisition cost, not an internal transfer price or a customer-facing standard price. It enters the purchase term, which is inert, and the holding cost, which is not.

Holding cost \(h\) is almost never estimated directly. Let \(i\) represent the carrying charge, in dollars per dollar of inventory value per unit time:

\[ h = i\,c, \qquad \text{for example } i = 0.20 \text{ a year: twenty cents to hold a dollar of stock for a year.} \]

The cost of holding is proportional to value, so one carrying charge serves a whole portfolio of differently priced items. Carrying charges are quoted annually, so a model in days uses \(h = ic/365\).

\(h\) multiplies on-hand inventory \(\bar{I}\), not net inventory. The two differ exactly when the system is short, and that difference is charged separately, by \(b\). Writing the holding term on net inventory assumes backorders are negligible.

Which Costs Belong in the Carrying Charge?

Component Belongs in \(i\)? Why
Cost of capital Yes Money tied up in stock is unavailable for anything else; usually the floor
Obsolescence, deterioration, shrinkage Yes Exposure grows with the value held and how long it is held
Insurance and inventory taxes Yes, where assessed on value Insurers rate on declared value; many jurisdictions levy no inventory tax
Storage and space Only where marginal In an owned facility below capacity, one more unit costs nothing in space
Handling Rarely Receiving, picking and shipping scale with throughput, set by customers

Storage is marginal in three cases: space rented per pallet position per period; a facility at or near capacity, where the right figure is the shadow price of capacity; and a lease that scales with the space used.

Handling volume is set by how much customers buy, not by the policy. Per-receipt handling belongs in \(k\); per-unit handling in \(c\); only stock-driven handling, such as relocation and congestion from holding too much, in \(i\).

The Fixed Order Cost

\(k\) is the cost of placing one replenishment order, in dollars per order, independent of the order’s size: the requisition, its approval and transmission, receiving and inspecting the shipment, matching the invoice, paying it.

“Fixed” means fixed with respect to the order quantity, not with respect to the number of orders. A cost that scales with the units ordered belongs in \(c\); a cost incurred once per order whatever its size is what \(k\) is.

Inbound freight is the usual complication. The fixed portion of a shipment’s freight behaves exactly like an ordering cost and belongs in \(k\), and it is often larger than it looks: below a carrier’s minimum, the bill does not vary with order size at all. The variable portion scales with units and is as inert as \(c\lambda\). On a scheduled lane the truck departs whether or not you ordered, and no part of it is caused by your order.

Stockout and Backorder Costs

If the demand is lost, the harm is a discrete event, once per unit not supplied:

\[ \pi = \text{dollars per unit of demand not filled}, \qquad \text{cost rate } \pi\lambda_{\ell}. \]

If the demand is backordered, the harm is a duration: one unit owed for ten days is worse than one owed for one day, and a per-incident charge cannot express that.

\[ b = \text{dollars per unit backordered per unit time}, \qquad \text{cost rate } b\,\bar{B}. \]

They are not interchangeable notation; they describe different physical situations. Some settings need both, a charge for the expedite a stockout triggers plus one for the waiting, but never both for the same consequence.

Backorders and waiting are one measurement

By Little’s law \(\bar{B} = \lambda\overline{W}\), so \(b\bar{B} = b\lambda\overline{W}\). An organization that cannot price a backorder can often state a tolerable wait, and that is enough.

Stocking Position Cost

\(f\) is the cost, per unit time, of carrying an item at a location at all: the catalog record, the reserved bin, the cycle counts it attracts, the planner attention it consumes. Conventionally dollars per item per location per year.

This is not holding cost

Holding cost scales with the quantity on hand. Stocking position cost is independent of the quantity held, the same for one unit or a thousand. Neither should be folded into the other.

It is easy to dismiss and it is not a detail. For a typical mid-value item it is often larger than the holding cost of the stock it houses, and because it multiplies nothing, it is the only term that penalizes stocking an item in more places. A model without it will forward-position marginal items no practical organization would stock.

How Accurate Do These Need to Be?

The order quantity depends on \(k/h\) under a square root. Let \(\theta\) represent the factor by which the estimated \(k/h\) departs from the true value:

\[ \begin{aligned} \frac{Q}{Q^{*}} &= \sqrt{\theta} &&\text{compressed}\\ \frac{C}{C^{*}} &= \frac{1}{2}\left(\sqrt{\theta} + \frac{1}{\sqrt{\theta}}\right) &&\text{the penalty}\\ \theta = 2 &: \tfrac{1}{2}(1.414 + 0.707) = 1.061 &&\text{6}\%\\ \theta = 4 &: \tfrac{1}{2}(2 + 0.5) = 1.25 &&\text{25}\% \end{aligned} \]

Read the curve from its minimum outward: it touches zero at \(\theta = 1\) and is flat on both sides, and symmetric on the doubling scale. The square root is doing the protecting.

The Uncomfortable Half

Because the cost surface is flat, a badly wrong parameter produces a cost that looks perfectly acceptable while the policy it recommends is substantially wrong. The model will not complain.

If the recommendation is a number of units to order, a 6% penalty may be tolerable. If the recommendation is which of two configurations to adopt, such as whether to stock an item at a location at all, a parameter error costing 6% can flip the decision outright. The flatness that protected the cost is what makes the comparison delicate.

Two consequences. Put estimation effort where the answer is sensitive, not uniformly. And when a parameter cannot be pinned down, do not defend a point estimate: report the value at which the recommendation changes.

What We Did Today

Every cost term is a price times a quantity, and every row must reduce to dollars per unit time.

The purchase term is inert, and \(f\) has no quantity at all.

A cost belongs in a parameter only if it changes with the quantity that parameter multiplies; period costs are real and irrelevant.

\(h = ic\) multiplies on-hand stock, and storage and handling belong in \(i\) only where marginal.

\(k\) is fixed with respect to order size; \(\pi\) prices an event and \(b\) a duration.

Errors in \(k/h\) are compressed by a square root, which protects the cost and endangers the comparison.

For Next Time

Read before next session: Estimating Cost Parameters from Standard Data and Performance Measures.

Today’s material was Cost Parameters.

Next session:

  • Building \(c\), \(i\) and \(k\) from a ledger, with the marginality test deciding each line
  • What to do instead of estimating a shortage cost, and the four double counts
  • The total and relevant cost, and service measures that disagree on one history
  • The general problem the rest of the course solves

Bring the carrying-components table. Next session fills it in from a real depot’s accounts.

⌂ Index