Nori-Rel turns prediction queries over relational databases into results, handling data preparation and feature construction with Nori's pretrained foundation model.
Why is prediction on relational databases hard?
The challenge of predicting from a relational database starts with finding the right information across multiple tables, extracting it, and engineering useful features before making predictions. That preparation takes work even with a pretrained model, and much of it has to be revisited for each new question.
Even one model is a substantial project. Consider a question like “How much will each customer spend next month?” The relevant information is spread across customers, orders, products, and other tables. A data science team must connect those records, engineer useful features, and reconstruct historical examples: what was known about each customer at a given time, and what they spent afterward.
Teams often maintain separate pipelines for retrieving data, engineering features, and training and evaluating the model. After deployment, those pipelines need maintenance, and the model needs monitoring and retraining as conditions change.
The work multiplies when you need more models. Customer spend, churn, product demand, and delivery delays each introduce different targets, features, and validation needs. Twenty prediction tasks can mean twenty bespoke workflows to build and maintain. Shared infrastructure helps, but adding a new question still requires task-specific data science work.
Making relational prediction easier means reducing both the effort to answer the first question and the additional work needed to answer the next twenty.
What is Nori-Rel, and who is it for?
Nori-Rel is a Python client purpose-built for prediction on your relational database, powered by Nori, Synthefy's structured data foundation model. Developers and data teams express a prediction question in a simple query. Nori-Rel follows relationships across tables, extracts relevant data, and builds features and historical examples for Nori to use in making predictions.
No manual feature engineering
Automatically builds features from related tables in supported relational databases.
No model training
Pretrained Nori uses your historical data as context. No task-specific training or fine-tuning.
Predictions on demand
Use a query for customer spend, product demand, or other numeric outcomes.
Nori-Rel shares the same query language as Kumo AI: Predictive Query Language (PQL), developed by Kumo AI. Our PQL support incorporates the open-source grammar and generated parser from Kumo Relational Client, released under the Apache 2.0 license.
Here’s how you can predict customer spend with Nori-Rel:
1predictions = nori_rel_client.predict(
2 query="PREDICT SUM(orders.amount, 0, 30, days) FOR EACH users.user_id",
3 anchor_time=datetime(2026, 3, 1, tzinfo=UTC),
4)This predicts each user's total order amount for the 30 days starting March 1. The anchor time is the point from which the prediction looks forward.
Tabular foundation models make this workflow possible. Nori is already pretrained: it uses the historical examples as context to make predictions, without training a separate model for each task. Developers and data teams define the question and evaluate the predictions, while Nori-Rel handles the data preparation, feature construction, and model inference behind the query.
Nori-Rel does not include or require an AI agent. Teams that restrict agent access to databases containing sensitive or personally identifiable information can use Nori-Rel in an approved Python application or data pipeline without giving a coding agent database credentials. Agent integration is optional.
How does it work behind the scenes?
Nori-Rel turns related database records into a table that Nori can use for prediction. Each row describes one entity, such as a customer, at a particular anchor time.
From linked tables to a prediction
Predict each customer’s total spend over the next 30 days.
Relational database
Snapshot before 1 Mar 2026. Matching IDs link the tables.
users user_id name U1 Ava U2 Noah orders user_id product_id amount / date U1 P1 $20 U1 P2 $40 U2 P1 $30 products product_id unit_price P1 $10 P2 $20 orders.user_id links to users.user_id. orders.product_id links to products.product_id.
Deep feature synthesis
Follow related records for User 1 (U1) and summarize their past activity.
Depth 1 Orders for each customer
usersordersCOUNT(orders)2 MEAN(orders.amount)$30 Depth 2 Products behind those orders
usersordersproductsMEAN(orders.products. unit_price) $15 Average product price across U1’s orders.
In-context prediction
Customer Generated features · X Next 30-day
spend · yOrders Avg. order Avg. price Historical context · U1 1 $20 $10 $40 U2 1 $30 $10 $0 Prediction queries · U1 2 $30 $15 ? U2 1 $30 $10 ? NoriPretrained modelNo task-specific training
Predicted spend
- U1
- $55
- U2
- $20
For the customer spend query, a historical example pairs what was known about a customer at an earlier anchor time with what they spent over the following 30 days. Nori-Rel follows the relationships between tables and summarizes the available records into features, such as order count and average order value. It computes the outcome from the query's future window and keeps that label separate from the input features.
How does Nori-Rel perform on RelArena?
In our model-track comparison, Nori-Rel ranked first by Elo across RelArena's nine regression tasks. These tasks span seven relational databases.
We used Nori-30M. It achieved lower mean absolute error (MAE) than TabPFN-Rel, the leading model on RelArena's published model leaderboard, on seven of the nine tasks. It also had lower MAE than TabPFN 3.5 on six of the nine tasks.
RelArena regression
Model submission track · 9 tasks
| Metric / task | Nori-Rel | TabPFN 3.5 | TabPFN-Rel | GraphSAGE | RDBLearn |
|---|---|---|---|---|---|
| Elo ↑ | 1,795.2 | 1,683.8 | 1,620.2 | 1,540.8 | 1,433.6 |
| MAE ↓ | |||||
| rel-amazon/ | 43.707507 | 46.408968 | 46.768181 | 49.245337 | 48.997527 |
| rel-amazon/ | 14.142816 | 14.207880 | 14.358212 | 14.415321 | 14.577540 |
| rel-avito/ | 0.032058 | 0.031136 | 0.031080 | 0.038966 | 0.034103 |
| rel-event/ | 0.240323 | 0.244157 | 0.243944 | 0.245018 | 0.242215 |
| rel-f1/ | 3.883778 | 3.762567 | 3.769181 | 4.011112 | 3.888649 |
| rel-hm/ | 0.043779 | 0.059241 | 0.060507 | 0.055153 | 0.067132 |
| rel-stack/ | 0.065078 | 0.067603 | 0.067882 | 0.064898 | 0.067719 |
| rel-trial/ | 0.412334 | 0.409433 | 0.412624 | 0.324851 | 0.485833 |
| rel-trial/ | 30.874761 | 42.438369 | 39.753674 | 44.315261 | 44.026705 |
What does this look like in practice?
Coding agents can take on the data science workflow—from preparing data and engineering features to training and evaluating models. But having an agent build a custom pipeline for every question still takes time and compute.
With a pretrained foundation model like Nori, the agent can express the prediction task in a simple query and let Nori-Rel handle the work behind it. How much does that change the agent's efficiency?
The clinical-trials results below compare these two approaches: Claude building a custom pipeline, and Claude using Nori-Rel.
Clinical-trials predictions
| Metric | Without Nori-Rel | With Nori-Rel |
|---|---|---|
| Time to final predictions | 25 minutes | 5.3 minutes |
| Total tokens | 9.53 million | 2.28 million |
| Held-out MAE | 30.87 | 30.27 |
In this run, Nori-Rel cut both time and token usage while slightly improving prediction accuracy.
How to get started
To try Nori-Rel with your database, contact our team.

