nike-allocation-analysis

How inventory moved through Nike’s US stores

I logged 886,825 stock changes across 255 Nike stores. Factory, Clearance, and full-price stores get restocked in very different ways.

I built Flow Monitors, a stock-alert service. To send alerts, it polls Nike’s in-store availability for every size of every shoe it tracks, at every store it knows about. After a few months, that becomes a detailed log of how stock moves through Nike’s stores.

Nike’s fiscal 2026 10-K counts 212 US Factory stores and 75 US in-line stores, but it reports them together with the apps as NIKE Direct. It doesn’t say how inventory moves through each kind of store. In its fiscal fourth quarter (March–May), NIKE Direct revenue fell 7% worldwide while company inventory held at $7.5 billion. So I wanted to know how restocks differ between outlet and full-price stores, and whether those differences hold up when both carry the same shoes.

The short version:

  • Factory stores get bigger restocks and refill slightly faster than they sell down.
  • Full-price stores get thinner restocks and slowly drain.
  • Clearance stores have the most broken size runs, with two sizes per shoe at the median.
  • At first the data seemed to show full-price stores selling faster. That came from a biased sample.

The data

Each record is one change for one store, shoe, and size, with a timestamp and the old and new stock label. Nike reports four labels (OOS, LOW, MEDIUM, HIGH) and never says how many pairs each one means.

So I use two terms. A restock is a move from OOS to any in-stock label. A drop is any move to a lower label. A drop might be a sale, but it could also be a transfer, a recount, or theft, so I never treat drops as sales.

MeasureCoverage
inventory level changes886,825
Nike-owned US stores255
SKUs with recorded changes (1,254 monitored)1,089
tracked product-size IDs13,024

Flow Monitors found these stores by searching Nike’s store locator from 36 ZIP codes, so this is a sample, not every Nike store in the US.

Store formatStoresWhat it is
Factory145Outlet stores
Clearance29Deeper-discount, marked-down stock
Full-price Nike Store74Standard in-line stores
Community Store3Grouped with full-price in the charts
Company Store2Employee stores, shown separately
House of Innovation1NYC flagship, shown separately
Jordan World of Flight1Philadelphia flagship, shown separately

The 886,825 total is every change recorded from March 9 to August 20. The store-format charts cover April 15–August 20. The weekly, random-sample, and population analyses start April 29, after a two-week stretch when the monitor was still discovering stores.

Factory stores get the deep restocks

I started by comparing restocks with drops. Factory stores logged 108 restocks for every 100 drops, and full-price stores logged 84. Factory stock refills a little faster than it leaves, while full-price stock slowly runs down.

The restocks themselves look different too. At Factory stores, 41.4% of restocks jump straight from OOS to MEDIUM or HIGH, compared with 15.5% at full-price stores. Outlets also log 20% of their restocks between 7 and 10am Eastern, against 6% for full-price.

Restocks per drop, by store format

April 15–August 20, 2026. A value of 1.08 means 108 restocks for every 100 drops.

More restocks than drops (> 1.0)More drops than restocks (< 1.0)
Clearance (29 stores)1.12House of Innovation (1, NYC)1.11Factory (145 stores)1.08Company Store (2)1.05Full-price / Community (77)0.84Jordan World of Flight (1, Philadelphia)0.761.0
Factory stores logged 108 restocks per 100 drops. Full-price and Community stores logged 84.

Share of restocks that land above LOW

Restocks that go straight from OOS to MEDIUM or HIGH. 400,483 restocks across the three plotted formats, April 15–August 20.

0%10%20%30%40%50%Factory (145 stores)41.4%Clearance (29 stores)20.0%Full-price / Community (77)15.5%
41.4% of Factory restocks landed at MEDIUM or HIGH, against 15.5% at full-price and Community stores.

When restocks appear, by hour of day (Eastern)

Share of each group's restocks in each hour, converted to Eastern time. 400,475 restocks with usable timestamps.

Outlet (Factory + Clearance)Full-price / Community
0%2%4%6%8%10%7–10 a.m. ET8 p.m.midnight4 a.m.8 a.m.noon4 p.m.
Between 7 and 10am Eastern, outlet stores record 20.0% of their restocks; full-price / Community stores record 6.0%. The stores span several time zones, so this is recorded time, not proof that stock arrived before opening.

Clearance has the most broken size runs

Using the August 20 snapshot, I counted how many sizes each store had in stock for each shoe. Across everything each store carries, full-price looked best, with a median of seven sizes, against four at Factory and two at Clearance.

That isn’t a fair comparison, because the stores carry different shoes. So I limited it to the 183 exact SKUs carried by both outlets and full-price stores. Full-price fell to four sizes, the same as Factory. Clearance stayed at two, and 58.4% of Clearance listings had only one or two sizes.

Median sizes in stock per shoe, per store

Gray: every shoe each group carries. Red: only the 183 shoes carried by both outlets and full-price stores.

All shoes183 shoes carried by both groups
02468Standard full-price7 → 4Factory4 · sameClearance2 · same
On the same 183 shoes, full-price and Factory stores both had a median of four sizes. Clearance had two.

If I were at Nike, I’d test pooling Clearance stock into fewer stores to see whether the size runs fill in.

The result I had to take back

My first look at sell-through used the twelve busiest SKUs. The median time from a restock to the next drop was 145 hours at full-price stores and 413 at outlets. Full-price stores looked almost three times faster.

Then I reran it on two random samples of 30 SKUs, and it flipped both times. Full-price held steady at 363–370 hours while the outlet number moved around a lot. The busiest-twelve list was full of older Air Max, Free RN, and Shox styles that full-price stores barely carried, and the few sizes they did carry changed quickly.

So the data doesn’t show full-price stores selling faster. What it did show me is how much the choice of SKUs can move a result.

Median hours from a restock to the next drop

Same method each time; only the set of shoes changes. Restocks with no drop before August 20 stay in the estimate.

Outlet (Factory + Clearance)Standard full-price Nike Store
0h100h200h300h400hTop 12 SKUs by volume152,211 events413h145hnon-random sampleRandom sample A30 SKUs · 42,906 events293h363hRandom sample B30 SKUs · 45,325 events167h370h
Both random samples reverse the top-12 result, so the gap came from which shoes were picked.

Restocks outpaced drops in June

Restocks averaged 1.87 per drop in June and 0.57 in August. Nike’s fiscal year ends May 31, so June might reflect a new-year product reset, or it might be normal seasonality. With one year of data I can’t tell which.

Restocks per drop, week by week

Values above 1.0 mean more restocks than drops; values below 1.0 mean more drops.

0.51.01.52.0fiscal year endQ4 reported04-2905-2006-1007-0107-2208-12
June averages 1.87; August averages 0.57. Nike's fiscal year ended May 31. One year of data can't separate a year-end reset from seasonality.

Population didn’t predict how fast stock moved

I also wanted to know whether stores in more populated ZIP codes sell down faster. I matched each store’s ZIP to its Census population and took 57 random SKUs. Then I checked whether each restock saw a drop within seven days, across 38,658 restocks at 242 stores.

After removing each SKU’s and store format’s average, the correlation with population was essentially zero: 0.005 for outlets (p = 0.95) and −0.09 for full-price (p = 0.46).

Share of restocks followed by a drop within seven days, by ZIP population

Stores split into population quartiles within each store format, using 2024 ACS five-year ZCTA population. Weighted by restock windows.

OutletStandard full-price
25%30%35%40%45%50%Q1 · lowestQ2Q3Q4 · highest
The lines don't rise with population. After adjusting for SKU and store format, the correlation is 0.005 for outlets and −0.090 for standard full-price. Neither is meaningfully different from zero.

New York shows why. In the same sample, 36% of restocks at Nike Soho saw a drop within a week, compared with 29% at Atlantic Center, 46% at the Harlem Factory store, and 26% at the North Bronx Factory store. The city doesn’t behave like one market.

Census population counts residents, not tourists or commuters, so it’s a weak stand-in for foot traffic, especially at destination outlets.

What the labels hide

Four labels throw away a lot of detail. Flow Monitors also tracked a retailer that reports exact unit counts (for Pokémon cards, not shoes). I used it to see what gets lost when exact counts are squeezed into buckets like Nike’s.

Across 11,430 changes, one visible drop stood for a median of 1 to 22 units, depending on the labels. And with the label cutoffs I assumed, 40.2% of changes never crossed a label at all, so data like Nike’s would never show them. That can’t tell me Nike’s actual quantities, but it shows how coarse this data is.

How many units one visible drop can hide

A trading-card feed with exact counts, bucketed into LOW, MEDIUM, and HIGH like Nike's labels. 11,430 verified changes. This doesn't estimate Nike's units.

06121824HIGH → OOS22HIGH → LOW19HIGH → MEDIUM13MEDIUM → OOS3MEDIUM → LOW1LOW → OOS1
A visible drop stands for a median of 1 to 22 units, depending on the labels involved. Another 40.2% of changes never cross a label (under assumed cutoffs), so they never show up.
Methods and caveats
  • Broad labels: a drop records direction, not quantity.
  • Selected SKUs: the tracked shoes are an initial import plus three users’ picks, not Nike’s full catalog.
  • No opening balance: the event history agrees with full-inventory snapshots (about twice a day from late July, 216 stores) on 75.2% of cells visible in either source.
  • Store sample: the 36-ZIP locator search found 255 stores, 68% of them outlets. It’s a sample, not a census, and its format counts don’t map exactly onto the 10-K’s (it has 81 non-outlet stores; the 10-K lists 75 US in-line stores).
  • Start date: starting the store-format charts on April 29 instead of April 15 gives 1.11 restocks per drop at Factory and 0.90 at full-price, with 41.7% and 15.9% landing above LOW. Same direction.
  • Time zones: restock hours are recorded in Eastern time across stores in several time zones, so they don’t show whether stock arrived before opening.
  • Sell-through: Kaplan–Meier medians, which keep restocks with no later drop before August 20. Random samples A and B are 30 SKUs each (seeds 7 and 13, three overlap), drawn from SKUs outside the top 12 with at least 200 events. No confidence intervals.
  • Population: 2024 ACS five-year ZCTA population (B01003_001E), matched for 247 of 249 store ZIPs. Stores needed at least 20 restock windows. Spearman correlation with 4,000 store-level permutations.
  • Label cutoffs: the unit-count comparison assumes where LOW, MEDIUM, and HIGH start. Other plausible cutoffs put the never-crossed share between 26% and 49%.
  • One year: the June change can’t be separated from seasonality.