Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UX] Create Forecast #574

Open
Tracked by #70
xeniatup opened this issue Jul 31, 2023 · 0 comments
Open
Tracked by #70

[UX] Create Forecast #574

xeniatup opened this issue Jul 31, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@xeniatup
Copy link

xeniatup commented Jul 31, 2023

[UX META] OpenSearch Dashboards Forecasting Dev Ops Metrics
[Proposal] Forecasting Dev Ops Metrics and Financial/Inventory Metrics

This initial work would allow users to create new forecasts within OpenSearch UI, test the model configuration and start forecasting.

User stories:

  • As someone who is responsible for critical services, I want to forecast where metrics are moving, so I can understand if I can take proactive actions and change the outcome.
  • As someone who is mindful about the computational costs I want to make sure that the forecast is configured the way that is optimized for my budget. I want to be aware of the state of the forecast to understand if it consumes any resources.
  • As someone who is setting up the monitoring environment I want to create a forecasting job configuration for a new data source to start forecast when there is sufficient amount of data available (cold start scenario).

Step 1: Define data source

  • Allow users to create forecast from a single index or wildcard pattern.
  • Allow users to focus the relevant data by adding data filters.
  • Users can select a variable (Indicator) to base the prediction on either using an aggregated field value or custom expression.
  • Users can add categorical fields to split the time series to run forecast on multiple time series.

Screen 2.1: Initial state of the “Create forecast: Define data source” screen.
OUI: OuiSteps, OuiBottomBar

Screenshot 2023-07-29 at 4 21 32 PM

Screen 2.2.: Selecting index or typing in a wildcard pattern
OUI: OuiComboBox single selection with custom options

Screenshot 2023-07-29 at 4 23 14 PM

Screen 2.3a,b: Add data filter popover - Visual Editor and Query DSL editor
OUI: OuiPopover, OuiButtonGroups, Inline form ( OuiFlexGroup), OuiComboBox single selection for selecting a field, code editor for Custom expression.

Screenshot 2023-07-29 at 4 25 18 PM Screenshot 2023-07-29 at 4 25 31 PM

Screen 2.4: Update added data filter.
OUI: OuiBadge

Screenshot 2023-07-29 at 4 26 19 PM

Screen 2.5: Configuring Indicator as an aggregated field value.
User selects a field and an aggregation method. No default for the aggregation method is provided to allow for more flexibility.

Screenshot 2023-07-29 at 4 27 26 PM

Screen 2.6: Defining the forecast indicator based on custom expression
OUI: code editor for Custom expression

Screenshot 2023-07-29 at 4 28 06 PM

Screen 2.7: Split time series using categorical fields.
User can select up to two categorical fields to split the time series.
OUI: OuiComboBox

Screenshot 2023-07-29 at 4 28 54 PM

Step 2: Add model parameters

On selecting “Next” users proceed to the second step of the Create flow to add the model parameters for the forecast. The data source is validated between the two steps for containing enough data for bootstrapping the forecasting model.

  • If the data source is validated to have enough data OpenSearch can suggest Core parameters based on the provided data source. User can select “Suggest parameters” to get the recommendation.
  • Allow users to provide Core model parameters including Forecasting interval, Horizon, and History.
  • Allow experienced users to define the Advanced model parameters. The section is collapsed by default.
  • Allow users define the way to store and retain forecasting results.
  • User can create a forecast and start testing (Primary CTA - Create and test) or just create a forecast in the system.

Screen 2.8: Add model parameters - initial state of the screen after the data source is validated.

Screenshot 2023-07-29 at 4 30 28 PM

Screen 2.9: Add model parameters - initial state of the screen for the data source potentially not having enough data for bootstrapping the model.

  • User is informed of the issue of the datasource not having enough data.
  • User can create a forecast, that can be started or tested when there is sufficient data.
Screenshot 2023-07-29 at 4 31 07 PM

Suggest core parameters sub-flow.

OpenSearch relies on the RCF algorithm for its scalability and accuracy tradeoff, for alternate discussions of RCF based forecasting using other implementations, learn more here .

  • Allow user to run data analysis to calculate the core model parameters to produce an optimal configuration for the data source. The modal dialog is triggered by selecting “Suggest parameters” from the Create flow step 2. OpenSearch can suggest all three of the core parameters based on the data source and the shingle size (default value 8) or calculate horizon and required history for a provided interval.

OUI: OuiModal, OuiAccordion, OuiEmptyPrompt

Screenshot 2023-07-17 at 3 34 54 PM

Screen 2.10: Suggested core parameters added to the form

  • Suggested parameters are automatically applied to their respective form fields.
  • User can see the translation of Horizon and History in hours and minutes in the help text to gain additional context for the parameters.
Screenshot 2023-07-29 at 5 01 49 PM

Screen 2.11: Horizon. User can adjust the suggested parameters. For the prediction horizon user can see the recommended range on editing the horizon.
OUI: OuiRange

Screenshot 2023-07-29 at 5 02 43 PM

Screen 2.12: Advanced model parameters set to static (editable) defaults (Shingle size - 8 intervals, Suggested seasonality - 0 intervals, Recency emphasis - 0 intervals).
User can select sparse data handling strategy from the following options:

  • Previous value - Use last known value (default)
  • Set to zero - Set all missing values to 0
  • Linear interpolation - use linear interpolation for missing values
  • Custom value - Set missing values to a fixed numeric value

OUI: OuiAccordion, OuiSelect

Screenshot 2023-07-29 at 5 04 31 PM

Screen 2.13: Custom value for missing data points. User can provide a custom value in a form field.

Screenshot 2023-07-29 at 5 05 31 PM

Screen 2.14: User can select to store the forecasting results in a custom result index to be able to manage the index and the retention period. The prefix opensearch-forecasting-result- is predefined.
OUI: OuiCheckableCard, OuiRadio

Screenshot 2023-07-29 at 5 07 19 PM

User can select “Create and test” (Primary CTA) to submit the form and navigate for the newly create forecast page which goes into “Initializing test” state. Alternatively user can select “Create” to create a forecast which goes into “Inactive” state. On the successful creation of a forecast user can see a toast message.

Screenshot 2023-07-18 at 12 22 38 PM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants