Data Requirements
Kumo Relational builds a graph from related tables to represent the entities in your data and the events that connect them. An entity table describes objects such as customers or products, while an event table records interactions such as orders. Prepare these tables before creating the graph so that Kumo can join records correctly and use only the history available at prediction time.
Required table characteristics
- Stable entity keys: Each entity table must have a non-null, unique primary key.
- Consistent foreign keys: Relationship columns must use compatible values and types across tables.
- Usable timestamps: Event tables must identify when each event occurred. Convert source values to a supported timestamp type before constructing the graph.
- Task-relevant history: Include events that occur before the prediction anchor time, which is the point in time when Kumo makes each prediction. Include enough labeled history to represent the task.
- Clear column meaning: Assign semantic types, which tell Kumo how to interpret each column, to distinguish identifiers, numerical measures, categories, text, timestamps, and sequences.
Graph validation can detect structural problems, but it cannot determine whether a relationship, timestamp, or historical window is appropriate for your prediction task. Review the metadata that Kumo infers from your tables before generating predictions.
Choose a data location
Choose a location based on where your prepared data already lives and how you want Kumo to access it.
For databases and warehouses, refer to the corresponding page under Connect Data Sources for information about permissions, connection parameters, and source-specific preparation. Connector-backed graphs query and sample data from the source instead of loading every source table into a DataFrame.
Prepare example tables
The following example creates two entity tables, customers and products, and one event table, orders.
The key columns use matching physical types so that Kumo can connect each order to its customer and product.
Before continuing, confirm that primary-key candidates are non-null and unique, and that related key columns use compatible physical types.
Kumo also accepts unsigned integer columns. During request preparation, nullable integer keys and identifiers larger than JavaScript’s safe-integer range retain their integer identity. Timezone-aware timestamps are converted to UTC rather than having their offsets discarded.
Next, review Data Types and Semantic Types, choose the appropriate Time and End-Time Columns, and follow the Data Preparation Best Practices. After the source data is ready, create a graph.