| as_of | No | Analysis date YYYY-MM-DD. Defaults to the latest observation. | |
| period | No | Forecast grain. Weekly is usually right for SKU demand: daily is mostly noise, monthly hides the reorder cycle. | W |
| history | Yes | Sales/volume rows. Absolute minimum: date + quantity (one implicit series). Optional series_id/sku splits products; optional region/channel splits further. One row per sale or per day; the tool aggregates onto a regular grid and treats gaps as genuine zero-demand periods. | |
| horizon | No | How many periods ahead to forecast. | |
| cv_folds | No | Rolling-origin backtest folds used to pick the model. | |
| max_series | No | Optional cap on how many products are scored. | |
| min_periods | No | Refusal gate. Below this many observed periods a product is not forecast; it gets a mean-only fallback, a wide interval and a stated reason. | |
| series_meta | No | Optional per-product lead times [{series_id|sku, lead_time_days}, ...]. | |
| requested_model | No | Optional model hint (e.g. 'croston', 'holt'). Ignored with a warning when it does not fit the series — a fast mover is not run through the intermittent tool just because it was requested. | |
| seasonal_periods | No | Length of one seasonal cycle in periods. Defaults to 7 (D), 52 (W), 12 (M). | |
| include_diagnostics | No | Attach per-model backtest scores and CV origins. | |
| interval_confidence | No | Coverage of the prediction interval, e.g. 0.95. | |
| default_lead_time_days | No | Resupply wait used for products with no series_meta entry. | |
| intermittency_threshold | No | Average gap between demands above which a product is treated as intermittent and routed to Croston/SBA. 1.32 is the standard Syntetos-Boylan cutoff. | |
| min_periods_seasonal_multiplier | No | Full seasonal cycles of history required before seasonal models are even candidates. | |