How our forecast model works
A readable walkthrough of the sequence model behind every 30-day price prediction on the site, including where it fails.
Every product page shows a predicted floor for the next thirty days. This post explains what generates that number and, more usefully, when you should ignore it.
The input is a multivariate series per product: price per retailer, stock status, review velocity, category-level seasonality and a set of calendar features covering known sale events in each market.
The architecture is unglamorous on purpose — a temporal convolutional encoder feeding a quantile regression head. We predict the 10th, 50th and 90th percentile rather than a point estimate, because a shopper needs a range to make a decision, not false precision.
Backtested on held-out 2025 data, the 50th percentile prediction lands within 6% of the realised 30-day minimum for 81% of products. That number drops sharply for two groups: products under sixty days old, and anything with fewer than three tracked retailers.
So we suppress the forecast entirely in those cases and show the raw history instead. A confident wrong answer is worse than no answer, and a shopper who loses money trusting the model does not come back.
The remaining hard problem is supply shocks. No amount of historical pricing predicts a factory fire or a tariff change. When residuals across a category spike together, we flag the category as unstable and widen every confidence band inside it until the series settles.