# Synthetic sample days

Five synthetic days of large-value payment intents, for agent developers and researchers.
Each file holds one day: 500 payments between five banks.

The data is synthetic. It contains no bank data and no Fedwire transaction data. FNA's
research generator (`monitor/payment_gen.py` in the Sampo prototype) produced it with the
calibration of the Sampo dashboards. The calibration follows published Fedwire structure:
a core of five banks with a fixed network of payment relationships, payment sizes fitted
to published shares of payments above $100m, $1bn and $2bn, values from $500m up to a
cap of $5.1bn, and an intraday profile with one peak at the opening and another in the late
afternoon. About 30% of payment intents are sent at the opening, 08:00 (between 29.8% and 33.0% on these days).

The days are generator day indices 1000 to 1004. No FNA study, test or dashboard uses
these days.

The files carry no Sampo results. They hold payment intents only: no advice, no
submission times with Sampo, no peak net debit with or without Sampo, and no other
output of Sampo's rule.

Terms of use: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/).

## Files

- `banks.csv`, `banks.json`: the five banks, with their ids.
- `day-1000.csv` to `day-1004.csv`: one row per payment intent.
- `day-1000.json` to `day-1004.json`: the same rows, as `{"day", "fields", "payments"}`,
  where each payment is a list in the order of `fields`.

## Fields

Times are milliseconds after midnight, in the RTGS's local time. 28,800,000 is 08:00.

| Field | Meaning |
|---|---|
| `payment_id` | The payment's id within the day. |
| `sender_bank` | The bank that will make the payment (see `banks.csv`). |
| `receiver_bank` | The counterparty bank that will receive it. |
| `amount_cents` | The amount, in US cents. |
| `priority` | `high`, `normal` or `low`. |
| `sent_ms` | When the bank sends the payment intent to Sampo. |
| `earliest_ms` | The earliest time: the earliest the bank may submit the payment to the RTGS. In these days it equals `sent_ms`. |
| `own_time_ms` | The own time: when the bank would submit the payment without Sampo. Sampo's interface calls this field `latest_ms`. |

A payment intent is what a bank sends Sampo about a payment it will make. It is not a
payment instruction. The span from earliest time to own time is the payment's time window.
These terms follow the Sampo vocabulary.

## How the files were made

`tools/export_sample_days.py` in the website repository, run from the Sampo prototype on
16 October 2026. Day index `i` uses arrival seed `1 + i` and amount seed `1000 + i`.
