> ## Documentation Index
> Fetch the complete documentation index at: https://client-integrations-api-dev.sequen.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Training data

> How your catalog, events and orders reach hosted RRI as a daily batch feed, and how a dataset is pinned to a session.

RRI trains on the same daily batch feed that other Sequen integrations use. If you already send Sequen a batch feed, you do not build a second integration for RRI. Sequen uses the same feed to update the training datasets available to your Model Classes.

This page covers the feed and how it becomes a dataset. For field-level detail on the files themselves, see [Uploading & managing your data](https://client-integrations-api-dev.sequen.ai/api-reference/data-management.md).

## The feed

The feed arrives in two stages.

| Stage | What | Result |
| - | - | - |
| **1. Historical batch** | A one-time export covering 60 days or more | A data quality report, and a joint sign-off before any pipeline work |
| **2. Daily incremental feed** | Backfill to the present, then the same tables every day | Fresh data for daily training. A permanent pipeline, not a one-time dump |

Typical contents:

* **Item catalog:** attributes, price and ratings.
* **Events and impressions:** what users saw and what they did.
* **Ranking logs:** requests and results from your current ranker.
* **Transactions:** purchases, with cancellations.

## How the files travel

**1. Your data warehouse**

Source tables and views.

**2. Daily export job**

One run per day, on your scheduler.

**3. Staging bucket**

One folder per day, in your cloud, with a 14 to 30 day expiry.

**4. Managed transfer**

Sequen reads the staging bucket with a read-only role or key that you create.

**5. Sequen storage**

Files are validated and stored in Sequen's AWS environment, where training reads them.

Your Sequen contact gives you what you need to grant access, such as a role ARN for AWS or a service account for Google Cloud. Grant read access to a prefix and not the whole bucket.

## Feed design rules

A feed that follows these rules is easy to operate and rarely breaks:

1. **One job for history and daily.** Backfill by running the daily job over past dates.
2. **Rerunnable days.** A rerun replaces the whole day, with no leftover files.
3. **A completion signal.** A success marker or notification for each finished day.
4. **A published schema.** Columnar files such as Parquet, with notice before breaking changes.
5. **Explicit timestamps.** UTC or a stated time zone, and a note on the late-conversion window.
6. **Shared join keys.** The same user, item, session and impression ids in every table.

Join failures are the most common problem. Watch for ids that are hashed in one feed and raw in another, analytics ids that differ from server ids, a high share of new signed-out devices, and no device link at sign-in.

## Data handling

* **In scope:** pseudonymous user, session and device ids; item, event and transaction fields; coarse location, unless the user searched for a place.
* **Never sent:** names, emails, phone numbers, payment data or IP addresses.
* **Protection:** encryption in transit and at rest, and read-only, least-privilege roles.
* **Transfer:** buckets or approved stores only. No email.
* **End of engagement:** deletion on request, in writing.

## From feed to dataset

A **dataset** is the data a Model Class trains on. A Model Class names a dataset by a key your code refers to and a storage path. A session pins one dataset by key when it starts, and Sequen places the data on the GPU machine for each run before your entry point runs.

Your training code reads from the dataset it is given. It does not fetch data over the network, because the machine has no internet access. See [Model support](https://client-integrations-api-dev.sequen.ai/rri/model-support.md#the-training-environment).

Which feed tables become the dataset, and how they are filtered or combined, is agreed with your Sequen contact during onboarding. A large daily feed is normally prepared before training, so the dataset holds what the model needs and not every raw table.

## Check that it works

Start a short session on the Model Class. Data is staged before your entry point runs, so a missing permission or path shows up in the session's first step and names the path it could not read.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.