CreateWhatIfForecast - Amazon Forecast


A what-if forecast is a forecast that is created from a modified version of the baseline forecast. Each what-if forecast incorporates either a replacement dataset or a set of transformations to the original dataset.

Request Syntax

{ "Tags": [ { "Key": "string", "Value": "string" } ], "TimeSeriesReplacementsDataSource": { "Format": "string", "S3Config": { "KMSKeyArn": "string", "Path": "string", "RoleArn": "string" }, "Schema": { "Attributes": [ { "AttributeName": "string", "AttributeType": "string" } ] }, "TimestampFormat": "string" }, "TimeSeriesTransformations": [ { "Action": { "AttributeName": "string", "Operation": "string", "Value": number }, "TimeSeriesConditions": [ { "AttributeName": "string", "AttributeValue": "string", "Condition": "string" } ] } ], "WhatIfAnalysisArn": "string", "WhatIfForecastName": "string" }

Request Parameters

The request accepts the following data in JSON format.


A list of tags to apply to the what if forecast.

Type: Array of Tag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

Required: No


The replacement time series dataset, which contains the rows that you want to change in the related time series dataset. A replacement time series does not need to contain all rows that are in the baseline related time series. Include only the rows (measure-dimension combinations) that you want to include in the what-if forecast.

This dataset is merged with the original time series to create a transformed dataset that is used for the what-if analysis.

This dataset should contain the items to modify (such as item_id or workforce_type), any relevant dimensions, the timestamp column, and at least one of the related time series columns. This file should not contain duplicate timestamps for the same time series. This file must be in CSV format.

Timestamps and item_ids not included in this dataset are not included in the what-if analysis.

Type: TimeSeriesReplacementsDataSource object

Required: No


The transformations that are applied to the baseline time series. Each transformation contains an action and a set of conditions. An action is applied only when all conditions are met. If no conditions are provided, the action is applied to all items.

Type: Array of TimeSeriesTransformation objects

Array Members: Minimum number of 0 items. Maximum number of 30 items.

Required: No


The Amazon Resource Name (ARN) of the what-if analysis.

Type: String

Length Constraints: Maximum length of 256.

Pattern: arn:([a-z\d-]+):forecast:.*:.*:.+

Required: Yes


The name of the what-if forecast. Names must be unique within each what-if analysis.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 63.

Pattern: ^[a-zA-Z][a-zA-Z0-9_]*

Required: Yes

Response Syntax

{ "WhatIfForecastArn": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The Amazon Resource Name (ARN) of the what-if forecast.

Type: String

Length Constraints: Maximum length of 300.

Pattern: arn:([a-z\d-]+):forecast:.*:.*:.+



We can't process the request because it includes an invalid value or a value that exceeds the valid range.

HTTP Status Code: 400


The limit on the number of resources per account has been exceeded.

HTTP Status Code: 400


There is already a resource with this name. Try again with a different name.

HTTP Status Code: 400


The specified resource is in use.

HTTP Status Code: 400


We can't find a resource with that Amazon Resource Name (ARN). Check the ARN and try again.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: