Peak-Period Apparel PLU Sales Forecasting & Daily Delivery Leveling (Excel + Copilot + Solver) Practical Guide

Peak-Period Apparel PLU Sales Forecasting & Daily Delivery Leveling (Excel + Copilot + Solver)

Use 4 weeks of history, inventory/delivery schedules, and peak sale plans to create daily forecasts by PLU, calculate actual sales with inventory constraints, and complete a plan that levels total daily pallet counts in Excel. Includes Copilot prompts and Solver settings.

Quick Fix

  1. Calculate the 28-day base rate for regular-price sales
  2. Calculate Uplift for sale and regular-price sales
  3. Apply the peak plan uplift and calculate the Forecast
  4. Constrain ActualSales using inventory, deliveries, and safety stock
  5. Calculate ReqPallets → level them in the Plan

Data Structure

  • Sales_4w: Date, PLU, Qty, PriceType
  • Inventory: PLU, OnHand_0, UnitsPerPallet, SafetyStock
  • Restock: PLU, ArrivalDate, ArrivalQty
  • PeakPlan: Date, PeakFlag, UpliftPlan%

Forecast Formulas

BaseDaily_PLU = AVERAGEIFS(Sales_4w!C:C, Sales_4w!B:B, [@PLU], Sales_4w!D:D, "NORMAL")
SaleUplift_PLU = IFERROR(AVERAGEIFS(Sales_4w!C:C, Sales_4w!B:B, [@PLU], Sales_4w!D:D, "SALE")
                        /AVERAGEIFS(Sales_4w!C:C, Sales_4w!B:B, [@PLU], Sales_4w!D:D, "NORMAL"),1)
PlanMult = IF(XLOOKUP([@Date], PeakPlan!A:A, PeakPlan!B:B)="Y", 1+XLOOKUP([@Date], PeakPlan!A:A, PeakPlan!C:C), 1)
ForecastUnits = ROUND(BaseDaily_PLU * IF(PeakFlag="Y", SaleUplift_PLU, 1) * PlanMult, 0)

Applying Constraints

Receipts     = SUMIFS(Restock!C:C, Restock!A:A, [@PLU], Restock!B:B, [@Date])
OnHandStart  = (first day) XLOOKUP([@PLU], Inventory!A:A, Inventory!B:B) / (thereafter) prior-day OnHandEnd
SellableCap  = MAX(OnHandStart + Receipts - SafetyStock, 0)
ActualSales  = MIN(ForecastUnits, SellableCap)
OnHandEnd    = OnHandStart + Receipts - ActualSales
ReqUnits     = MAX(ForecastUnits - SellableCap, 0)
ReqPallets   = CEILING( ReqUnits / UnitsPerPallet, 1 )

Delivery Leveling (Integers)

On the Plan sheet, calculate the Base matrix and TargetPallets, then add integer ExtraPallets inputs so that the final daily total equals the target.

  • For days where GapVsTarget > 0 → start by adding +1 pallet to PLUs with the earliest OOS risk
  • Automation: Use Solver to minimize ∑(daily total − Target)^2 with integer constraints

Copilot Prompt

1) Calculate Base/SaleUplift from Sales_4w → create ForecastUnits using PeakPlan
2) Calculate Receipts, SellableCap, ActualSales, and OnHandEnd using Inventory/Restock
3) Create the ReqUnits/ReqPallets, TargetPallets, and Plan matrix
4) Create an ExtraPallets input area plus GapVsTarget and OOS highlights
5) Solver: Minimize the variance of daily totals using ExtraPallets (integers)

Troubleshooting

IssueCauseSolution
Forecast too highDuplicate upliftRemove duplicate uplift on peak days and apply a cap
Stockout not reflectedSafety stock not appliedInclude SafetyStock in SellableCap
Daily total variesInteger pallet varianceLevel using ExtraPallets or Solver
Excessive deliveriesAccumulated CEILING roundingAdd an upper constraint for excess deliveries (allow 1 pallet)
Delayed delivery reflectionCutoff time not consideredAdjust the applicable date based on arrival time

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *