Scale · capability

Built for millions of SKU-locations.

The same connected plan, from a single brand to a multi-fascia group — reconciled live at the scale your business actually runs.

Planning·Forecast engine · liveLast sync · just now

Plan every cell. Refresh inside the window.

SKU × location × day across the whole catalogue — recomputed while you're still trading, not overnight.

Forecast engine · recomputed 14 min ago
4.2MSKU × location × day
12,480SKUs
38Locations
<2sRecompute
11.4%Err
Full-resolution, always fresh
12.5k
SKUs live
38
locations
daily
grain
<2s
recompute
Recomputed just now
4.2M cells ›
Yarrow · London · dailybest-fit14m ago
Iris (new SKU) · 3 locscatalogue lift14m ago
The numbers behind it

Why scale decides if you plan at SKU or category.

14 pts

Full-price sell-through gap between retail leaders and the industry — most of it down to how the group plans together at scale.

Source: Incisiv × WRC × Anaplan 2026

~53%

Share of unplanned markdown cost attributed to upstream decisions in the group's biggest brands.

Source: Coresight industry research

$13.2M

Total exposure on the group risk register in a typical audit cycle — visible live in CFO reports.

Source: Representative multi-brand retailer

The problem today

What breaks before scale runs to plan.

Planning·Scale · Plan resolution
Plan resolution
Cat × Month
detail aggregated away
Refresh
weekly batch
recomputed overnight
Sparse / new SKUs
dropped
too little history
Cells a sheet holds
~3.2K
before it corrupts
Plan freshness
stale by Mon
batch finishes late
Plan coverage · what a spreadsheet can hold
2 of 5 tiers out of reach
Category × Month~180 cellsSubcategory × Month~1.4K cellsSKU × Month~3.2K cellsSKU × Location~120K cellsSKU × Location × Day4.2M cellsas far as spreadsheets reach ↑the grain you actually trade at ↓out of reach in a sheetcorrupts / slows past a fewthousand cells
Where the plan breaks · four failure modes
Planned at category × month
the SKU × location × day you trade at is aggregated away
Stale before the batch finishes
recomputed overnight, wrong by the time it lands
Sparse & new SKUs guessed
too little history, so they fall out of the plan
One method for everything
a single curve stretched across the whole catalogue
The refresh trap
Stale before it’s finished
By the time the weekly batch finishes, the plan is already wrong.
Diagnosis — this is a cardinality + refresh problem, not a spreadsheet-formula problemIllustrative · representative mid-market catalogue
How Tightly does it

Three steps from a million cells to a recompute in the trading window.

Tightly · Forecast engine live· three stages from data to decisionLive
01Fit
CATALOGUE · ROUTED TO A METHOD FAMILYcatalogueSTABLESEASONALTRENDSPARSE

A best-fit method for every series

Every SKU × location series is routed to the method that fits its shape — stable, seasonal, trending or sparse — so no single curve is stretched across the whole catalogue.

best-fit per series
02Lift
NEW SKU · FORECAST LIFTED FROM LOOK-ALIKESlook-alike products3 weeks of historyforecast, lifted

Lift the long tail with a catalogue-wide model

Sparse and brand-new SKUs have too little history to forecast alone. A catalogue-wide model borrows the pattern of look-alike products to draw a real forecast line in from the population.

catalogue-wide lift
03Recompute
RECOMPUTE · INSIDE THE TRADING WINDOW<2srecomputeHOURLY09:0010:0011:0012:00CELLS · FRESH4.2M cells · recomputed 14m ago

Recompute inside the trading window

The whole plan — millions of SKU × location × day cells — is recomputed as fresh signal lands, hourly, while you're still trading. No overnight batch to wait on.

hourly · <2s
See it run

Enterprise scale, without the lag.

The same connected plan, from a single brand to a multi-fascia group — reconciled live at the scale your business actually runs.

Planning·Scale · Forecast engineRecomputed 14 min ago
Forecast cells
4.2M
SKU × location × day
SKUs
12,480
whole catalogue
Locations
38
stores + DC + channels
Recompute
<2s
at full catalogue
Freshness
14 min
hourly recompute
Best-fit method · per series
every SKU fitted automatically
Stable34%
Seasonal26%
Trend18%
Sparse / intermittent14%
New · catalogue-wide lift8%
The sparse & new tail is lifted by a model trained across your whole catalogue — the SKUs a single method can’t forecast alone.
Recompute log
live
Wide-Leg Pants · London
312k cells
14 min ago
Dresses · all locations
486k cells
14 min ago
Knitwear · Manchester
204k cells
14 min ago
New-season drop · 3 locs
58k cells
14 min ago
Every cell recomputed on Tightly’s engine — hourly, inside the trading window4.2M cells · <2s
Why teams change

What changes once scale stops being the bottleneck.

Built for $20M to $5B brands

The same product fits a fast-growing DTC and a multi-brand portfolio without re-platforming at the next stage of growth.

One platform, multiple brands

Run a parent's brands on one Tightly instance, with the right roles, permissions and shared ranges across the portfolio.

Performance under load

Per-SKU × channel × week grids that scale into the millions of cells without the spreadsheet-style collapse other planning tools hit.

Enterprise-grade, by default

Roles, audit, SSO/SAML, data isolation and uptime designed for the volumes a serious retailer actually runs.

Your agents

Meet your Supply agent

Works across every SKU-location at once — reconciling cover, lead time and open-to-buy in real time.

Meet the agents
Tightly agent
just now · within your limits
Live

Re-forecast ready — 3 categories have drifted from plan this week. Want me to stage the moves for your review?

Drifted vs plan · this weekΔ wmape
Tailored Trousers+9%8%
Woolly Layers−12%11%
Activewear+5%9%
Rebalance 240u DC → SFRe-baseline OTB Q3Hold buy on OCN-072
Stage movesReview firstLogged · audit ready
What this replaces

The engine you run today, and the one Tightly delivers.

Spreadsheet / legacy tool · plan grid
PLAN GRID · CATEGORY × MONTH~3.2k cells
CategoryMonthFcstWide-Leg PantsJul18.4kKnitwearJul9.1kDressesJul6.2k
category × monthovernight batchsparse SKUs droppedstale by Monday
A spreadsheet buckles at millions of SKU-location-day cells, so the plan rolls up to category × month and refreshes overnight. The grain replenishment needs is lost, and the numbers are stale before the batch finishes.
Tightly · Forecast engine · live
SKU × LOCATION × DAY · WHOLE CATALOGUErecompute <2s
SKULocDay fcstYarrow · Black · MLondon7/dBramble · Cream · SMcr4/dIris (new) · BlackDC3/d
SKU × location × dayrecompute inside the windowbest-fit per seriescatalogue-wide tail lift
Tightly’s forecast engine holds the whole catalogue at SKU × location × day — millions of cells — and recomputes inside the trading window, with a best-fit method per series and a catalogue-wide model lifting the tail.
FAQ

Questions buyers ask, answered straight.

Something not covered here? Talk to the team.

What scale has this been tested at?

Single brand: ~50k SKU-locations. Multi-fascia group: 2-5M SKU-locations across 4-12 brands. Live reconciliation works at both ends.

Can different brands have different policies?

Yes. Each brand has its own margin floors, OTB envelopes, cover targets, sign-off thresholds. The group only sees the roll-up; brand teams own the policy.

Does this satisfy audit / SOX requirements?

Audit log on every plan move, every override, every approval — exportable to standard formats. Most teams use it for SOX and internal audit on inventory planning decisions.

How does multi-currency work?

Plans run in the brand's reporting currency; group roll-up converts to the group's. Conversion rates are configurable — most teams set monthly at the cycle gate.

Enterprise scale. Single brand to multi-fascia group, one plan.

There's nothing to rip out. Tightly runs on your existing ERP, EDI, e-commerce and POS. Give us 30 minutes and we'll show it on your own categories.