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 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

table · 320 rows · 29 columns

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)
ColumnTypeKeyRefers toNote
assessment_idintegerkey
layertextde_jure or de_facto
leveltextjurisdiction (De Jure only) or market
jurisdictiontextjurisdictions.code
unit_idtextunits.unit_idgatekeeper–market pair; empty at jurisdiction level
periodtextbaseline (December 2023) or current
observedtextyear and month observed (see periods)
mechanism_idintegermechanisms.mechanism_idmechanism 1–16, which is also De Facto indicator D1.1–D4.4
statustextscored, missing (Applicable but Missing) or not_applicable
scorereal0, 0.5 or 1, only when scored; De Jure: the minimum of existence, scope and enforceability
existencerealDe Jure factor score
scoperealDe Jure factor score
enforceabilityrealDe Jure factor score
legal_formtextlegal_forms.form_codeDe Jure: form code F1–F7 or F2g
legal_form_labeltextDe Jure, jurisdiction level: the legal-form label used in the coding
basistextDe Jure: legal basis (full name) or governing provision
instrument_basistextDe Jure, jurisdiction level: short citation
rationaletextDe Jure: scoring rationale; De Facto: evidence and scoring rationale
confidencetextDe Facto, scored rows: HIGH, MODERATE, LOW-MOD or LOW
market_scopetextDe Jure, jurisdiction level: target market or field
evidence_notestextDe Jure, jurisdiction level: notes on the evidence
pipelinetextDe Jure, jurisdiction level: the pipeline instrument, where one is tracked
evidence_datetextDe Jure, jurisdiction level: date of the evidence
applicabilitytextDe Jure, market level: direct (governs the service itself) or adjacent
operative_locustextDe Jure, market level: where the obligation operates
market_hooktextDe Jure, market level: what the obligation requires in this market
verbatim_extracttextDe Jure, market level: text of the governing provision
source_filetextDe Jure, market level: text file the extract was taken from
record_notetexthow the record was obtained, where that is not self-evident

Dimension scores v_dimension_scores

view · 80 rows · 11 columns

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)
ColumnTypeKeyRefers toNote
layertext
leveltext
jurisdictiontext
unit_idtext
periodtext
observedtext
dim_idtext
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

view · 20 rows · 11 columns

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)
ColumnTypeKeyRefers toNote
layertext
leveltext
jurisdictiontext
unit_idtext
periodtext
observedtext
index_score—mean of the four dimension scores
n_items—
n_applicable—
n_scored—
share_scored—n_scored ÷ n_applicable

Effective Contestability v_effective

view · 6 rows · 11 columns

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)
ColumnTypeKeyRefers toNote
jurisdictiontext
unit_idtext
periodtext
de_jure_observedtext
de_facto_observedtext
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 instruments instruments

table · 46 rows · 8 columns

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)
ColumnTypeKeyRefers toNote
instrument_idintegerkey
jurisdictiontextjurisdictions.code
nametext
citationtext
statustextstatus as recorded, with dates
official_source_labeltext
official_source_urltextlink to the official text
is_pipelineinteger1 = tracked but not enacted

table · 79 rows · 3 columns

For each mechanism–jurisdiction pair that has one, the article or instrument that governs the mechanism.

Columns (3)
ColumnTypeKeyRefers toNote
mechanism_idintegerkeymechanisms.mechanism_id
jurisdictiontextkeyjurisdictions.code
article_basistextarticle or instrument that governs the mechanism

table · 31 rows · 8 columns

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)
ColumnTypeKeyRefers toNote
doc_idintegerkey
jurisdictiontextjurisdictions.code
file_stemtextfile name without extension
instrument_nametext
languagetextlanguage of the text
provisions_notetextprovisions covered
original_pathtextoriginal file in the project's collection of legal texts
txt_pathtextextracted text file

Full texts of the legal documents document_texts

table · 31 rows · 2 columns

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)
ColumnTypeKeyRefers toNote
doc_idintegerkeylegal_documents.doc_id
contenttextfull text

Provisions behind the De Jure scores provision_extracts

table · 60 rows · 8 columns

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)
ColumnTypeKeyRefers toNote
extract_idintegerkey
mechanism_idintegermechanisms.mechanism_id
jurisdictiontextjurisdictions.code
instrument_labeltextshort citation, e.g. DMA Art. 6(3)
summarytext
source_txt_pathtexttext file the extract comes from (see legal_documents)
extract_texttextverbatim text, original language
english_translationtextwhere the original is not in English

Legal coverage of each market market_coverage

table · 99 rows · 7 columns

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)
ColumnTypeKeyRefers toNote
markettextkey
jurisdictiontextkeyjurisdictions.code
binding_instrumentstext
covered_provisionstextnumbers of the mechanisms covered in that market
regime_typetexttype of regime
designated_or_bound_firmstext
notestext

De Facto evidence

De Facto sources de_facto_sources

table · 55 rows · 3 columns

The sources cited as evidence for the De Facto scores, with title and link.

Columns (3)
ColumnTypeKeyRefers toNote
source_idintegerkey
titletext
urltext

table · 90 rows · 3 columns

Which sources support which indicator for which gatekeeper–market pair.

Columns (3)
ColumnTypeKeyRefers toNote
unit_idtextunits.unit_id
mechanism_idintegermechanisms.mechanism_idempty: cited for the whole observation
source_idintegerde_facto_sources.source_id

Reference tables

Jurisdictions jurisdictions

table · 9 rows · 3 columns

The nine jurisdictions, with a note on each one's enforcement machinery.

Columns (3)
ColumnTypeKeyRefers toNote
codetextkey
nametext
enforcement_notetext

Dimensions dimensions

table · 4 rows · 3 columns

The four dimensions, D1–D4, shared by both layers, with the DMA obligations that the De Facto indicators of each dimension observe.

Columns (3)
ColumnTypeKeyRefers toNote
dim_idtextkey
nametext
dma_obligationstextDMA obligations the De Facto indicators of the dimension observe

Mechanisms and De Facto indicators mechanisms

table · 16 rows · 6 columns

The sixteen mechanisms, each in one dimension and each matched to one De Facto indicator (code D1.1–D4.4).

Columns (6)
ColumnTypeKeyRefers toNote
mechanism_idintegerkey
nametext
descriptiontextthe contestability channel
dim_idtextdimensions.dim_id
codetextDe Facto indicator code
indicatortextDe Facto indicator

Gatekeeper–market pairs units

table · 3 rows · 6 columns

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)
ColumnTypeKeyRefers toNote
unit_idtextkey
gatekeepertext
servicetext
markettext
jurisdictiontextjurisdictions.code
designation_datetextdate of the DMA designation

Observation dates periods

table · 5 rows · 5 columns

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)
ColumnTypeKeyRefers toNote
layertextkey
leveltextkey
periodtextkey
observedtextyear and month observed
descriptiontext

table · 8 rows · 4 columns

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)
ColumnTypeKeyRefers toNote
form_codetextkey
nametext
definition_examplestextdefinition and examples
typical_signaturetexttypical (E, S, Enf) scores

table · 17 rows · 2 columns

How the legal-form labels in the De Jure coding (legal_form_label in assessments) map to the form codes.

Columns (2)
ColumnTypeKeyRefers toNote
labeltextkey
form_codetextlegal_forms.form_code

Search index and build record

Full-text search index search_index

full-text index · 203 rows · 5 columns

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)
ColumnTypeKeyRefers toNote
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

table · 8 rows · 2 columns

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)
ColumnTypeKeyRefers toNote
keytextkey
valuetext