Sign in

Blog · Forecast and pipeline · Logistics

Demand planning in logistics: volumes and capacity

Compare forecast shipment volumes, actual demand and usable capacity by site and lane. Use a weekly spreadsheet review to identify local shortages that a company total can hide.

The short answerDemand planning in logistics compares expected shipment volumes with usable transport and site capacity for the same period. Keep a frozen forecast, actual shipment demand and confirmed capacity by lane and site. Calculate local shortfalls before adding totals, because spare capacity elsewhere may not serve the constrained lane or meet its shipping window.

Demand planning in logistics matches expected shipment volumes with usable capacity by lane, site and shipping window. The weekly review needs three separate numbers: the frozen demand forecast, actual requested loads and capacity that could serve those loads. Calculate shortages locally before reading the company total.

Define the capacity pool before adding rows

A capacity pool is a set of loads that can use the same confirmed resource in the required period. Origin, destination, equipment, temperature requirements and service window can all limit whether capacity is interchangeable. Keep those dimensions in the export or use a documented lane-service key that represents them.

Capacity must use the same unit as demand. If the demand file contains pallets and the carrier file contains trailers, document and validate the conversion before comparing them. Do not treat an average trailer fill assumption as a guarantee that every planned shipment fits.

Transport planning also needs shipment characteristics, not just a company sales total. The Census Bureau describes the Commodity Flow Survey as information used to assess demand for transportation facilities and services. Your operating review should use your own current order and capacity files rather than interpret national freight data as a lane commitment.

This workflow owns the weekly capacity decision. Use logistics forecasting for the separate reconciliation from planned loads and unit costs to actual transport spending.

Assemble a frozen weekly file

Keep one forecast version per review cutoff. Export site, lane, week-start date, forecast loads, actual requested loads and confirmed capacity. Keep the date and owner of each capacity confirmation. Retain declined tenders and requested loads that moved later so constrained shipments do not disappear from the demand record.

On a Demand sheet, put site in A, lane in B, week-start date in C and requested loads in D. On the review sheet, put site in A, lane in B and the selected week-start date in M1. The formula for actual requested loads in D2 is:

=SUMIFS(Demand!$D$2:$D$10000,Demand!$A$2:$A$10000,$A2,Demand!$B$2:$B$10000,$B2,Demand!$C$2:$C$10000,$M$1)

Microsoft's SUMIFS guidance explains the multiple-condition sum used here. All criterion ranges must describe the same detail rows. Covirage is not affiliated with Microsoft.

If you need the broader workbook structure, see demand planning in Excel. Keep the shipment review narrow enough that every row has a named operating owner.

Work the local gaps before the total

An illustrative US distributor reviewed four lane pools for one week. Actual demand means requested full truckloads, including loads that were not accommodated within the original window. Columns A through E contain site, lane, frozen forecast, actual demand and confirmed capacity.

Site Lane Forecast loads Actual demand Capacity loads
Atlanta Charlotte 120 135 125
Atlanta Nashville 80 75 90
Dallas Houston 100 115 110
Dallas Austin 60 55 70
Total 360 380 395

Use F for forecast headroom, G for actual uncovered demand, H for unused capacity and I for absolute forecast error. Enter these formulas in F2, G2, H2 and I2 respectively, then fill down:

=E2-C2
=MAX(D2-E2,0)
=MAX(E2-D2,0)
=ABS(D2-C2)
Site and lane Forecast headroom Uncovered actual loads Unused capacity Absolute forecast error
Atlanta–Charlotte 5 10 0 15
Atlanta–Nashville 10 0 15 5
Dallas–Houston 10 5 0 15
Dallas–Austin 10 0 15 5
Total 35 15 30 40

The company has 395 − 380 = 15 more capacity loads than requested loads, yet 15 loads are uncovered in their assigned pools. Unused capacity of 30 less uncovered demand of 15 equals the same net surplus of 15. Check that identity directly:

=SUM(H2:H5)-SUM(G2:G5)-(SUM(E2:E5)-SUM(D2:D5))

It must return zero. The check proves the arithmetic; it does not prove that Nashville capacity could serve Charlotte or that Austin capacity could serve Houston.

Weighted absolute percentage error is =SUM(I2:I5)/SUM(D2:D5), or 40 / 380 = 10.5%, rounded to one decimal place. Investigate repeated errors using the separate forecast bias review; one week does not establish a persistent pattern.

Make the weekly decision explicit

Assign Atlanta–Charlotte's 10 uncovered loads to its site and transport owners, and Dallas–Houston's five to theirs. Ask whether compatible capacity can be reassigned within the window. Record any route, equipment or customer-date restriction before treating another pool's unused space as an answer.

If no capacity can move, the decision is whether to arrange additional confirmed capacity or agree to a different service date with the responsible commercial owner. Preserve the original requested date in the review. Moving the actual date without recording the deferral makes a constrained operation appear to have had less demand.

Use the same meeting to question the assumptions behind the forecast, including customer shipment timing and order consolidation. For production-linked demand, production planning forecasting covers the upstream workload; demand forecasting and capacity planning covers the wider demand-to-resource comparison. Keep those discussions linked without combining different units in one utilization ratio.

Where it goes wrong

  • Company totals stand in for local coverage. A net surplus hides the specific lanes and windows with uncovered demand.
  • Completed loads stand in for demand. Capacity constraints can suppress shipments. Keep requested and completed quantities separately.
  • Capacity has no confirmation date. An old carrier estimate may no longer describe equipment available during the review week.
  • Shared resources appear in several pools. A trailer or dock window cannot be promised twice. Reconcile capacity assignments to the underlying resource list.
  • The forecast changes after the event. Preserve the original version and document revisions as separate decisions.

Review your weekly files in Covirage

Bring your dated lane forecast, requested shipment export and confirmed capacity file to Covirage. Covirage maps the columns, its tools compute and check local gaps and forecast differences, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.

See Covirage for shipping and logistics teams for the supporting industry view.

Questions people ask

How is logistics demand planning different from sales forecasting?

Sales forecasting estimates commercial demand, often in revenue or product units. Logistics planning translates a supplied demand plan into shipment workloads for particular origins, destinations and dates. It needs the shipment sizes, equipment requirements and timing assumptions that determine whether local capacity can serve those orders.

Can total capacity exceed demand while some shipments remain uncovered?

Yes. Capacity at the wrong site, on another lane or outside the required time window may be unusable. Calculate uncovered demand for each compatible capacity pool before summing. A positive company balance alone does not show that every shipment can be accommodated.

Should actual shipments or actual demand be used to measure accuracy?

Use the measure the forecast promised to predict and label it clearly. If capacity restricted shipments, completed shipments alone understate requested demand. Retain requested loads, completed loads and deferred or canceled loads separately so the review can distinguish demand error from a service constraint.