How Forecasts Are Generated
Synplex generates demand forecasts automatically. This page explains when forecasts run, what data they use, how they handle products with limited history, and what the different forecast statuses mean.
When Forecasts Run
Forecasts are generated automatically on the 1st of every month at 04:00 UTC. No manual action is required.
The monthly run processes every active product variant across every active location that has sufficient sales history. Each shop is processed independently. A shop is skipped for that month if it already has a successful completed forecast from the past 7 days — this prevents duplicate runs in cases where a forecast was triggered manually or as part of onboarding.
Forecasts can also be triggered outside the monthly schedule during initial app setup, when the shop's historical sales data is first imported.
What Data Is Used
The forecast uses daily sales history stored in Synplex, derived from your Shopify order data. This history is aggregated to a monthly level per variant per location before being sent for processing.
The minimum requirement to qualify for a full forecast is sufficient monthly sales history. Variants or locations that do not meet this threshold are handled separately — see Fallback Forecasts below.
The following are not used as inputs to the forecast:
- Manually set planned quantities from previous months
- Existing demand plan overrides
- Supplier lead times or stock levels
The forecast is purely driven by historical sales patterns. Supplier constraints and stock levels are applied later in the supply planning stage.
The Forecast Pipeline
Forecast generation happens across three stages that run in sequence:
Stage 1 — Scheduler
On the 1st of each month, Synplex checks whether sufficient daily forecast allowance remains. If the threshold is met, one forecast job is queued per eligible shop.
Stage 2 — Orchestrator
For each shop, Synplex:
- Fetches the complete sales history for every active inventory level in a single bulk query.
- Identifies which inventory levels have enough history for a full forecast and which do not.
- Splits the qualifying time series into batches for processing.
- Calculates the estimated processing cost of all batches and deducts it from the daily allowance.
- Creates a forecast request record for each batch (see Forecast Request Statuses below).
- Queues each batch for background processing.
- Immediately creates fallback demand plans for any inventory levels that did not qualify (see Fallback Forecasts below).
Stage 3 — Worker
Each batch is processed independently in the background:
- The batch is sent for forecasting.
- Results are returned asynchronously.
- On receipt of results, Synplex writes the forecasted and planned quantities to the relevant demand plan records.
Forecast Request Statuses
Each batch sent for processing is tracked as a forecast request. The status reflects where it is in the pipeline:
| Status | Meaning |
|---|---|
PENDING | Created, not yet sent for processing |
PROCESSING | Sent for processing, awaiting results |
COMPLETED | Results received and written to demand plans successfully |
FAILED | Processing failed after all retry attempts |
RETRYING | A previous attempt failed; the system is retrying automatically |
ALLOWANCE_EXCEEDED | The shop's daily processing allowance was exhausted before this batch could run |
CANCELLED | The request was cancelled before processing began |
Most requests move from PENDING → PROCESSING → COMPLETED without issue.
Fallback Forecasts
Not every product variant has enough sales history for a full forecast. This is expected and handled automatically.
A variant receives a fallback forecast when:
- It is a newly added product with no or very limited order history.
- It was recently added to a new location with no sales at that location yet.
- Its sales history at a given location is too sparse to produce a reliable prediction.
How fallback forecasts work:
Fallback demand plans are generated using a moving average of the available sales history. They are written immediately during the orchestration stage — they do not go through the standard forecast pipeline and do not consume any processing allowance.
Fallback forecasts are fully functional demand plans. They appear in the Demand Planning page alongside standard forecasts and can be overridden manually in exactly the same way.
As a variant accumulates more sales history over subsequent months, it will automatically qualify for a full forecast in future monthly runs. The fallback forecast will be replaced at that point.
Processing Allowance
Synplex operates within a daily processing allowance for forecast generation. The allowance is measured in time series data points sent for processing.
Key rules:
- Before starting the monthly run, Synplex checks the remaining allowance. If less than 30% remains, the entire run is skipped for that day.
- Before queuing batches, the orchestrator calculates the estimated cost and deducts it upfront. If the run fails partway through, the deduction is rolled back.
- Batches that cannot run because the allowance is exhausted receive the
ALLOWANCE_EXCEEDEDstatus.
The allowance resets every 24 hours. In practice this is only relevant for very large catalogues or shops running multiple on-demand forecasts in a single day.
What Happens to Existing Overrides
When a new monthly forecast runs, it updates the forecasted quantity on each demand plan record — the machine-generated prediction.
For records where a user has previously set a manual override, the planned quantity — the value used in all calculations — is not overwritten by the new forecast. The user's override is preserved. The new machine forecast is still written to the forecasted quantity column so it remains visible for comparison.
This means:
- An override made in January will still be active after the February forecast run.
- The forecasted quantity column will update to reflect the latest prediction.
- The planned quantity column will continue to show the override until it is explicitly cleared or changed.
See Overriding Forecasts for guidance on when to override and how overrides interact with future runs.
Related
- Demand & Supply Planning Overview — How demand and supply planning fit together
- Reading and Editing Demand Plans — How to view and edit forecasts in the UI
- Overriding Forecasts — Replacing machine forecasts with your own figures
Questions? Contact support@synplex.dev