ak-labz/Forecasting

Forecasting next month's orders? Gut feel and last month's average.

Wrong-high, and you overbuy supply and tie up cash. Wrong-low, and you miss orders. The bigger your volume, the more these mistakes cost. Every month.

Recent bad guesses
Christmas week last year
Stocked 40% above demand. Wrote off $18K.
Summer slow-down
Understocked 25%. Lost 84 orders we could have fulfilled.
Promo Tuesday spike
Ran out by 11 AM. Customers bought from competitor.

Excel formula on the last 4 weeks. Manually nudged for holidays.

It works until something changes. The model has no memory of last year's seasonality, no read on the recent trend shift, and definitely no idea what the weather forecast says.

Current method
Trailing 4-week average + manual holiday adjustments
=AVERAGE(B2:B29) * IF(C30="holiday", 1.15, 1.0)
# Then nudge it.
Why it fails
  • Misses seasonality (last year's patterns aren't in the math)
  • Lags trend shifts by 2-4 weeks
  • Ignores weather, promotions, day-of-week effects
  • Treats Mondays the same as Saturdays

Trained on your own 2 years of order history. Explainable rules.

Similar Day Search: find the most comparable past days, weight by recency and weather, project forward. Not a black box. You can read why a forecast is high or low.

Inputs (already in your stack)
2 years of orders
Daily totals · per-SKU optional · seasonality built in
Calendar
Holidays · promos · paydays · school terms
Weather forecast
14-day rolling · regional accuracy
Recent trend
Last 30 days weighted higher · auto-recalibrates
Building the forecast
~5 sec
Loading 2 years of order history (730 days)…
Detecting weekly + yearly seasonality…
Cross-referencing weather forecast for next 14 days…
Finding 12 most comparable past days for each forecast day…
Computing the realistic range for each day…
Annotating any anomalies (next Tuesday: 2 promos overlap)…

Explainable rules, not black-box ML. You can read why a forecast is high or low. That means operators trust it, edit it when their gut disagrees, and the model learns from the edits.

Confidence shown. Reasoning attached. Format you already use.

Output lands in the systems your team already opens. No new dashboard to log into.

14-day order forecast
Refreshed 6 min ago
Solid line = expected. Shaded band = realistic range.
80100120140160MonWedFriSunTueThuSat
Tue 5/28: Promo + payday overlap. Forecast is ~15% above normal Tuesday. Stock accordingly.
Pushed to
  • Your dashboard (auto-refresh)
  • Slack #ops (deviation alerts)
  • CSV export to your ERP
  • Buyer's Monday Excel (familiar format)
Why this matters
Generic AI forecasters give you a black box and a number. This shows the confidence, names the inputs, and explains every prediction so your team trusts it enough to act.

18% forecast error → 3.5%. Five times more accurate. Every month.

Before
18
% forecast error (manual)
· $18K overstock writeoff last December
· 84 lost orders during a summer dip
· 4 hours/week tweaking the formula
After
3.5
% forecast error
· Daily forecast refresh, no manual work
· Stockout flags 5 days in advance
· Likely range shown for each day
5× more accurate.
Refreshed daily. Surfaces when reality deviates from the forecast.

Same engine forecasts anything time-varying.

Demand, churn, and inventory are three shapes. The underlying engine takes any historical series with a few signals attached and gives you a forecast with confidence and explanations.

Cash flow
Next 90 days of inflows and outflows, with confidence bands. Surfaces tight weeks 6+ weeks early.
Sales pipeline
Per-deal close probability and expected close date. Ranks the deals worth pushing this week.
Customer LTV
Predicted lifetime value per customer segment. Informs acquisition spend by channel.
Capacity / staffing
When will you hit your team's ceiling? Predicts the week to hire, by role.
Seasonal trends
Year-over-year shifts in your business. Spots the 6-week change before the quarterly review does.
Anything time-series
If you have a thing that varies over time and want to know what it'll do next, this is the engine.
Trained on your data, your signals, your seasonality. Set it once. It refreshes on the cadence the team needs.