5. Create Observation Tables
What is an Observation Table?
An Observation Table is a structured collection of historical data points that acts as the foundation for training datasets. By adding features, you can create Feature Tables that can be used to train and validate Machine Learning models.
Forecast Automation
For forecasting use cases, FeatureByte provides a Forecast Automation endpoint that automatically generates observation tables with appropriate POINT_IN_TIME and FORECAST_POINT values based on your prediction schedule and forecast horizon.
In this tutorial, we will create three observation tables using Forecast Automation for our store sales forecasting use case: one for training, one for validation, and one for holdout evaluation.
All three use the ONE_ROW_PER_ENTITY_FORECAST_POINT mode, which generates one row per entity per forecast point with a random point in time. This is the only recommended mode for training and evaluation, as it prevents over-fitting by ensuring each entity-forecast point pair appears once with a unique point in time.
FORECAST_SERIES for visualization
Later, in Predict and Evaluate, we will create additional observation tables in FORECAST_SERIES mode for visualizing predictions as continuous time series.
Step 1: Navigate to Observation Table Catalog¶
From the menu, navigate to the 'Formulate' section:
-
Select the Observation Table catalog.
-
Select the Use Case "Store Daily Sales Amount Forecast for 28 Days".

Step 2: Create Observation Tables via Forecast Automation¶
-
Click
. -
Select 'Forecast Automation' tab.
-
Configure the forecast automation settings:
- Prediction Schedule: Weekly, every Monday at 3:30 AM (
30 3 * * 1) - Prediction Schedule Timezone: America/Los_Angeles
- Forecast Start Offset: 0
- Forecast Horizon: 28

- Prediction Schedule: Weekly, every Monday at 3:30 AM (
-
Define the observation table periods for training:
Training period:
- Name: Training
- Start: 2012-03-01
- End: 2016-01-01
- Target Observation Count: 50,000
- Purpose: Training
- Mode: ONE_ROW_PER_ENTITY_FORECAST_POINT
Validation period:
- Name: Validation_eval
- Start: 2016-01-01
- End: 2016-04-01
- Target Observation Count: 50,000
- Purpose: Validation-Test
- Mode: ONE_ROW_PER_ENTITY_FORECAST_POINT
Holdout period:
- Name: Holdout_eval
- Start: 2016-04-01
- End: 2016-05-23
- Target Observation Count: 50,000
- Purpose: Validation-Test
- Mode: ONE_ROW_PER_ENTITY_FORECAST_POINT

-
Submit the forecast automation request and wait for it to complete.

Step 3: Verify Observation Tables¶
Check successful creation by reviewing the Observation Table Catalog.

The following tables should be available:
| Table | Period | Purpose |
|---|---|---|
| Training | 2012-03-01 to 2016-01-01 | Training |
| Validation_eval | 2016-01-01 to 2016-04-01 | Validation-Test |
| Holdout_eval | 2016-04-01 to 2016-05-23 | Validation-Test |
Step 4: Set Default EDA Table¶
Once the observation tables are created, set the training table as the default EDA table:
- Navigate to the Use Case Catalog and select your use case.
- In the 'About' tab, set Training as the default EDA table.
