Static vs. Temporal
Predictive Queries generate a training table attached to an underlying graph. Two query types control how that training data is split: static and temporal.
Static queries do not predict over a time window and do not require a time column in the target table. By default, Kumo splits rows into training, validation, and holdout sets at an 80/10/10 ratio. A time column is optional. If provided, you can distribute rows across a specific time range instead.
Example: Predicting Transaction Fraud
The following Predictive Query predicts the fraud label attached to each transaction:
Temporal queries predict an aggregation of values over a time window. For example: “purchases each customer will make over the next 7 days”. Because they involve time, data splits must be non-overlapping, properly ordered, and well-balanced to prevent data leakage that could invalidate predictions. Kumo handles this automatically by splitting data into training, validation, and holdout sets based on the time column in your target table.
For configuration guidance, refer to Specify the training, validation, and test splits.
Example: Predicting Customer Purchases Over 30 Days
The following Predictive Query predicts customers who will refrain from making a purchase over the next 30 days:
To generate training examples, Kumo samples data from multiple past time points to reconstruct how user behavior looked at each point in history. Kumo then automatically selects the best sampling and split methodology for your dataset and query, as shown below:

Kumo analyzes your Predictive Query and dataset to determine the optimal sampling rates and splits. For temporal queries, Kumo ensures:
- The holdout split occurs strictly later in time than the training split.
- The training splits are balanced in size.
This process ensures optimal model performance and eliminates errors from manual training split setup.
Example: Predicting Total Sales Over 30 Days
The following Predictive Query predicts the total sales value per customer in the next 30 days:
For this query, Kumo generates training, validation, and holdout splits based on the time range of the transactions table.
For example, if your dataset spans September 20, 2018, to September 22, 2020, Kumo will:
- Compute 30-day user spend at various past time points.
- Automatically generate the appropriate sampling and training split methodology.
This ensures that training examples are correctly distributed across the entire dataset while maintaining time-based integrity.