Skip to main content

FVAStaging

Versions

v1.0.0

Basic Information

Class Name: FVAStaging

Title: Forecast Value Add Staging

Version: 1.0.0

Author: John Ross Greene

Organization: OneStream

Creation Date: 2024-09-20

Default Routine Memory Capacity: 2.0 GB

Tags

SensibleAI Forecast, Information Retrieval, Cross Validation, Data Analysis, Interpretability, Report Generation

Description

Short Description

Routine to prepare FOR tables (Cascade Staged DMF/BMF), actuals, and optionally, customer benchmark data

Long Description

This routine combines any number of (required) OneStream Cascade Staged DMF/BMF data tables with (optional) customer forecast tables, along with their actual data, providing a standardized and simple routine to preprocess data for the creation of Forecast Value Add Snapshots. These forecasts can be separated by provided dimension columns, giving more granular control for comparing forecasted results. If the chosen intersection fill method is not 'Ignore Intersections', the dimension column(s) chosen must exist in ALL tables provided since they will be joined on, otherwise the routine will fail. Multiple forecast cycles can produce new tables for FVA ingestion and increase consumer confidence. User Warning: Any columns that are not needed in the FVA snapshot will be dropped.

Use Cases

1. Preparing For Forecast Value Add Snapshots

With Forecast Value Add Snapshots being a vital tool for comparing forecast accuracy and usability, having the ability to quickly and easily prepare data for this without the need for complex and time-consuming SQL queries allows for higher agility workflows, giving users the freedom to combine tables in preparation for FVA Snapshots quickly and effectively, and with a multitude of options for how these join operations are performed, either ignoring, using, or filling missingintersections (on Date, ForecastStartDate, and user-provide dimension columns)

2. Comparing Actuals, Customer Forecasts, and OneStream SensibleAI Forecast Forecasts

Users can compare the accuracy of their SensibleAI Forecast projects with each other and with the customer benchmark forecasts for a couple of different reasons. They can first validate that SensibleAI Forecast is beating the customer’s previous method of forecasting, then determine which of their project configurations is the most optimal (yields the most accurate forecasts). This routine combines these results together for easy analysis and data preprocessing for Forecast Value Add snapshots, reducing the need for an array of SQL queries and joins that otherwise would need to be performed to preprocess this data into a workable state for FVA analysis.

Routine Methods

1. FVA Project To Benchmark (Method)
  • Method: fva_project_to_benchmark
    • Type: Method

    • Memory Capacity: 8.0 GB

    • Allow In-Memory Execution: No

    • Read Only: Yes

    • Method Limits: This method supports a 25K target dataset with actuals included, accompanied by a 25k benchmark dataset over a 6 month prediction at the daily level (182 time steps) in 2 minutes with 80GB of allocated memory. Runtime remains low with the highest supported configuration that included a 9 month prediction at the daily level (274 time steps) completing in 5 minutes. Memory limits outweigh runtime limits and any configurations beyond this cannot be guaranteed at the max memory allocation.

    • Outputs Dynamic Artifacts: No

    • Short Description:

      • Joins FOR and Customer Benchmark tables into preprocessed table for Forecast Value Add Snapshots.
    • Detailed Description:

      • The FVA Staging routine allows for quick preprocessing of Cascade Staged Model table(s) and Customer Benchmark Forecasts to be joined, with options to fill missing intersections based on ForecastStartDate, Date, and provided Dimension Columns.
    • Inputs:

      • Required Input
        • Deployed Model Forecast Tables: The Deployed Model Forecast data table(s) to join.
          • Name: deployed_model_forecast_table_connections
          • Tooltip:
            • Validation Constraints:
              • The input must have a minimum length of 1.
              • The input must have a maximum length of 40.
              • This input may be subject to other validation constraints at runtime.
          • Type: list[TimeSeriesTableDefinitionSeriesDimension]
        • Customer Benchmark Tables: Local customer benchmark table to join with Deployed Model Forecast tables.
          • Name: benchmark_table_connection
          • Tooltip:
            • Validation Constraints:
              • This input may be subject to other validation constraints at runtime.
          • Type: TimeSeriesTableDefinitionSeriesDimension
        • Dimension Columns: The columns to use as dimensions.
          • Name: dimension_columns
          • Tooltip:
            • Validation Constraints:
              • The input must have a minimum length of 1.
              • This input may be subject to other validation constraints at runtime.
          • Type: list[str]
        • Intersection Fill Method for Merging Tables: Choose the method used to handle joining of tables.
          • Name: intersection_fill
          • Tooltip:
            • Validation Constraints:
              • This input may be subject to other validation constraints at runtime.
          • Type: IntersectionFillMethod_
    • Artifacts:

      • Final DMF table to Customer Benchmark DataFrame: Customer forecast data and FOR table(s) merged for FVA Snapshot
        • Qualified Key Annotation: fva_merged
        • Aggregate Artifact: False
        • In-Memory Json Accessible: False
        • File Annotations:
          • artifacts_/@fva_merged/data_/data_<int>.parquet
            • A partitioned set of parquet files where each file will have no more than 1000000 rows.
2. FVA Project To Project (Method)
  • Method: fva_project_to_project
    • Type: Method

    • Memory Capacity: 8.0 GB

    • Allow In-Memory Execution: No

    • Read Only: Yes

    • Method Limits: This method is not computationally complex and can handle 25K targets, with actuals included, and a prediction horizon of 365 days in 5 minutes with 40GB of allocated memory. For reference, this produced a 50M row dataset representing one year forecasts at the daily level from 3 separate projects, providing support for higher time granularities that fall under these configurations or are scaled across a higher project count.

    • Outputs Dynamic Artifacts: No

    • Short Description:

      • Vertically stacks OneStream Cascade Staged DMF/BMF tables for FVA Snapshot preprocessing
    • Detailed Description:

      • This method will vertically stack as many Cascade Staged DMF/BMF tables as the routine is given for FVA Snapshot preprocessing.
    • Inputs:

      • Required Input
        • Deployed Model Forecast Tables: The Deployed Model Forecast data tables to join.
          • Name: deployed_model_forecast_table_connections
          • Tooltip:
            • Validation Constraints:
              • The input must have a minimum length of 1.
              • The input must have a maximum length of 40.
              • This input may be subject to other validation constraints at runtime.
          • Type: list[TimeSeriesTableDefinitionSeriesDimension]
        • Dimension Columns: The columns to use as dimensions.
          • Name: dimension_columns
          • Tooltip:
            • Validation Constraints:
              • The input must have a minimum length of 1.
              • This input may be subject to other validation constraints at runtime.
          • Type: list[str]
    • Artifacts:

      • Final FOR only FVA Staging DataFrame: Merged FOR tables for FVA Snapshot
        • Qualified Key Annotation: fva_stacked
        • Aggregate Artifact: False
        • In-Memory Json Accessible: False
        • File Annotations:
          • artifacts_/@fva_stacked/data_/data_<int>.parquet
            • A partitioned set of parquet files where each file will have no more than 1000000 rows.

Interface Definitions

No interface definitions found for this routine

Developer Docs

Routine Typename: FVAStaging

Method NameArtifact Keys
fva_project_to_benchmarkfva_merged
fva_project_to_projectfva_stacked

Was this page helpful?