Plan Promotions Backward From Inventory

A promotion calendar template that starts from stock, not dates: weeks of cover, supplier lead time and the 2027 dates that matter, with one worked SKU.

Most promotion calendars start with a list of dates and ask what to run on each one. The stock room asks the opposite question: how many weeks of this product do we have, and when does the next shipment land? A calendar built date first schedules a Father's Day offer for a product that sells out the week before Father's Day. This page builds a promotion calendar template the other way around. It starts from units on hand, units sold per week and supplier lead time, turns them into weeks of cover and a latest safe start date, and then lays the result on the 2027 dates that matter. One SKU is worked from April through December. Every input in the worked example is an assumption chosen for the arithmetic, not a benchmark, so replace them with yours.

Why a date-first calendar runs out of stock

A date-first calendar treats the offer as free to schedule and the stock as someone else's problem. The two interact in a way that is easy to miss: an offer raises the sales rate exactly when your normal reorder rule has not noticed yet, because the rule was set for ordinary weeks. If you reorder when stock falls to a fixed point, the trigger fires after the promotion has already started drawing it down, and the shipment lands after the date you promoted. The fix is to put the promotion on the calendar first, then count backward to the order date.

The three inputs

You need three numbers per product, and Shopify already shows two of them.

  1. Units on hand. Shopify defines on hand inventory as all the units you have at a location, equal to the committed, unavailable and available units added together. Use the Available number for what you can sell today; On hand is higher because it also counts units set aside for orders or marked unavailable. You can view them on the Inventory page under Products, and the Incoming column there shows stock on its way from transfers or apps. Shopify says incoming stock cannot be sold until it is received.
  2. Units sold per week. Shopify's help article on exporting orders says orders with several line items show the extra items on separate lines, and the file has line item quantity, name, price and SKU columns, so you can total a SKU's units by week in a spreadsheet. Profit per order shows how to pull the same export for margin work.
  3. Supplier lead time in weeks, from the day you place the order to the day the units are received. This one is yours; look at your last three purchase orders and use the longest, not the average.

Weeks of cover and the latest safe start

Weeks of cover is units on hand divided by units sold per week. It answers how long the shelf lasts at the rate you are selling now. Two rules come out of it, and both are our planning method, not a Shopify feature or an industry standard.

  • A promotion is safe to start when the cover at the promotion's expected weekly rate, measured on the day it starts, is at least the promotion's length in weeks. If a two week offer expects 80 units a week, you need at least 160 units on hand on day one.
  • The latest order date for a promotion is its start date minus your supplier lead time. If the shipment cannot land by the start date, shorten the offer, scale it down or move it.

A reorder point still earns its place for ordinary weeks: lead time in weeks times the weekly rate, plus a safety allowance of one week. The point of the calendar is to notice when a promotion pulls the order date earlier than that rule would.

The 2027 date grid

Put these on the calendar before you choose any offers. Each is labeled by how we know it.

Date in 2027DayWhatHow we know
May 9SundayMother's Day36 U.S.C. 117 sets the second Sunday in May; the date is computed
May 31MondayMemorial DayOPM's 2027 table
June 18FridayJuneteenth (observed)OPM's 2027 table
June 20SundayFather's Day36 U.S.C. 109 sets the third Sunday in June; the date is computed
July 5MondayIndependence Day (observed)OPM's 2027 table
Sept. 6MondayLabor DayOPM's 2027 table
Oct. 11MondayColumbus DayOPM's 2027 table
Nov. 25ThursdayThanksgivingOPM's 2027 table
Nov. 26FridayBlack FridayComputed: the day after Thanksgiving
Nov. 29MondayCyber MondayComputed: NRF says the five-day shopping event begins on Thanksgiving Day and continues through the following Monday
Dec. 24FridayChristmas Day (observed)OPM's 2027 table

Small Business Saturday falls on the Saturday inside that five-day window, which is Nov. 27. NRF's FAQ does not define the day and says it is not officially affiliated with it, so the date here is computed from the window, not taken from the organizers. OPM lists federal holidays for federal employees; a store's customers shop around them, but the list is not a retail calendar. For the October to January carrier cutoffs, use the holiday offer calendar.

One SKU, April to December

Assume a candle set that sells 50 units a week in an ordinary week, with a supplier lead time of 8 weeks and 600 units on hand on Monday, April 5, 2027. The reorder point is 8 weeks times 50 units, plus a safety week of 50 units, which is 450 units.

StepDateOn handWhat happens
StartApr. 5600Cover is 600 / 50 = 12 weeks. The reorder point rule would fire at 450 units, which is Apr. 26
Plan Father's DayJune 7 to 20150 before an orderNine ordinary weeks from Apr. 5 sell 450 units, leaving 150. A two week offer at an assumed 80 units a week needs 160. Cover is 150 / 80 = 1.9 weeks, short of 2
Pull the order forwardApr. 12550June 7 minus 8 weeks is Apr. 12, two weeks before the reorder rule would have fired. Order 800 units
Shipment landsJune 7950150 left plus 800 received. Cover at 80 a week is 950 / 80 = 11.9 weeks
After Father's DayJune 21790The offer sold 160 units
Second orderAug. 9440Seven ordinary weeks sold 350 units, taking stock from 790 to 440, under the 450 reorder point. Order 1,200 units
Shipment landsOct. 41,240Eight more weeks sold 400 units, leaving 40, then 1,200 arrive. The 40 is inside the safety week, so a late shipment sells out
Thanksgiving weekNov. 22890Seven ordinary weeks sold 350 units
Offer windowNov. 22 to 29690Assume the 8 day window sells 200 units
DecemberDec. 2451924 days at 50 a week is about 171 units; cover is 519 / 50 = 10.4 weeks

The calendar's job is visible in two rows. The reorder rule on its own would have placed the first order on Apr. 26, and the shipment would have landed on June 21, the day after Father's Day. And the second shipment lands with 40 units to spare, which is a reason to add a week to the lead time you assume for autumn. The last row is also a decision: 10.4 weeks of cover on Dec. 24 is a January question, covered in January sales strategy.

What the calendar does to your offers

Sort each product into one of three states on the day you plan its offer.

  • Cover is long and rising: the product can carry a longer offer. Be careful about running it back to back, because discount fatigue trains shoppers to wait.
  • Cover is about equal to the offer length: run a shorter offer, or use one with a built-in limit, such as a gift with a fixed number of units.
  • Cover is shorter than the offer: do not promote it. Promote an adjacent product with cover, or the same product after the shipment lands.

Weekends need the same check. A holiday weekend compresses a lot of sales into three or four days, so use the days, not the weeks, when you compare cover to length. Holiday weekend sales covers those windows.

Showing the live offer in the store

Once the calendar says an offer is safe, shoppers need to find it. Open the Today's offers widget template, which the app describes as "A launcher on your storefront listing live offers." The widget lists the offers that are live, so a scheduled offer appears when it starts and drops off when it ends, and you do not rebuild a banner for each date on the grid. Put the offer's start and end on the calendar next to the cover figure that justified it, and review the cover again the Monday before each start.

Sources

Build this offer from the “Today's offers widget” template.

Requires: Growth plan or higher.