Predictive Query Structure
A Predictive Query defines a predictive modeling task in Kumo using PQL (Predictive Query Language), a SQL-like syntax that specifies:
- Target – What you want to predict.
- Entity – Who you are making predictions for.
- Filters (optional) – Constraints on which entities or data to include.

Target
The target is the outcome you want to predict, defined after the PREDICT command.
For example, to predict total purchases per user over the next 30 days, the target is “sum of purchases over the next 30 days.”
Entity
The entity is the subject of your prediction: who the prediction is being made for.
For example, if predicting total purchases per user, then the user is the entity.
Aggregation Operators
When predicting an aggregation over time (for example, total sales over 30 days), use an aggregation function with a column reference.
Example: Predicting Total Purchase Value per Customer
SUM(TRANSACTIONS.PRICE, 0, 30)→ Sums purchase values over the next 30 days.FOR EACH CUSTOMERS.CUSTOMER_ID→ Predicts for each customer.

The start boundary is exclusive and the end boundary is inclusive. For example, start=10 and end=30 aggregates from 10 days later (excluding day 10) to 30 days later (including day 30).
If you’re making the prediction on 2020-01-01 00:00:00, Kumo aggregates all rows with timestamps t where 2020-01-11 00:00:00 < t <= 2020-01-31 00:00:00.
Both start and end must be non-negative integers, and end must be greater than start.
Common Aggregation Functions
SUM()– Total value over time.COUNT()– Number of occurrences over time.
Aggregation Window (Start & End)
- The start and end parameters define the prediction window in days.
- If the prediction date is
2020-01-01:10, 30predicts transaction values from2020-01-11 to 2020-01-31.
Aggregation Units
The time unit defaults to days, but can also be:
days(default)monthshours
Filters (WHERE)
Filters refine a Predictive Query by removing irrelevant entities or restricting aggregation conditions.
For example, to predict purchases for active customers only (that is, those who made at least one transaction in the past 30 days):
Kumo supports advanced filtering, including:
- Inline filters inside aggregations
- Nested temporal filters
- Static date/time filters
- Multiple target conditions (
AND/OR)