Describes the what-if forecast created using the CreateWhatIfForecast operation.

In addition to listing the properties provided in the CreateWhatIfForecast request, this operation lists the following properties:

  • CreationTime
  • LastModificationTime
  • Message - If an error occurred, information about the error.
  • Status

See also: AWS API Documentation

Request Syntax

response = client.describe_what_if_forecast(
WhatIfForecastArn (string) --


The Amazon Resource Name (ARN) of the what-if forecast that you are interested in.

Return type
Response Syntax
    'WhatIfForecastName': 'string',
    'WhatIfForecastArn': 'string',
    'WhatIfAnalysisArn': 'string',
    'EstimatedTimeRemainingInMinutes': 123,
    'Status': 'string',
    'Message': 'string',
    'CreationTime': datetime(2015, 1, 1),
    'LastModificationTime': datetime(2015, 1, 1),
    'TimeSeriesTransformations': [
            'Action': {
                'AttributeName': 'string',
                'Operation': 'ADD'|'SUBTRACT'|'MULTIPLY'|'DIVIDE',
                'Value': 123.0
            'TimeSeriesConditions': [
                    'AttributeName': 'string',
                    'AttributeValue': 'string',
                    'Condition': 'EQUALS'|'NOT_EQUALS'|'LESS_THAN'|'GREATER_THAN'
    'TimeSeriesReplacementsDataSource': {
        'S3Config': {
            'Path': 'string',
            'RoleArn': 'string',
            'KMSKeyArn': 'string'
        'Schema': {
            'Attributes': [
                    'AttributeName': 'string',
                    'AttributeType': 'string'|'integer'|'float'|'timestamp'|'geolocation'
        'Format': 'string',
        'TimestampFormat': 'string'
    'ForecastTypes': [

Response Structure

  • (dict) --
    • WhatIfForecastName (string) --

      The name of the what-if forecast.

    • WhatIfForecastArn (string) --

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

    • WhatIfAnalysisArn (string) --

      The Amazon Resource Name (ARN) of the what-if analysis that contains this forecast.

    • EstimatedTimeRemainingInMinutes (integer) --

      The approximate time remaining to complete the what-if forecast, in minutes.

    • Status (string) --

      The status of the what-if forecast. States include:

      • ACTIVE


      The Status of the what-if forecast must be ACTIVE before you can access the forecast.

    • Message (string) --

      If an error occurred, an informational message about the error.

    • CreationTime (datetime) --

      When the what-if forecast was created.

    • LastModificationTime (datetime) --

      The last time the resource was modified. The timestamp depends on the status of the job:

      • CREATE_PENDING - The CreationTime .
      • CREATE_IN_PROGRESS - The current timestamp.
      • CREATE_STOPPING - The current timestamp.
      • CREATE_STOPPED - When the job stopped.
      • ACTIVE or CREATE_FAILED - When the job finished or failed.
    • TimeSeriesTransformations (list) --

      An array of Action and TimeSeriesConditions elements that describe what transformations were applied to which time series.

      • (dict) --

        A transformation function is a pair of operations that select and modify the rows in a related time series. You select the rows that you want with a condition operation and you modify the rows with a transformation operation. All conditions are joined with an AND operation, meaning that all conditions must be true for the transformation to be applied. Transformations are applied in the order that they are listed.

        • Action (dict) --

          An array of actions that define a time series and how it is transformed. These transformations create a new time series that is used for the what-if analysis.

          • AttributeName (string) --

            The related time series that you are modifying. This value is case insensitive.

          • Operation (string) --

            The operation that is applied to the provided attribute. Operations include:

            • ADD - adds Value to all rows of AttributeName .
            • SUBTRACT - subtracts Value from all rows of AttributeName .
            • MULTIPLY - multiplies all rows of AttributeName by Value .
            • DIVIDE - divides all rows of AttributeName by Value .
          • Value (float) --

            The value that is applied for the chosen Operation .

        • TimeSeriesConditions (list) --

          An array of conditions that define which members of the related time series are transformed.

          • (dict) --

            Creates a subset of items within an attribute that are modified. For example, you can use this operation to create a subset of items that cost $5 or less. To do this, you specify "AttributeName": "price" , "AttributeValue": "5" , and "Condition": "LESS_THAN" . Pair this operation with the Action operation within the CreateWhatIfForecastRequest$TimeSeriesTransformations operation to define how the attribute is modified.

            • AttributeName (string) --

              The item_id, dimension name, IM name, or timestamp that you are modifying.

            • AttributeValue (string) --

              The value that is applied for the chosen Condition .

            • Condition (string) --

              The condition to apply. Valid values are EQUALS , NOT_EQUALS , LESS_THAN and GREATER_THAN .

    • TimeSeriesReplacementsDataSource (dict) --

      An array of S3Config , Schema , and Format elements that describe the replacement time series.

      • S3Config (dict) --

        The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an Identity and Access Management (IAM) role that Amazon Forecast can assume to access the file(s). Optionally, includes an Key Management Service (KMS) key. This object is part of the DataSource object that is submitted in the CreateDatasetImportJob request, and part of the DataDestination object.

        • Path (string) --

          The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in an Amazon S3 bucket.

        • RoleArn (string) --

          The ARN of the Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket or files. If you provide a value for the KMSKeyArn key, the role must allow access to the key.

          Passing a role across Amazon Web Services accounts is not allowed. If you pass a role that isn't in your account, you get an InvalidInputException error.

        • KMSKeyArn (string) --

          The Amazon Resource Name (ARN) of an Key Management Service (KMS) key.

      • Schema (dict) --

        Defines the fields of a dataset.

        • Attributes (list) --

          An array of attributes specifying the name and type of each field in a dataset.

          • (dict) --

            An attribute of a schema, which defines a dataset field. A schema attribute is required for every field in a dataset. The Schema object contains an array of SchemaAttribute objects.

            • AttributeName (string) --

              The name of the dataset field.

            • AttributeType (string) --

              The data type of the field.

              For a related time series dataset, other than date, item_id, and forecast dimensions attributes, all attributes should be of numerical type (integer/float).

      • Format (string) --

        The format of the replacement data, CSV or PARQUET.

      • TimestampFormat (string) --

        The timestamp format of the replacement data.

    • ForecastTypes (list) --

      The quantiles at which probabilistic forecasts are generated. You can specify up to five quantiles per what-if forecast in the CreateWhatIfForecast operation. If you didn't specify quantiles, the default values are ["0.1", "0.5", "0.9"] .

      • (string) --


  • ForecastService.Client.exceptions.InvalidInputException
  • ForecastService.Client.exceptions.ResourceNotFoundException