Batch Processing.
Process multiple forecasts in a single request. Batching halves your per-forecast cost. It also adds batch-level analytics that individual requests do not provide.
Individual and batch forecasts return the same results — batching costs less per forecast.
$0.10 / forecast$0.05 / forecastKey Benefits
- 50% cost reduction per forecast
- No minimum batch size requirements
- Pay only for what you use
- ABC classification analysis
- Customer concentration insights
- Price elasticity analysis
- Parallel processing for faster results
- Reduced network overhead
- Scalable to thousands of forecasts
- Webhook support for async processing
- Better accuracy through more training time
- Batch-level statistics and insights
Advanced Analytics
The API provides these analytics only on batch requests.
Per-series options
You can set every option below once at the top level of the request. A top-level option applies to every series. You can override it on any individual series. A series that sets nothing inherits the request-level value.
| Option | Notes |
|---|---|
| periods, frequency, data_type, model, confidence | The API accepts confidence_level as an alias for confidence, so the same field name works here and on /v2/forecast. |
| quantiles | You usually set this once for the whole batch. One fan grid across every series makes the results comparable. |
| value_bounds | You usually set this per series. One batch can mix a 0–100 percentage, a 0–1 rate, and an unbounded revenue series. The API checks it against that series' own history. It rejects a request-level default that contradicts one series and never applies it silently. |
| adjustments | You can set this at either level. A request-level block applies one scenario to every series ("assume we lose 20% everywhere"). The API checks from_period and to_period against each series' own horizon. It therefore accepts from_period: 9 for a 12-period series and rejects it for a 6-period series in the same call. |
| accumulate | You usually set this once. The API computes a separate total for each series. The decay and discount assumptions behind those totals are normally uniform. |
| current_period | The batch endpoint does not support this. The API rejects it at both levels and does not ignore it silently. Request it on /v2/forecast. |
On /v2/forecast, adjusted and accumulated are siblings of
result. A batch response flattens each series into results.data[entity_id],
which is that series' result object. In a batch, both blocks are
inside that object, next to forecasts. As on single forecasts, the API
never stores the adjusted path and excludes it from accuracy tracking.
Technical Specifications
- Maximum series per batch: 100,000 on paid plans, 10 on the free tier
- Maximum data points per series: unlimited on paid plans, 1,000 on the free tier
- Supported data types: JSON
- Compression: GZip supported
- Individual forecasts: Full forecast data for each item
- Batch summary: Aggregated statistics
- Analytics: ABC classification, concentration analysis, more
- Processing time: Included in response
Best Practices
- Group similar data types. Combine items that share forecasting patterns so the API selects a better method.
- Use appropriate batch sizes. Balance cost savings against processing time.
- Use webhooks. Process large batches asynchronously to avoid timeouts.
- Monitor batch analytics. Use these insights to improve your forecasting strategy.
Example Usage
curl -X POST "https://forecastapi.com/v2/batch/forecast" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"series": [
{
"identifier": "SKU-001",
"data": [
{"date": "2024-01-01", "value": 100},
{"date": "2024-02-01", "value": 150}
],
"frequency": "M",
"data_type": "sales",
"periods": 3
},
{
"identifier": "CHURN-RATE",
"data": [
{"date": "2024-01-01", "value": 0.041},
{"date": "2024-02-01", "value": 0.038}
],
"frequency": "M",
"periods": 3,
"value_bounds": {"min": 0, "max": 1}
}
],
"frequency": "M",
"confidence": 0.80,
"quantiles": [0.1, 0.5, 0.9]
}'
Ready to get started?
See the API reference for detailed endpoint documentation and examples.