| SKU | SALES & STOCK 2.0 M-2 → M+6
How is forecasted sales calculated?
Past months (2 Months Back, Previous Month) are actual billed sales — not estimates. Current MTD is actual sales so far this month, so it covers only the days elapsed and will always look low next to a full month. Projected scales it to a whole month at the same daily pace. Future months are estimated from this SKU's recent sales level, its usual seasonal pattern, and its sales trend, plus any committed events or promotions already planned for that month. Accuracy varies. A forecast is less reliable for a SKU with a short sales history, one that has recently been out of stock, or one with an unusual recent spike or drop — a period with no stock reads as low demand, because only what sold is recorded. These are estimates, not commitments. Review them alongside on-hand inventory and the recent months either side before ordering. |
ATTRIBUTES | RUNRATES | INVENTORY | OPEN ORDERS | FORECAST | MOS & SAFETY | ACTION | NOTES | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Style | Description | 2 Months Back | Previous Month | Current MTD | Projected | M+1 | M+2 | M+3 | M+4 | M+5 | M+6 | Run Rate /mo | On Hand | Net Inv | MOS | MOS (fc) | WOS (fc) | PO rec (fc) | ABC | Long LT | Leadtime (mo) | Avg Cons /mo | Total Inv | Committed | NET Inv | Open PO | Next Wk Fcst | Next 4wk Fcst | MOS OH | MOS Inv+PO | Below Safety | Recommended Order | Comments |
| Loading inventory flow... | |||||||||||||||||||||||||||||||||
| Method | Average error | Runs low / high | Months within 20% | Better than basic | |
|---|---|---|---|---|---|
| Simple average of recent months | 36.6% | +7.0% | 39% | — | the basic control |
| The engine as it runs today | 32.9% | -11.1% | 33% | +10.2% | assumes no product grows |
| Allow every product 30% growth | 32.8% | -5.0% | 35% | +10.6% | one setting for everything |
| A simple rule, no AI | 31.4% | -8.6% | 33% | +14.4% | the bar the agents have to beat |
| The AI agents | 31.2% | -5.7% | 36% | +14.9% | a growth setting chosen per product |
| Best possible, with hindsight | 30.2% | -5.5% | — | +17.7% | picking the right dial after the fact — not achievable |
| SKU | Product | Error — simple rule | Error — AI agents | AI runs low / high | Growth allowed (Dec 24 / Jun 25 / Dec 25) |
|---|---|---|---|---|---|
| 60145 | Zigzag Headbands 2pc | 43.3% | 38.5% | -32.7% | 1.5 / 1.3 / 1.8 |
| 7490 | Stainless Steel Gua Sha | 31.6% | 32.9% | -11.8% | 1.3 / 1.2 / 1.4 |
| 5540 | Dermaplaners 12pc Terracotta | 29.3% | 30.7% | +1.8% | 1.1 / 1.0 / 1.0 |
| 6622 | Med Hair Elastics 12pc | 43.6% | 44.2% | -7.2% | 1.4 / 1.2 / 1.3 |
| 6745 | Rice Water Shampoo Bar | 17.7% | 18.2% | +6.1% | 1.0 / 1.0 / 1.0 |
| 7568 | Satin Heatless Curling Set | 22.1% | 22.1% | +6.1% | 1.0 / 1.0 / 1.0 |
| SKU | SEP 26 | OCT 26 | NOV 26 | DEC 26 | JAN 27 | FEB 27 | 6-MONTH TOTAL | |
|---|---|---|---|---|---|---|---|---|
| 60145 Zigzag Headbands 2pc growth allowed 1.2× |
With AI | 113,771 | 157,774 | 96,907 | 144,071 | 150,697 | 101,844 | 765,064 |
| Engine today | 109,259 | 149,232 | 90,279 | 132,195 | 136,389 | 90,695 | 708,049 | |
| of which wholesale | 30 | 2,088 | 406 | 2,524 | ||||
| Real multi-year ramp (trailing year 3.18x prior) but deseasonalized demand has been flat at ~108k/month since March, so we override the 1.0 mature cap only modestly — the record August is a seasonal peak, not a new level. | ||||||||
| 7490 Stainless Steel Gua Sha growth allowed 1.1× |
With AI | 47,384 | 46,775 | 62,922 | 62,370 | 44,499 | 65,338 | 329,288 |
| Engine today | 45,931 | 44,982 | 60,031 | 59,033 | 41,786 | 60,868 | 312,631 | |
| Real ramp, but it has stopped compounding and is already inside the 45,510 base — allow only 1.1x so we don't multiply a plateau through Nov/Dec peak indices. | ||||||||
| 6622 Med Hair Elastics 12pc growth allowed 1.2× |
With AI | 81,969 | 169,583 | 259,219 | 158,900 | 98,507 | 83,387 | 851,565 |
| Engine today | 77,903 | 158,742 | 250,274 | 144,290 | 88,206 | 73,573 | 792,988 | |
| of which wholesale | 144,600 | 1,000 | 1,000 | 146,600 | ||||
| Real ramp confirmed (1.65x last-12 vs prior-12, every 2026 month above 2025), but capped at 1.2x because the fitted base plus peak-season indices plus 146.6k committed wholesale already imply ~1.8x YoY for Sep-Feb, and the growth was measured in low-index months that feed an unstable seasonal profile. | ||||||||
| 5540 Dermaplaners 12pc Terracotta growth allowed 1.0× |
With AI | 116,139 | 109,351 | 86,353 | 82,380 | 124,937 | 118,550 | 637,710 |
| Engine today | 116,139 | 109,351 | 86,353 | 82,380 | 124,937 | 118,550 | 637,710 | |
| of which wholesale | 33,600 | 33,600 | ||||||
| 6745 Rice Water Shampoo Bar growth allowed 1.0× |
With AI | 31,790 | 32,207 | 37,413 | 36,482 | 30,027 | 22,963 | 190,882 |
| Engine today | 31,790 | 32,207 | 37,413 | 36,482 | 30,027 | 22,963 | 190,882 | |
| of which wholesale | 3,738 | 3,738 | ||||||
| 7568 Satin Heatless Curling Set growth allowed 1.0× |
With AI | 36,636 | 50,858 | 68,920 | 85,401 | 40,072 | 30,984 | 312,871 |
| Engine today | 36,636 | 50,858 | 68,920 | 85,401 | 40,072 | 30,984 | 312,871 | |
| ALL 6 — with AI | 427,689 | 566,548 | 611,734 | 569,604 | 488,739 | 423,066 | 3,087,380 | |
| ALL 6 — engine today | 417,658 | 545,372 | 593,270 | 539,781 | 461,417 | 397,633 | 2,955,131 | |
docs/demand-forecast-approach1-forward.csv.| SKU | JAN 26 | FEB 26 | MAR 26 | APR 26 | MAY 26 | JUN 26 | 6-MONTH TOTAL | |
|---|---|---|---|---|---|---|---|---|
| 60145 Zigzag Headbands 2pc growth allowed 1.8× |
With AI | 80,954 | 52,981 | 76,201 | 54,432 | 67,237 | 63,560 | 395,365 |
| Engine today | 68,445 | 42,654 | 58,415 | 39,733 | 46,734 | 42,066 | 298,047 | |
| Actual · off by | 113,557 -29% |
86,952 -39% |
112,268 -32% |
66,201 -18% |
84,435 -20% |
82,514 -23% |
545,927 -27.6% |
|
| 7490 Stainless Steel Gua Sha growth allowed 1.4× |
With AI | 36,834 | 59,753 | 33,639 | 37,859 | 43,143 | 26,643 | 237,871 |
| Engine today | 33,704 | 53,163 | 29,101 | 31,847 | 35,289 | 21,190 | 204,294 | |
| Actual · off by | 25,147 +46% |
33,982 +76% |
49,004 -31% |
43,019 -12% |
40,406 +7% |
33,748 -21% |
225,306 +5.6% |
|
| 6622 Med Hair Elastics 12pc growth allowed 1.3× |
With AI | 55,767 | 36,553 | 45,887 | 46,940 | 106,102 | 78,316 | 369,565 |
| Engine today | 54,171 | 34,740 | 42,667 | 42,702 | 94,435 | 68,198 | 336,913 | |
| Actual · off by | 91,204 -39% |
78,001 -53% |
61,456 -25% |
95,798 -51% |
97,538 +9% |
85,266 -8% |
509,263 -27.4% |
|
| 5540 Dermaplaners 12pc Terracotta growth allowed 1.0× |
With AI | 111,761 | 103,834 | 102,412 | 71,773 | 154,554 | 133,151 | 677,485 |
| Engine today | 111,761 | 103,834 | 102,412 | 71,773 | 154,554 | 133,151 | 677,485 | |
| Actual · off by | 125,836 -11% |
106,503 -3% |
107,262 -5% |
104,494 -31% |
73,733 +110% |
105,344 +26% |
623,172 +8.7% |
|
| 6745 Rice Water Shampoo Bar growth allowed 1.0× |
With AI | 78,321 | 59,418 | 65,086 | 57,284 | 59,568 | 49,964 | 369,641 |
| Engine today | 78,321 | 59,418 | 65,086 | 57,284 | 59,568 | 49,964 | 369,641 | |
| Actual · off by | 60,823 +29% |
62,760 -5% |
54,105 +20% |
36,690 +56% |
34,121 +75% |
34,873 +43% |
283,372 +30.4% |
|
| 7568 Satin Heatless Curling Set growth allowed 1.0× |
With AI | 52,016 | 35,256 | 33,590 | 27,610 | 27,080 | 21,870 | 197,422 |
| Engine today | 52,016 | 35,256 | 33,590 | 27,610 | 27,080 | 21,870 | 197,422 | |
| Actual · off by | 43,016 +21% |
38,516 -8% |
39,129 -14% |
26,675 +4% |
33,449 -19% |
33,308 -34% |
214,093 -7.8% |
|
| ALL 6 | 415,653 -10% |
347,795 -14% |
356,815 -16% |
295,898 -21% |
457,684 +26% |
373,504 -0% |
2,247,349 -6.4% |
|
dp_promotions holds 0 rows, and the promotion multiplier is 1.0 on 100% of live forecast rows.demand-forecast-pilot/inputs/planner-inputs.json.
| SKU | Description | Oct 26 | Nov 26 | Dec 26 | Jan 27 | Feb 27 | Mar 27 | Oct–Mar | vs last year | v1 (Sep 19) |
|---|---|---|---|---|---|---|---|---|---|---|
| 5540 | Recycled Plastic Dermaplaners 12pc Set - Terracotta | 106,352 | 146,202 | 87,086 | 96,068 | 88,378 | 91,466 | 615,552 | −4% | 663,170 |
| 6622 | Recycled Nylon Medium Hair Elastics 12pc Set - Black | 80,502 | 174,106 | 165,007 | 86,004 | 80,503 | 72,003 | 658,125 | +40% | 728,420 |
| 7490 | Stainless Steel Gua Sha | 29,932 | 36,595 | 58,221 | 21,890 | 28,745 | 28,272 | 203,655 | −20% | 258,500 |
| 6745 | Rice Water Protein Shampoo Bar - Strengthening | 29,117 | 29,037 | 26,890 | 23,727 | 23,170 | 24,819 | 156,760 | −62% | 163,500 |
| 7568 | Satin Heatless Curling Set - Sunset Tie Dye | 47,010 | 72,694 | 90,682 | 36,984 | 32,579 | 35,717 | 315,666 | −15% | 308,493 |
| Channel | Oct–Mar | ||||||
|---|---|---|---|---|---|---|---|
| Amazon 56% · steady | 75,600 base 82,655 | 88,200 base 114,182 | 63,000 base 81,347 | 69,300 base 102,954 | 61,110 base 79,370 | 64,260 base 83,067 | 421,470 |
| DTC 1% · steady | 2,150 base 600 | 2,460 base 1,585 | 1,886 base 1,129 | 1,435 base 776 | 1,538 base 868 | 1,845 base 1,670 | 11,314 |
| Ulta 9% · planned account | 15,744 base 19,680 | 6,264 base 6,960 | 7,128 base 7,920 | 8,748 base 9,720 | 7,560 base 8,400 | 7,668 base 8,520 | 53,112 |
| TJX 4% · po driven | 0 | 33,600 | 0 | 0 | 0 | 0 | 33,600 |
| Other wholesale 30% · lumpy wholesale | 12,858 base 37,774 | 15,678 base 37,774 | 15,072 base 37,774 | 16,585 base 37,774 | 18,170 base 37,774 | 17,693 base 37,774 | 96,056 |
| ↳ Nordstrom Rack (wholesale team plan) | 2,964 | 5,784 | 5,178 | 2,960 | 4,545 | 4,068 | 25,499 |
| ↳ Accounts with no plan on file (catalog lists: CVS, Kohl's, JCPenney, Harmon, Altar'd State, Lotus Salon) | 9,894 | 9,894 | 9,894 | 13,625 | 13,625 | 13,625 | 70,557 |
| All wholesale Ulta + TJX + other | 28,602 | 55,542 | 22,200 | 25,333 | 25,730 | 25,361 | 182,768 |
| Total | 106,352 92,407–125,821 | 146,202 129,883–165,157 | 87,086 76,914–100,636 | 96,068 80,785–121,749 | 88,378 73,069–111,009 | 91,466 76,100–115,004 | 615,552 |
| Same month last year | 100,232 | 100,505 | 102,160 | 125,836 | 106,503 | 107,262 | 642,498 |
| Channel | Oct–Mar | ||||||
|---|---|---|---|---|---|---|---|
| Amazon 24% · steady | 20,500 base 19,443 | 30,500 base 35,540 | 44,000 base 53,148 | 20,000 base 20,837 | 19,500 base 20,477 | 21,000 base 26,706 | 155,500 |
| DTC 0% · steady | 2 base 95 | 6 base 324 | 7 base 386 | 4 base 200 | 3 base 157 | 3 base 159 | 25 |
| Ulta 0% · planned account | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| TJX 4% · po driven | 0 | 94,600 base 144,600 | 50,000 base 0 | 1,000 | 0 base 1,000 | 1,000 base 0 | 146,600 |
| Other wholesale 72% · lumpy wholesale | 60,000 base 64,578 | 49,000 base 64,578 | 71,000 base 64,578 | 65,000 base 64,578 | 61,000 base 64,578 | 50,000 base 64,578 | 356,000 |
| ↳ Accounts with no plan on file (catalog customer: "Amazon Only, TJX Only") | 60,000 | 49,000 | 71,000 | 65,000 | 61,000 | 50,000 | 356,000 |
| All wholesale Ulta + TJX + other | 60,000 | 143,600 | 121,000 | 66,000 | 61,000 | 51,000 | 502,600 |
| Total | 80,502 62,165–98,941 | 174,106 158,033–226,759 | 165,007 109,557–189,455 | 86,004 59,617–112,480 | 80,503 55,596–105,535 | 72,003 51,236–92,884 | 658,125 |
| Same month last year | 67,266 | 56,257 | 116,429 | 91,204 | 78,001 | 61,456 | 470,613 |
| Channel | Oct–Mar | ||||||
|---|---|---|---|---|---|---|---|
| Amazon 85% · steady | 26,500 base 38,854 | 32,500 base 50,812 | 54,000 base 95,503 | 18,500 base 30,018 | 25,500 base 43,226 | 25,000 base 59,459 | 182,000 |
| DTC 1% · steady | 650 base 294 | 783 | 936 | 663 | 583 | 520 | 4,135 |
| Ulta 0% · planned account | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| TJX 0% · po driven | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Other wholesale 13% · lumpy wholesale | 2,782 base 3,146 | 3,312 base 3,146 | 3,285 base 3,146 | 2,727 base 3,146 | 2,662 base 3,146 | 2,752 base 3,146 | 17,520 |
| ↳ Nordstrom Rack (wholesale team plan) | 1,182 | 1,902 | 1,872 | 1,127 | 1,062 | 1,152 | 8,297 |
| ↳ Accounts with no plan on file (catalog lists: Harmon, Whole Foods, Paper Source) | 1,600 | 1,410 | 1,413 | 1,600 | 1,600 | 1,600 | 9,223 |
| All wholesale Ulta + TJX + other | 2,782 | 3,312 | 3,285 | 2,727 | 2,662 | 2,752 | 17,520 |
| Total | 29,932 25,354–35,482 | 36,595 30,054–44,162 | 58,221 37,208–74,253 | 21,890 17,242–27,557 | 28,745 21,159–37,350 | 28,272 19,196–39,358 | 203,655 |
| Same month last year | 31,812 | 41,824 | 73,617 | 25,147 | 33,982 | 49,004 | 255,386 |
| Channel | Oct–Mar | ||||||
|---|---|---|---|---|---|---|---|
| Amazon 26% · steady | 2,780 base 8,878 | 3,010 base 11,345 | 2,550 base 9,271 | 2,160 base 7,914 | 2,330 base 10,320 | 2,350 base 2,522 | 15,180 |
| DTC 40% · steady | 12,520 base 16,143 | 12,620 base 14,824 | 10,220 base 11,537 | 10,220 base 14,920 | 9,860 base 13,687 | 11,210 base 17,639 | 66,650 |
| Ulta 10% · planned account | 3,160 base 8,316 | 2,066 base 5,436 | 1,190 base 3,132 | 2,038 base 5,364 | 1,847 base 4,860 | 1,915 base 5,040 | 12,216 |
| TJX 0% · po driven | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Other wholesale 24% · lumpy wholesale | 10,657 base 10,580 | 11,341 base 10,580 | 12,930 base 10,580 | 9,309 base 10,580 | 9,133 base 10,580 | 9,344 base 10,580 | 62,714 |
| ↳ Walgreens (wholesale team plan) | 1,296 | 2,556 | 720 | 1,332 | 1,332 | 2,556 | 9,792 |
| ↳ Nordstrom Rack (wholesale team plan) | 667 | 1,174 | 1,290 | 734 | 783 | 780 | 5,428 |
| ↳ Meijer (orders on file: Committed, Pitched) | 0 | 0 | 3,738 | 0 | 0 | 0 | 3,738 |
| ↳ Accounts with no plan on file (catalog lists: CVS, Walgreens, JCPenney, Lotus Salon) | 8,694 | 7,611 | 7,182 | 7,243 | 7,018 | 6,008 | 43,756 |
| All wholesale Ulta + TJX + other | 13,817 | 13,407 | 14,120 | 11,347 | 10,980 | 11,259 | 74,930 |
| Total | 29,117 26,206–33,156 | 29,037 26,070–32,638 | 26,890 24,425–30,689 | 23,727 19,895–28,755 | 23,170 19,366–28,024 | 24,819 20,664–30,012 | 156,760 |
| Same month last year | 88,438 | 81,272 | 66,968 | 60,823 | 62,760 | 54,105 | 414,366 |
| Channel | Oct–Mar | ||||||
|---|---|---|---|---|---|---|---|
| Amazon 69% · steady | 33,000 base 34,886 | 56,000 base 59,803 | 75,000 base 81,324 | 26,000 base 28,658 | 21,500 base 24,007 | 24,000 base 27,148 | 235,500 |
| DTC 7% · steady | 2,092 base 2,369 | 6,800 base 7,719 | 6,900 base 7,826 | 2,200 base 2,457 | 1,950 base 2,181 | 2,700 base 3,083 | 22,642 |
| Ulta 9% · planned account | 5,800 base 9,520 | 3,300 base 3,696 | 2,500 base 2,800 | 2,700 base 3,024 | 3,000 base 3,360 | 2,900 base 3,248 | 20,200 |
| TJX 0% · po driven | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Other wholesale 15% · lumpy wholesale | 6,118 base 5,140 | 6,594 base 5,140 | 6,282 base 5,140 | 6,084 base 5,140 | 6,129 base 5,140 | 6,117 base 5,140 | 37,324 |
| ↳ Nordstrom Rack (wholesale team plan) | 568 | 1,044 | 732 | 534 | 579 | 567 | 4,024 |
| ↳ Accounts with no plan on file (catalog lists: CVS, Kohl's, Harmon, Paper Source, Altar'd State, Lotus Salon) | 5,550 | 5,550 | 5,550 | 5,550 | 5,550 | 5,550 | 33,300 |
| All wholesale Ulta + TJX + other | 11,918 | 9,894 | 8,782 | 8,784 | 9,129 | 9,017 | 57,524 |
| Total | 47,010 40,876–54,341 | 72,694 62,314–82,992 | 90,682 76,430–104,329 | 36,984 31,736–42,673 | 32,579 27,731–37,462 | 35,717 30,445–41,046 | 315,666 |
| Same month last year | 66,087 | 80,711 | 106,007 | 43,016 | 38,516 | 39,129 | 373,466 |