Database
The project database
Download contestability.dbSQLite · 10.5 MB · built 2026-09-24 21:53 UTC
Start here
Each question opens the table that answers it, with its filters set.
- What is each jurisdiction’s De Jure index?Index scores · v_index · 9 rows
- How did each gatekeeper–market pair score before the DMA and in 2026?Index scores · v_index · 11 rows
- What is the Effective Contestability of each pair?Effective Contestability · v_effective · 6 rows
- What are the dimension scores, D1–D4?Dimension scores · v_dimension_scores · 80 rows
- What is each score based on?Every score · assessments · 320 rows
- Which legal provisions do the De Jure scores rest on?Provisions behind the De Jure scores · provision_extracts · 60 rows
- Which sources support each De Facto score?Sources behind each De Facto score · de_facto_source_links · 90 rows
- Which legal instruments bear on each jurisdiction’s scores?Legal instruments · instruments · 46 rows
What it holds
The database is a single SQLite file holding the records behind the index: the legal instruments in each jurisdiction and their official texts, the provisions each De Jure score rests on, every score in the index, De Jure and De Facto, with its factors, rationale or evidence, and the sources cited for the De Facto scores.
Scores are stored one per row, in assessments. Dimension scores, indices and Effective Contestability are not stored: the views v_dimension_scores, v_index and v_effective compute them from assessments whenever they are read.
Each table below opens in this page with Show rows: search it, filter it, sort it by any column, click a row to see all of its fields, and download the matching rows as a CSV file. The first time, the page loads the database file (10.5 MB). The same file can be downloaded and opened with any SQLite tool, such as DB Browser for SQLite or the sqlite3 command line.
Scores
Every score assessments
Every score in the index, one row per score, in three sets: De Jure at jurisdiction level (16 mechanisms in 9 jurisdictions, June 2026; 144 rows); De Jure at market level (Google Search and the Apple App Store in December 2023 and June 2026, and Google Play in June 2026; 80 rows); and De Facto (Google Search, the Apple App Store and Google Play in December 2023 and July 2026; 96 rows). A De Jure score is the minimum of its three factor scores. Each row is scored, missing (Applicable but Missing) or not_applicable; only scored rows have a score.
Columns (29)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
assessment_id | integer | key | ||
layer | text | de_jure or de_facto | ||
level | text | jurisdiction (De Jure only) or market | ||
jurisdiction | text | jurisdictions.code | ||
unit_id | text | units.unit_id | gatekeeper–market pair; empty at jurisdiction level | |
period | text | baseline (December 2023) or current | ||
observed | text | year and month observed (see periods) | ||
mechanism_id | integer | mechanisms.mechanism_id | mechanism 1–16, which is also De Facto indicator D1.1–D4.4 | |
status | text | scored, missing (Applicable but Missing) or not_applicable | ||
score | real | 0, 0.5 or 1, only when scored; De Jure: the minimum of existence, scope and enforceability | ||
existence | real | De Jure factor score | ||
scope | real | De Jure factor score | ||
enforceability | real | De Jure factor score | ||
legal_form | text | legal_forms.form_code | De Jure: form code F1–F7 or F2g | |
legal_form_label | text | De Jure, jurisdiction level: the legal-form label used in the coding | ||
basis | text | De Jure: legal basis (full name) or governing provision | ||
instrument_basis | text | De Jure, jurisdiction level: short citation | ||
rationale | text | De Jure: scoring rationale; De Facto: evidence and scoring rationale | ||
confidence | text | De Facto, scored rows: HIGH, MODERATE, LOW-MOD or LOW | ||
market_scope | text | De Jure, jurisdiction level: target market or field | ||
evidence_notes | text | De Jure, jurisdiction level: notes on the evidence | ||
pipeline | text | De Jure, jurisdiction level: the pipeline instrument, where one is tracked | ||
evidence_date | text | De Jure, jurisdiction level: date of the evidence | ||
applicability | text | De Jure, market level: direct (governs the service itself) or adjacent | ||
operative_locus | text | De Jure, market level: where the obligation operates | ||
market_hook | text | De Jure, market level: what the obligation requires in this market | ||
verbatim_extract | text | De Jure, market level: text of the governing provision | ||
source_file | text | De Jure, market level: text file the extract was taken from | ||
record_note | text | how the record was obtained, where that is not self-evident |
Dimension scores v_dimension_scores
Dimension scores, computed from assessments: for each set, jurisdiction or gatekeeper–market pair, period and dimension, the unweighted mean of the scored items, with the number of items, applicable items and scored items.
Columns (11)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
layer | text | |||
level | text | |||
jurisdiction | text | |||
unit_id | text | |||
period | text | |||
observed | text | |||
dim_id | text | |||
n_items | — | items in the dimension | ||
n_applicable | — | items that apply | ||
n_scored | — | items with a score | ||
score | — | mean of the scored items |
Index scores v_index
The index, computed from the dimension scores: the equal-weighted mean of D1–D4 for each set, jurisdiction or gatekeeper–market pair and period, given only when all four dimensions have a score. The counts of items, applicable items and scored items, and the share of applicable items scored, come with it.
Columns (11)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
layer | text | |||
level | text | |||
jurisdiction | text | |||
unit_id | text | |||
period | text | |||
observed | text | |||
index_score | — | mean of the four dimension scores | ||
n_items | — | |||
n_applicable | — | |||
n_scored | — | |||
share_scored | — | n_scored ÷ n_applicable |
Effective Contestability v_effective
Effective Contestability for each gatekeeper–market pair and period, computed from the market-level De Jure and De Facto indices under four formulas: the product (ec_multiplicative), the arithmetic mean with λ = 0.5 (ec_arithmetic), the minimum (ec_bottleneck) and the implementation gap, De Jure minus De Facto (implementation_gap). Google Play has no December 2023 De Jure record, so its baseline row has no Effective value.
Columns (11)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
jurisdiction | text | |||
unit_id | text | |||
period | text | |||
de_jure_observed | text | |||
de_facto_observed | text | |||
de_jure | — | market-level De Jure index | ||
de_facto | — | De Facto index | ||
ec_multiplicative | — | De Jure × De Facto | ||
ec_arithmetic | — | 0.5 × De Jure + 0.5 × De Facto | ||
ec_bottleneck | — | the smaller of the two | ||
implementation_gap | — | De Jure − De Facto |
Legal sources
Legal instruments instruments
The register of legal instruments bearing on the sixteen mechanisms in each jurisdiction: statutes, regulations, court remedies, conduct requirements and administrative rules, including instruments not yet enacted (is_pipeline = 1), with citation, status and a link to the official source.
Columns (8)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
instrument_id | integer | key | ||
jurisdiction | text | jurisdictions.code | ||
name | text | |||
citation | text | |||
status | text | status as recorded, with dates | ||
official_source_label | text | |||
official_source_url | text | link to the official text | ||
is_pipeline | integer | 1 = tracked but not enacted |
Legal basis of each mechanism mechanism_legal_basis
For each mechanism–jurisdiction pair that has one, the article or instrument that governs the mechanism.
Columns (3)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
mechanism_id | integer | key | mechanisms.mechanism_id | |
jurisdiction | text | key | jurisdictions.code | |
article_basis | text | article or instrument that governs the mechanism |
Legal texts collected legal_documents
The official legal texts collected for the coding: jurisdiction, instrument, language and the provisions covered, with the file each text was taken from.
Columns (8)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
doc_id | integer | key | ||
jurisdiction | text | jurisdictions.code | ||
file_stem | text | file name without extension | ||
instrument_name | text | |||
language | text | language of the text | ||
provisions_note | text | provisions covered | ||
original_path | text | original file in the project's collection of legal texts | ||
txt_path | text | extracted text file |
Full texts of the legal documents document_texts
The full text of each legal document, as extracted from the official publication; 3.8 million characters in all. The rows show the start of each text; click a row to read all of it.
Columns (2)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
doc_id | integer | key | legal_documents.doc_id | |
content | text | full text |
Provisions behind the De Jure scores provision_extracts
The operative text of the provisions the De Jure scores rest on, by mechanism and jurisdiction: the verbatim extract in the original language, a summary, and an English translation where the original is not in English.
Columns (8)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
extract_id | integer | key | ||
mechanism_id | integer | mechanisms.mechanism_id | ||
jurisdiction | text | jurisdictions.code | ||
instrument_label | text | short citation, e.g. DMA Art. 6(3) | ||
summary | text | |||
source_txt_path | text | text file the extract comes from (see legal_documents) | ||
extract_text | text | verbatim text, original language | ||
english_translation | text | where the original is not in English |
Legal coverage of each market market_coverage
For each of eleven markets in each jurisdiction: the binding instruments, the mechanisms they cover, the type of regime, the firms designated or bound, and notes.
Columns (7)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
market | text | key | ||
jurisdiction | text | key | jurisdictions.code | |
binding_instruments | text | |||
covered_provisions | text | numbers of the mechanisms covered in that market | ||
regime_type | text | type of regime | ||
designated_or_bound_firms | text | |||
notes | text |
De Facto evidence
De Facto sources de_facto_sources
The sources cited as evidence for the De Facto scores, with title and link.
Columns (3)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
source_id | integer | key | ||
title | text | |||
url | text |
Sources behind each De Facto score de_facto_source_links
Which sources support which indicator for which gatekeeper–market pair.
Columns (3)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
unit_id | text | units.unit_id | ||
mechanism_id | integer | mechanisms.mechanism_id | empty: cited for the whole observation | |
source_id | integer | de_facto_sources.source_id |
Reference tables
Jurisdictions jurisdictions
The nine jurisdictions, with a note on each one's enforcement machinery.
Columns (3)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
code | text | key | ||
name | text | |||
enforcement_note | text |
Dimensions dimensions
The four dimensions, D1–D4, shared by both layers, with the DMA obligations that the De Facto indicators of each dimension observe.
Columns (3)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
dim_id | text | key | ||
name | text | |||
dma_obligations | text | DMA obligations the De Facto indicators of the dimension observe |
Mechanisms and De Facto indicators mechanisms
The sixteen mechanisms, each in one dimension and each matched to one De Facto indicator (code D1.1–D4.4).
Columns (6)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
mechanism_id | integer | key | ||
name | text | |||
description | text | the contestability channel | ||
dim_id | text | dimensions.dim_id | ||
code | text | De Facto indicator code | ||
indicator | text | De Facto indicator |
Gatekeeper–market pairs units
The three gatekeeper–market pairs observed at market level: Alphabet in online search, and Apple and Alphabet in app distribution, all designated on 6 September 2023.
Columns (6)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
unit_id | text | key | ||
gatekeeper | text | |||
service | text | |||
market | text | |||
jurisdiction | text | jurisdictions.code | ||
designation_date | text | date of the DMA designation |
Observation dates periods
The observation dates for each layer and level: June 2026 for De Jure, July 2026 for De Facto, and December 2023 for the pre-DMA baseline at market level.
Columns (5)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
layer | text | key | ||
level | text | key | ||
period | text | key | ||
observed | text | year and month observed | ||
description | text |
Legal forms legal_forms
The eight legal forms used to classify instruments (F1–F7 and F2g), with definitions, examples and each form's typical Existence, Scope and Enforceability scores.
Columns (4)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
form_code | text | key | ||
name | text | |||
definition_examples | text | definition and examples | ||
typical_signature | text | typical (E, S, Enf) scores |
Legal-form labels legal_form_map
How the legal-form labels in the De Jure coding (legal_form_label in assessments) map to the form codes.
Columns (2)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
label | text | key | ||
form_code | text | legal_forms.form_code |
Search index and build record
Full-text search index search_index
A full-text index (SQLite FTS5) over the legal documents, the provision extracts, the market-level De Jure extracts and the De Facto evidence, for searching all of that text at once.
Columns (5)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
kind | — | legal_document, provision_extract, market_provision_extract or de_facto_evidence | ||
ref | — | the row or file the text comes from | ||
jurisdiction | — | |||
title | — | |||
content | — |
This index cannot be opened in the page, because the SQLite that runs in the browser has no full-text module. Download the file to use it. The text it indexes is in document_texts, provision_extracts and assessments.
Build record database_info
When the database was built, the source files it was built from with their SHA-256 hashes, the λ used for the arithmetic Effective formula, and what was left out of the database.
Columns (2)
| Column | Type | Key | Refers to | Note |
|---|---|---|---|---|
key | text | key | ||
value | text |