422. Multi-Product

422.1. Multi-product newsvendor (risk pooling)

Relax one dimension from basic newsvendor: number of items is no longer one. Multiple products 𝑖=1,,𝑛 with random demands 𝐷𝑖𝒩︀(𝜇𝑖,𝜎𝑖2).

Two cases, dramatically different:

  1. Independent decisions, independent inventories. Each product is its own newsvendor. Solve 𝑛 separate problems.
  2. Pooled inventory. All products share the same physical pool (interchangeable, or shipped from one location to many destinations). One newsvendor problem on the aggregate demand 𝐷agg=𝑖𝐷𝑖.

Pooling is often much betterrisk pooling / demand aggregation reduces relative uncertainty.

422.1.1. Independent newsvendors (case 1)

Just 𝑛 separate basic newsvendors. Each has its own 𝐶𝑢𝑖, 𝐶𝑜𝑖, CR𝑖, 𝑄𝑖. Total expected profit is the sum.

422.1.2. Pooled inventory (case 2): aggregate demand statistics

If 𝐷𝑖𝒩︀(𝜇𝑖,𝜎𝑖2) with pairwise correlation 𝜌𝑖𝑗:

𝜇agg=𝑖=1𝑛𝜇𝑖𝜎agg2=𝑖=1𝑛𝜎𝑖2+2𝑖<𝑗𝜌𝑖𝑗𝜎𝑖𝜎𝑗

For independent products (𝜌𝑖𝑗=0):

𝜎agg=𝑖=1𝑛𝜎𝑖2

For identical, independent products (𝜇𝑖=𝜇, 𝜎𝑖=𝜎):

𝜇agg=𝑛𝜇,𝜎agg=𝑛𝜎

422.1.3. Pooling reduces relative uncertainty

Coefficient of variation (CV = 𝜎/𝜇) for the aggregate vs. individual:

CVagg=𝜎agg𝜇agg=𝑛𝜎𝑛𝜇=CVindividual𝑛

Pooling 𝑛 identical products cuts relative uncertainty by 𝑛. Pool 4 products → half the relative noise. Pool 100 → 10× less.

This translates directly into safety stock savings: the buffer above 𝜇 scales with 𝜎, not 𝜇, so doubling 𝑛 adds inventory only as 2, while demand grows as 2.

422.1.4. Pooled order decision

Same newsvendor structure, but on aggregate:

𝑄agg=𝜇agg+𝑧𝜎agg

where 𝑧=Φ1(CR) uses the pooled cost structure.

422.1.5. When pooling is worse

Risk pooling is not always beneficial:

Example

Given (4 identical-ish newspaper variants, independent demands):

  • 4 products, each: 𝑃𝑖=3, 𝐶𝑖=1, 𝑆𝑖=0, 𝐷𝑖𝒩︀(100,202)
  • Demands independent across products

Step 1 — independent newsvendors (no pooling)

Each product is its own newsvendor, identical to the basic example:

  • CR=2/3, 𝑧=0.44, 𝑄𝑖=100+0.4420109
  • Total inventory: 4109=𝟒𝟑𝟔

Step 2 — pooled (case 2)

Aggregate:

  • 𝜇agg=4100=400
  • 𝜎agg=420=40 (only 𝑛, not 𝑛)
  • CR=2/3, 𝑧=0.44
  • 𝑄agg=400+0.4440𝟒𝟏𝟖

Step 3 — compare

  • Independent: 436 units total
  • Pooled: 418 units total
  • Save 18 units (≈ 4%) with the same service level.

Step 4 — see the 𝑛 scaling

At 𝑛=100 identical products:

  • Independent: 100109=10900 units
  • Pooled: 𝜇agg+𝑧𝜎agg=10000+0.44200=10088 units
  • Save  7% and the relative savings grow with 𝑛 — at large 𝑛, pooled inventory approaches just 𝜇agg (deterministic limit), while independent inventory still carries each product’s full safety buffer.

Why pooling works: when one product over-sells, another likely under-sells. Net demand is more predictable than any one product’s demand. Pooling captures this — independent stocks can’t.

Real-world consequence: distribution center designs, online retailers vs. physical stores, fungible commodities — all driven by the 𝑛 risk-pooling math.