Functions of Anchor Time
Anchor time serves three key purposes:1. Using Information from the Past (Avoiding Data Leakage)
Kumo only uses information up to and including the anchor time. This mirrors how time works in the real world machine learning–you can only make predictions based on information that’s already known. For example, if the anchor time is set to 2025-10-01 00:00:00, Kumo includes all events that occurred on or before this moment as part of the training or inference data:- ✅ Events before the anchor time (e.g. 2025-09-30 23:59:59) are included.
- ✅ Events at 2025-10-01 00:00:00 are also included (the anchor point itself is known).
- ❌ Events after 2025-10-01 00:00:00, e.g. 2025-10-01 00:00:01, are not used as input–they belong to the future being predicted.
- For tables with a time column: Kumo uses the time column to include rows where time is equal or less than anchor_time.
- For tables without a time column: Kumo assumes the table represents static data (e.g., customer demographics) and includes all records.
2. Predicting the Future
Once the anchor time is set, Kumo uses it to predict what happens after that point. For instance, the following pQuery predicts the number of transactions in the next 30 days:- Events exactly at the anchor time (e.g., 2025-10-01 00:00:00) are not the prediction target (because those events are as part of the known data)
- Events exactly at the upper bound (2025-10-31 00:00:00) are included in the prediction.
3. Encoding Time Information
The anchor time also plays a critical role in encoding temporal information, both absolute and relative terms.- Relative time is calculated as the time difference between the event time and the anchor time (e.g., the number of days before the anchor time).
- Absolute time is to encode anchor time using calendar components such as year, month, day, and day of the week.
System Default Behavior of Anchor Time
1. Time Column Treatment
All time columns are automatically converted to timestamps.For example, date value 2025-10-01 becomes 2025-10-01 00:00:00.
2. Anchor time in batch prediction
If no anchor time is specified, Kumo defaults to the latest timestamp in the fact table. For instance, if your prediction is based on transaction table, the batch prediction will default to the maximum timestamp (max(timestamp)) found in that table.3. Anchor times in training example generation

Special Case: Date as Time Column
This conversion can cause subtle issues in daily-aggregated data. Example:| Time Column | customer_id | total_transactions |
|---|---|---|
| 2025-09-30 | 001 | 1 |
| 2025-10-01 | 001 | 2 |
| 2025-10-02 | 001 | 7 |
| … | … | … |
Solution: Adjusting the Anchor Time
To align your prediction window with your intended period, offset the anchor time by a small delta (e.g. 1 second). For example, set it as 2025-09-30 23:59:59 (1 second before 2025-10-01) Then:- Past data includes everything up to 2025-09-30 23:59:59.
- The prediction window becomes (2025-09-30 23:59:59,2025-10-30 23:59:59], which corresponds to predicting events from October 1–30 in your original aggregated data.