Skip to content
05 · Predictive Analytics & Forecasting

Aurum Quanta Forecast.

Demand and price forecasts built from your data, with the intervals included.

Applied ML earns its keep here more often than anywhere else. Demand forecasts, pricing recommendations, revenue simulations, trend prediction. The workhorse of the field, and where we expect to focus a large share of our work.

Gradient-boosted demand models, time-series forecasting, elasticity estimation, counterfactual scenario analysis. Every forecast ships with prediction intervals (P10, P50, P90), so the downstream user knows how much to trust each number.

Try it

Pick a series. See the full forecasting workflow.

USD 3,299USD 4,795USD 6,290USD 7,786Jan '22Jan '23Jan '24Jan '25Jan '26Oct '26HISTORY · 52 MOFUTURE · 6 MO
Forecast horizon
Real ticker · monthly close

US large-cap index - broad market trend, low seasonality
52 months · Jan '22 - Apr '26 · unit: USD index · approximate values from public market data

Six classical models compete on held-out months: Naive (last value), Drift (linear extrapolation), Seasonal-Naive(last year's same month), Damped Holt-Winters (state-space exponential smoothing with level / trend / seasonal), Theta(decomposition + recombination, Assimakopoulos & Nikolopoulos 2000), and AR(p)(autoregressive fit via Yule-Walker, lag selected by BIC). The lowest rolling-origin MAPE wins; the forward projection is an inverse-MAPE-weighted ensemble capped at 60% per model so the winner doesn't monopolise the line.

Under the hood: each fold runs a walk-forward / rolling-origin cross-validation (up to 4 backtest origins) so the reported accuracy isn't a single lucky window; Holt-Winters hyper-parameters are grid-searched against in-sample MSE; strictly-positive series are fit in log space so noise is modelled multiplicatively. The user-facing intervals are split-conformal(Vovk et al. 2005) - the (1-α) quantile of the ensemble's out-of-sample residuals at each horizon step - so coverage is calibrated rather than assumed.

Each model is scored on four metrics so the same forecast can be read through different lenses: MAPE, MASE(Hyndman-Koehler scaled error; < 1.0 beats seasonal-naive), RMSE, and directional accuracy(% of months whose move had the right sign). Median-absolute-deviation outliers are flagged in the chart so you can see which months were unusual relative to the local trend.

Note · classical methods only, no neural networks

Everything above is statistical learning, not deep learning. At this scale (≤ 240 monthly points, 3-24 month horizon) classical methods routinely beat neural nets in controlled benchmarks - the M4 competition (~100,000 series) found pure neural-network entries rarely cracked the top tier; the winners combined a classical core with a small neural smoothing layer. Deep learning earns its weight when there are many series, high cardinality, exogenous regressors, or sub-daily granularity - none of which apply here.

Why are the walkback lines often almost straight? It's the model being honest about what's actually predictable. For random-walk series Naive wins (flat); for trending series Drift wins (straight slope); the contest picks the simplest model that explains the data, which is often a line. Curved walkback lines mean Holt-Winters or Seasonal-Naive won - the synthetic RETAILpreset shows this cleanly. A flat forecast on a noisy series isn't low accuracy; it's the optimal forecast, and the MASE score will tell you so.

Note · this is a simplified demo

A real engagement looks very different. We'd layer in regime detection, hierarchical reconciliation, exogenous regressors (rates, sentiment, leading indicators), causal effects, custom loss functions tuned to the decision the forecast drives, and production monitoring with drift alerts. The shape you see here is the validation discipline; the depth comes from doing it on your data, your business problem, your decision boundary.

Under the hood

Classical ML, well-tuned.

Forecasting is rarely a deep-learning problem. A well-tuned classical model - properly featured, validated, and monitored - beats hype-driven approaches on almost every operating dataset.

What you get

Concrete deliverables.

01

Demand forecasting

Time-series models with seasonality, promotional effects, and external regressors built in. Daily, weekly, or monthly horizons, matched to whatever level your buyers make decisions at.

02

Pricing and elasticity

Elasticity estimated with proper causal methods (IPW, doubly-robust, sometimes a synthetic control), paired with price-optimisation models you can A/B test against the current pricing rule.

03

Supply-chain optimisation

Forecasts that feed into inventory and procurement decisions, with stock-out and overstock costs surfaced explicitly so the buyers can see the tradeoff they're making.

04

Scenario simulation

Counterfactuals like 'what if we raised price 5% in Q3?' answered against historical data and an explicit set of causal assumptions you can interrogate.

// Sample · probabilistic forecast

Forecasts come with intervals, not just points.

# forecast/serve.py: return P10/P50/P90; refuse on out-of-domain inputs
def predict(features: pd.DataFrame, max_extrapolation: float = 0.1) -> Forecast:
    if drift_score(features, training_distribution) > max_extrapolation:
        raise OutOfDomain("Input drifts beyond training distribution")
    quantiles = model.predict(features, quantiles=[0.1, 0.5, 0.9])
    return Forecast(p10=quantiles[0.1], p50=quantiles[0.5], p90=quantiles[0.9])

Uncertainty as a first-class output. Refuses to forecast inputs the training data didn't cover.

Engagement structure

How it would unfold.

Week 1

Data audit

Warehouse review, target metric definition, backtest windows agreed.

Weeks 2 to 3

Pilot

Forecasts built on historical data, backtested, compared to your current baseline (naive, statistical, or vendor).

Weeks 4 to 6

Production

Scheduled pipeline, dashboards, alerting, and handover documentation.

Optional

Ongoing

Monthly drift review, retraining, and new feature engineering as signal changes.

Stack

Tools we reach for on this kind of work.

PythonXGBoostLightGBMProphetscikit-learnSnowflakeBigQuerydbtAirflow
Questions

Common questions.

What's a realistic improvement over what we have?

Industry benchmarks for ML-based forecasting against naive or statistical baselines tend to land in the 5–20% MAPE-reduction range, depending on the data and the horizon. We backtest against your current process in week 2 before committing to a target on your problem.

Do we need a data warehouse?

Helpful, not required. We can start from CSV exports and wire into your warehouse later. For pilots without a warehouse in place, a small DuckDB-on-Parquet setup is usually faster to stand up than people expect and gets a forecast running on real data within the first week.

Who owns the model after?

You do. The code, the trained weights, the training pipelines, the dashboards: all in your repositories and your cloud account, with documentation a new hire on your side could read and operate from.

Start a Forecast project

Let's build it.

A 30-minute discovery call. We'll tell you whether we're the right shop for this.

Book a discovery call →
← All services