Loading detailed reference …
Data dictionary: Statement of Reason fields
Every column in the EU's daily Statement of Reason (SoR) export, with whether it is kept in the open-dsa database, whether it carries into the slim dataset (the fast per-day-country table behind the Metabase dashboards), its DSA requirement level, data type, fill rate in our sample, and a short description. The flowchart's last group also lists the fields the slim adds on top of the raw data. Hover any card for the description; click to jump to the matching theme in the detailed reference below.
Loading …
In the open-dsa database
field_in_db
field_dropped
Light green background = kept in our database (queryable in Metabase).
White card with a dashed border = dropped at ingest (free-text or near-empty
columns we strip out before storing).
In the slim dataset
field_in_slim
field_added
Dark green band along the top = this field is carried into the slim
per-day-country table that powers the fast Metabase dashboards.
The blue-grey cards (also banded) in the
Enriched (added in the slim) group at the bottom are
8 fields that do not exist in the raw EU data: derived buckets, joins
from the open-dsa platform register, and the SoR counts.
DSA requirement level (symbol shown in the top-right corner of each card)
■Required
◆1 of 4 actions
▲Conditional
○Optional
✶EU-assigned
Required: must be filled in every SoR.
1 of 4 actions: at least one of
decision_visibility, decision_monetary, decision_provision, or decision_account must be filled per SoR; each individual one is otherwise optional.
Conditional: required only when its parent field has a specific value (shown on the card).
Optional: the platform may leave it blank.
EU-assigned: populated by the European Commission's database on ingest, not submitted by platforms (uuid, platform_name, created_at).
Fill rate
75%
The thin blue bar at the bottom of each card shows what share of rows in the
7-million-row sample have a non-empty value for that field. 100% means it
is filled in every SoR; very low percentages mean the column is rarely
populated in practice (often because only a few platforms send it, or
because it is tied to a rare conditional trigger).
↓ Detailed reference (grouped by theme, with inspection notes)