Handelswerk
demand forecast
Forecasts one SKU from a history you supply. The pipeline is fixed and fully disclosed in the response rather than hidden behind a score.
POST https://handel.halowerk.com/v1/demand-forecastEingaben
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| history | array | Ja | The demand history, one entry per period, oldest first. Periods must be consecutive and each period_start must be unique and ascending. |
| frequency | string | Ja | Length of one period. Sets the default season length: 7 for daily, 52 for weekly, 12 for monthly. |
| horizon_periods | integer | Nein | How many periods to forecast. |
| season_length_periods | integer | Nein | Override the season length in periods. Zero switches seasonality off. Omitted uses the default for the frequency. |
| future_events | array | Nein | Promotions and holidays you already know about for the forecast periods. Matched on period_start against the generated periods; an entry that matches no period is reported back as unmatched. |
| confidence_level | number | Nein | Confidence level of the prediction interval. |
| backtest_periods | integer | Nein | How many of the last periods to hold back for the comparison against the baselines. Zero picks a quarter of the history, capped at the horizon. |
Vollständiges Eingabeschema anzeigen
{
"type": "object",
"required": [
"history",
"frequency"
],
"additionalProperties": false,
"properties": {
"history": {
"type": "array",
"minItems": 4,
"maxItems": 520,
"description": "The demand history, one entry per period, oldest first. Periods must be consecutive and each period_start must be unique and ascending.",
"items": {
"type": "object",
"required": [
"period_start",
"quantity"
],
"additionalProperties": false,
"properties": {
"period_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day of the period as YYYY-MM-DD."
},
"quantity": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000,
"description": "Units sold in that period. Zero is allowed and switches the decomposition to additive."
},
"promotion": {
"type": "boolean",
"default": false,
"description": "Whether the SKU was on promotion in that period."
},
"holiday": {
"type": "boolean",
"default": false,
"description": "Whether that period contained a holiday you consider relevant. The calendar is yours; no holiday list is looked up."
}
}
}
},
"frequency": {
"type": "string",
"enum": [
"daily",
"weekly",
"monthly"
],
"description": "Length of one period. Sets the default season length: 7 for daily, 52 for weekly, 12 for monthly."
},
"horizon_periods": {
"type": "integer",
"minimum": 1,
"maximum": 104,
"default": 8,
"description": "How many periods to forecast."
},
"season_length_periods": {
"type": "integer",
"minimum": 0,
"maximum": 53,
"description": "Override the season length in periods. Zero switches seasonality off. Omitted uses the default for the frequency."
},
"future_events": {
"type": "array",
"maxItems": 104,
"description": "Promotions and holidays you already know about for the forecast periods. Matched on period_start against the generated periods; an entry that matches no period is reported back as unmatched.",
"items": {
"type": "object",
"required": [
"period_start"
],
"additionalProperties": false,
"properties": {
"period_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day of the forecast period this applies to."
},
"promotion": {
"type": "boolean",
"default": false
},
"holiday": {
"type": "boolean",
"default": false
}
}
}
},
"confidence_level": {
"type": "number",
"enum": [
0.8,
0.9,
0.95
],
"default": 0.9,
"description": "Confidence level of the prediction interval."
},
"backtest_periods": {
"type": "integer",
"minimum": 0,
"maximum": 52,
"default": 0,
"description": "How many of the last periods to hold back for the comparison against the baselines. Zero picks a quarter of the history, capped at the horizon."
}
}
}Veröffentlichtes Eingabebeispiel
{
"frequency": "weekly",
"history": [
{
"period_start": "2026-01-05",
"quantity": 117
},
{
"period_start": "2026-01-12",
"quantity": 90
},
{
"period_start": "2026-01-19",
"quantity": 102
},
{
"period_start": "2026-01-26",
"quantity": 113
},
{
"period_start": "2026-02-02",
"quantity": 191,
"promotion": true
},
{
"period_start": "2026-02-09",
"quantity": 104
},
{
"period_start": "2026-02-16",
"quantity": 115
},
{
"period_start": "2026-02-23",
"quantity": 120
},
{
"period_start": "2026-03-02",
"quantity": 145
},
{
"period_start": "2026-03-09",
"quantity": 150,
"holiday": true
},
{
"period_start": "2026-03-16",
"quantity": 125
},
{
"period_start": "2026-03-23",
"quantity": 136
},
{
"period_start": "2026-03-30",
"quantity": 154
},
{
"period_start": "2026-04-06",
"quantity": 188,
"promotion": true
},
{
"period_start": "2026-04-13",
"quantity": 137
},
{
"period_start": "2026-04-20",
"quantity": 144
},
{
"period_start": "2026-04-27",
"quantity": 174
},
{
"period_start": "2026-05-04",
"quantity": 133
},
{
"period_start": "2026-05-11",
"quantity": 199,
"holiday": true
},
{
"period_start": "2026-05-18",
"quantity": 159
},
{
"period_start": "2026-05-25",
"quantity": 182
},
{
"period_start": "2026-06-01",
"quantity": 150
}
],
"season_length_periods": 4,
"horizon_periods": 4,
"future_events": [
{
"period_start": "2026-06-15",
"promotion": true
}
],
"confidence_level": 0.9,
"backtest_periods": 4
}Ergebnis & Dokumentation
Veröffentlichtes Ergebnisschema anzeigen
{
"$ref": "https://handel.halowerk.com/v1/demand-forecast/schema#/outputSchema"
}Veröffentlichtes Ergebnisbeispiel öffnen
Maschinenlesbare Dokumentation dieses Hubs
Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.
Weitere Endpunkte dieses Hubs
- Handelswerk0,005 USDC
allergen check
POSThttps://handel.halowerk.com/v1/allergen-checkReturns what a product declares about allergens: the allergen tags, the trace warnings, the ingredients text in its original language, and the completeness of the record. The distinction it holds to throughout is between not declared and no
- Handelswerk0,006 USDC
container load
POSThttps://handel.halowerk.com/v1/container-loadLoads a package list into one loading space and returns the plan, not an estimate. The floor starts as one free surface; packages are sorted by footprint, then height, then weight, then identifier, and each one is placed on the lowest, then
- Handelswerk0,004 USDC
delivery note json
POSThttps://handel.halowerk.com/v1/delivery-note-jsonAdds structured delivery-note extraction alongside the existing invoice extractor and purchase-order matcher; does not duplicate invoice-extract or filing-to-json. Strict namespace-aware XML parsing, no model or foreign API. Only supplied s