Seven statistical and machine-learning models, automatic winner selection per series, continuous drift monitoring, and a deployment model designed for system integrators.
For every SKU × location, Xovity Intelligence runs all seven candidate models against a holdout window, scores them on WAPE, MAPE, RMSE and bias, and locks in the winner. No single model wins everywhere — picking the right one per series is how we beat incumbent baselines.
Repeats the last full seasonal cycle. A robust baseline that exposes when more advanced models fail to add value.
Smooths short-term noise with a rolling window. Strong for low-volume, intermittent demand where stability matters more than reaction speed.
Weights recent observations more heavily than older ones. Reacts quickly to level shifts without over-fitting.
Fits demand as a function of time. Captures sustained growth or decline curves and benchmarks against flat baselines.
Triple exponential smoothing with explicit level, trend, and seasonality components. Default winner for stable seasonal series.
Seasonal autoregressive integrated moving average. Captures complex autocorrelation patterns and lagged dependencies.
Blends the three best holdout performers per series, dampening idiosyncratic errors and improving robustness across SKUs.
Live WAPE is recalculated on every new actual. When live error diverges from the holdout baseline beyond a configurable threshold, Xovity Intelligence raises an exception, classifies the cause (drift, stockout, demand spike, new product), and triggers a refit before accuracy decays.
Ship Xovity Forecast as your own product. The full UI, exports, and email surface area are themable through design tokens — no source forking required. Customer data is isolated per workspace with row-level security enforced in the database.
Every UI action is backed by a documented REST endpoint. Push actuals, trigger forecast runs, pull P10/P50/P90 results, and stream exceptions into your downstream ERP, planning suite, or data warehouse.
POST /forecast/runTrigger a forecast for a SKU × location with horizon and scenario overrides.
GET /forecast/resultsPull P10 / P50 / P90 results, winning model, holdout metrics.
POST /actualsBulk-ingest sales or shipment history. Triggers drift detection on changed series.
GET /exceptionsList open drift, stockout, spike, and new-product exceptions with severity.
POST /scenariosRun a what-if (promotion, price change, supply disruption) on top of baseline.
WebhooksSubscribe to forecast.completed, exception.raised, drift.detected events.