Someone on your team has already tried it. They pasted last year's sales into ChatGPT, or Claude, or Gemini, and asked it to forecast next quarter. It gave them a tidy table, a paragraph of reasoning, and a number that looked plausible enough to put in a deck. And for about a week, that felt like the future of planning.
It is not. Not because the model is weak, these things are extraordinary, but because you asked a language model to do a job it was never built for. A chatbot predicts the next word. A forecast is a distribution over units. Those are different problems, and the gap between them is exactly where your inventory budget goes to die.
This is not an anti-AI argument. Tightly is AI-native to the core. It is an argument about using the right tool for each job, and about being honest that a general-purpose text model and a purpose-built demand model are not the same tool wearing different hats.
It is predicting words, not units
A language model turns 14,820 into fragments and guesses the next one. That is not arithmetic, and it is not a forecast.
Here is the part nobody selling you an LLM planning demo wants to explain. A language model does not hold a number the way a spreadsheet does. When you ask for a forecast of 14,820 units, the model does not compute 14,820. It generates text, one token at a time, and a number like 14,820 gets chopped into pieces, a '14', an '8', a '20', whatever the tokenizer decided that day, and the model predicts each fragment based on what usually follows the last one.
It is astonishingly good at making that read like reasoning. It will cite seasonality, mention your category, nod at the promo calendar. But underneath the prose it is doing pattern completion over text, not estimating demand from data. That is why it will confidently tell you a size run adds up when it does not, and why the same prompt run twice gives you two different numbers. You are not getting a forecast. You are getting a very fluent guess with the receipts removed.
Run the experiment yourself. Ask any chatbot to forecast the same SKU three times in a row and watch the numbers wander. Ask it to break a total into a size curve and check whether the sizes sum back to the total; often they will not, because the model is completing text that looks like a size curve, not solving a constraint. A demand model is scored, backtested and held to an accuracy number you can audit. A chatbot is optimized to sound right. In planning, sounding right is worse than being visibly wrong, because it survives the meeting.
And it gives you a point. One number, in a sentence, with no error bar. Real demand does not arrive as a single number. It arrives as a range with a shape: a most-likely outcome, a bad week, a blowout week, and a probability attached to each. Strip the range off and you have deleted the only information a buyer actually needs to size a buy against risk. A confident sentence is the most dangerous possible output, because it looks like certainty and contains none.
improvement in forecast accuracy (wMAPE) on hero SKUs when demand is modeled at SKU by size by channel, versus a blended baseline. A chatbot has never seen your sell-through at that level at all.
Notice what that number is measured against. It is a lift over a real baseline, on real SKUs, at the level you buy. A chatbot cannot post a number like that, because it has no access to your sell-through at SKU by size by channel, no memory of your returns, no idea which of your styles stocked out and hid their own demand. It is guessing from the public internet and the paragraph you pasted. The uplift is the distance between a purpose-built model that has read your business and a text model that has read everything except your business.
A forecast is probabilistic, trained on you
Not a clever paragraph about retail. A range over units, built on your sell-through, corrected for the demand your stockouts hid.
So what is the right tool actually doing that the chatbot cannot? Four things, and none of them are optional.
It is probabilistic. It returns a range, not a point: the P50 you plan to, the P90 you protect service levels against, the downside you refuse to over-buy into. The buyer sees where the uncertainty lives and insures against that, instead of padding every order because a single number told them nothing about risk.
It is trained on your sell-through, at SKU by size by channel, the level you actually place orders. Not the category, not the brand average. The medium that sells out in week two and the extra-large that never moves are different demand curves, and a real model treats them as different. A blended number, or a chatbot's paragraph, buries both.
It handles cold-start. A brand-new style has no history, so a language model will happily hallucinate one, or fall back to the category mean. A purpose-built model inherits a curve from the nearest historical cluster, matched on category, price point and silhouette, so a day-one launch ships with a forecast that reflects how products like it actually sell.
It corrects for censored demand. This is the one that separates the professionals from the pretenders. When a style stocks out, your sales for that week are not zero because nobody wanted it. They are zero because you had nothing to sell. The true demand is hidden, censored by your own empty shelf. A real forecasting system models what would have sold and corrects for it. A chatbot reads the zero as fact and forecasts you straight into the same stockout again.
The chatbot never saw the data that makes a forecast
A rough read of how much of the signal that drives a good buy each tool can actually act on. The gap is not intelligence. It is access and the right objective.
The industry figured this out, which is why the serious work in demand has moved to purpose-built time-series foundation models, systems designed from the ground up to output distributions over quantities and to learn from millions of real demand series. That is a different lineage from the chatbot in your browser tab, built for a different objective. Tightly's platform sits squarely in that camp: the ML is ours, tuned on retail demand, and it is not a language model wearing a costume.
Where the LLM absolutely belongs
Not computing the forecast. Reading it, explaining it, and drafting the move you're about to make.
Here is where the pendulum should not swing too far. The language model is not useless in planning. It is spectacular, at the right job. The mistake is pointing it at the math. Point it at the language instead.
The forecast is computed by the purpose-built model. Then the LLM reads it and does what it is genuinely best in the world at: turning a wall of numbers into a sentence a human can act on. 'Outerwear is pacing twelve points ahead of plan, the medium is at ninety percent sell-through with six weeks left, here is the reorder I'd stage and why.' It drafts the note to the supplier. It explains, in plain English, why the model moved budget out of dresses. It answers a merchant's 'why' without making them read a model output.
Let the purpose-built model compute the number. Let the language model tell you what to do about it. The second you swap those two jobs, you get a confident paragraph and an empty shelf.
That is the division of labor an AI-native planning stack should run on. Purpose-built ML for the forecast: probabilistic, trained on your data, cold-start aware, censored-demand corrected. A language model for the copilot: reading the forecast, explaining the reasoning, drafting the move, and never once pretending it did the arithmetic. Tightly runs exactly this way, with the agent, Tia, sitting on top of a forecast it did not have to invent.
So no, you cannot ChatGPT your demand forecast. But you can, and should, put a language model to work the moment the forecast exists. The tool is not wrong. The job you gave it was.