Skip to content
Published studies are shown for demonstration purposes, not because they are good or bad research. Demonstrator · items marked Example are invented · what exists today
Search

How does GDP per capita in purchasing power standards vary across the EU's NU...

How this study was produced: every step of the run with the file it wrote, and everything the run used, pinned to the exact version. The address of this page is derived from its content: if anything below changed, the address would change.

DossierDemonstrationVersion 1 of the studyOpen the study
Dossiersha256:b233c2827f0bb5ea28f2816276642488395ea8f77c889b923e96ee197fb78314
Dossier as JSON

Paper, data and code of the study

  • Paper
    Not public.

  • Data
    Not public.

    Some of the data come from Eurostat GISCO. Its terms allow non-commercial use only, with the notice '© EuroGeographics for the administrative boundaries' on every map, so the data stay with the source.Get the data from the source (its terms), or load them yourself with e2er-data gisco.

    For the other data of the study, ask the authors.

  • Code
    Not public.

Run settings

e2er
version 0.16.1 · code at
Template
spatial-analysis · single pass
Governance
full
AI backend
claude_code
Models
claude_code/sonnet
Exported
20261015
Sessions
3 sessions · listed with the workflow
Outcome
Completed · 2026-10-14 17:57 UTCe2er's internal quality review: 5.9 of 10
e2er code
no local changes at run time

Input data

SHA-256 of the data files, as recorded in the study's provenance.

4 data files with their hash values
  • ·data/data.db 203608577d42
  • ·data/data_dictionary.json 1adbc1ae6fd2
  • ·data/data_sources.json 48cf17876f49
  • ·data/data_summary.md c59811c7c668

Data used

Eurostat database (dissemination API), European Commission · 2 loads · release 2026-02-10T11:00:00+0100, 2026-08-28T23:00:00+0200 · read 2026-10-14
Eurostat nama_10r_2gdp: Gross domestic product (GDP) at current market prices by NUTS 2 region (unit=PPS_EU27_2020_HAB, nuts2), 2015–2024 · release 2026-02-10T11:00:00+0100, read 2026-10-14 · table gdp_pps_nuts2 https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/nama_10r_2gdp?lang=en&unit=PPS_EU27_2020_HAB&geoLevel=nuts2&sinceTimePeriod=2015&untilTimePeriod=2024 66a967d8dcd4 Cite: Eurostat, Gross domestic product (GDP) at current market prices by NUTS 2 region (nama_10r_2gdp). Source: https://doi.org/10.2908/NAMA_10R_2GDP, 2026-10-14. Customised version: Source: https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/nama_10r_2gdp?lang=en&unit=PPS_EU27_2020_HAB&geoLevel=nuts2&sinceTimePeriod=2015&untilTimePeriod=2024, 2026-10-14.
Eurostat demo_r_d2jan: Population on 1 January by age, sex and NUTS 2 region (sex=T, age=TOTAL, nuts2), 2024–2024 · release 2026-08-28T23:00:00+0200, read 2026-10-14 · table pop_nuts2 https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/demo_r_d2jan?lang=en&sex=T&age=TOTAL&geoLevel=nuts2&sinceTimePeriod=2024&untilTimePeriod=2024 47717976e804 Cite: Eurostat, Population on 1 January by age, sex and NUTS 2 region (demo_r_d2jan). Source: https://doi.org/10.2908/DEMO_R_D2JAN, 2026-10-14. Customised version: Source: https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/demo_r_d2jan?lang=en&sex=T&age=TOTAL&geoLevel=nuts2&sinceTimePeriod=2024&untilTimePeriod=2024, 2026-10-14.

Terms Reuse for commercial or non-commercial purposes is authorised provided the source is acknowledged; data of non-Eurostat sources and of countries outside the EU, EFTA and candidate countries may be reused non-commercially only. Modified data must say so. Full terms

GISCO geographical data (NUTS regions, countries), Eurostat · 1 load · release NUTS 2024 · read 2026-10-14
NUTS 2 regions, NUTS 2024, 1:20 million, EPSG:3035 · release NUTS 2024, read 2026-10-14 · table nuts2_boundaries https://gisco-services.ec.europa.eu/distribution/v2/nuts/geojson/NUTS_RG_20M_2024_3035_LEVL_2.geojson d1d2bfbc44c7

Terms Use and processing for non-commercial purposes, with the source acknowledged and the notice '© EuroGeographics for the administrative boundaries' on every map and publication; the files may not be passed on. Full terms

Cite Eurostat, GISCO. Territorial units for statistics (NUTS), boundaries. European Commission. https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units/territorial-units-statistics. © EuroGeographics for the administrative boundaries.

The source publishes no citation format; e2er records this one.

References (8)

The works the paper cites, as the dossier records them: 0 from the authors' papers, 3 found on the web by the literature search, 5 method sources from the template.

A method source is a work the template credits for a method it uses. e2er adds it to the study's bibliography; the paper cites the ones its study used.

  1. Eurostat Database found on the web
  2. Multispeed Europe: human development index convergence clubs across subnational regions (2026) found on the web · doi:10.1080/00343404.2026.2632887
  3. Notes on Continuous Stochastic Phenomena (1950) method source · doi:10.2307/2332142
  4. Local Indicators of Spatial Association—LISA (1995) method source · doi:10.1111/j.1538-4632.1995.tb00338.x
  5. The Analysis of Spatial Association by Use of Distance Statistics (1992) method source · doi:10.1111/j.1538-4632.1992.tb00261.x
  6. GISCO: Territorial units for statistics (NUTS), boundaries found on the web
  7. The Modifiable Areal Unit Problem (Concepts and Techniques in Modern Geography 38) (1984) method source
  8. Spatial Econometrics: Methods and Models (1988) method source · doi:10.1007/978-94-015-7799-1

e2er's internal quality review

Six reviewer specialists each score the draft from one angle, on a scale of 0 to 10. The score in the middle is the weighted average of these scores, with the weights in the table.

data 5.5 methods 6.0 plausibility 6.0 technical 5.5 writing 6.5 5.9 of 10

5.9 of 10

Each reviewer's score and weight
ReviewerScoreWeight
data5.51.25
methods6.01.5
plausibility6.01
technical5.51
writing6.50.75

Workflow (29 steps)

The run in order, from the run's own record. The run was carried out in 3 sessions. How to read it

A session is one e2er process, from a start or a resume to the next stop, and each session names the e2er version and commit its steps ran on. Each specialist step shows the model, the file it wrote and the file's hash value (SHA-256). Where the run did not record the hash value, the step says so: the last step that wrote a file shows the hash value of the file at export, and earlier steps that wrote the same file are marked as superseded. Checks that stopped a step are listed where they happened: 4 here. Steps taken by the researcher (2 here) are marked with a grey dot. Stops, pauses and failures of the run are marked with a ring, at their time.

Session 1 of 3 2026-10-14 17:35–17:47 UTC · e2er 0.16.1 · 17 steps · data architect, data analyst, idea developer and 3 more · 1 researcher action · 4 checks failed · Run stopped for the researcher's review (initial)
  1. Run: backend identity · 17:35
  2. Run: method sources · 17:35
  3. Initial
  4. data architect · sonnet · 17:36–17:37 data/data_dictionary.json 5a9208e672afdesign/spatial_design.json bb5dec86615e
  5. Run: attempt usage · 17:37
  6. Check: contracts failed, step stopped
    What the check founddata.db: data_dictionary.json declares tables that were not loaded — loaded without values: gdp_pps_nuts2.flag: 535 of 2826 non-null (needs 90%); nuts2_boundaries.mount_type: 263 of 299 non-null (needs 90%); nuts2_boundaries.urbn_type: 260 of 299 non-null (needs 90%); nuts2_boundaries.coast_type: 260 of 299 non-null (needs 90%); pop_nuts2.flag: 35 of 292 non-null (needs 90%). Tables in data.db: gdp_pps_nuts2 (2826 rows), gdp_pps_sample (236 rows), nuts2_boundaries (299 rows), pop_nuts2 (292 rows). Load each series with `e2er-data ... --table <name>`; a table whose values are NULL was not loaded (check the connector's error, e.g. an API key).
  7. data analyst · sonnet · 17:37–17:39 data/data_summary.md c59811c7c668results/summary_statistics.json 45bcffb1da06results/figure_spec.json e46671dadfbb
  8. Run: attempt usage · 17:39
  9. data analyst · sonnet · 17:39–17:39 data/data_summary.md c59811c7c668 (unchanged by this step)results/summary_statistics.json 45bcffb1da06 (unchanged by this step)results/figure_spec.json e46671dadfbb (unchanged by this step)
  10. Check: spatial design passed
  11. Run: attempt usage · 17:39
  12. idea developer · sonnet · 17:39–17:40 design/paper_plan.md 3c700e61734f
  13. Run: attempt usage · 17:40
  14. literature scanner · sonnet · 17:39–17:41 design/literature_review.md 349c50d088e4
  15. Run: attempt usage · 17:41
  16. Check: contracts failed, step stopped
    What the check foundestimation_results.json: spatial results contract: spatial_statistics.moran_gdp_knn5_all244.expected -0.004115 is not -1/(n_units - 1) = -0.00425532; spatial_statistics.sens_drop_Ireland.expected -0.00431 is not -1/(n_units - 1) = -0.00425532; spatial_statistics.sens_drop_top5.expected -0.004348 is not -1/(n_units - 1) = -0.00425532; spatial_statistics.sens_drop_capital_regions.expected -0.004808 is not -1/(n_units - 1) = -0.00425532. This study reports spatial statistics and maps; write estimation_results.json as the data/spatial-results-schema skill specifies (from the script that computes it, never by hand).
  17. econometrics specialist · sonnet · 17:41–17:43 design/econometric_spec.md c9ae7522be88results/estimation_results.json 80bf50130e41
  18. Run: attempt usage · 17:43
  19. econometrics specialist · sonnet · 17:43–17:44 design/econometric_spec.md c9ae7522be88 (unchanged by this step)results/estimation_results.json 1f5f94010725
  20. Check: spatial results failed, step stopped
    What the check found(g) spatial_statistics.moran_gdp_knn5_all244: the reported Moran's I 0.27593 does not follow from spatial_units.csv and spatial_weights.csv (e2er computes 0.3705); (g) spatial_statistics.sens_drop_LU00: the reported Moran's I 0.41101 does not follow from spatial_units.csv and spatial_weights.csv (e2er computes 0.3705); (g) spatial_statistics.sens_drop_Ireland: the reported Moran's I 0.34177 does not follow from spatial_units.csv and spatial_weights.csv (e2er computes 0.3705); (g) spatial_statistics.sens_drop_top5: the reported Moran's I 0.42921 does not follow from spatial_units.csv and spatial_weights.csv (e2er computes 0.3705); (g) spatial_statistics.sens_drop_capital_regions: the reported Moran's I 0.6227 does not follow from spatial_units.csv and spatial_weights.csv (e2er computes 0.3705); (g) spatial_statistics.sens_within_country_demeaned: spatial_units.csv has no column gdp_pps minus national population-weighted mean; clusters.method needs a whole count
  21. Run: attempt usage · 17:44
  22. econometrics specialist · sonnet · 17:44–17:44 design/econometric_spec.md c9ae7522be88 (unchanged by this step)results/estimation_results.json ee650d15050e
  23. Check: spatial results passed
  24. Run: attempt usage · 17:44
  25. Run: drafter sent out · 17:44 no draft after the initial phase
  26. Check: contracts failed, step stopped
    What the check foundpaper_draft.tex: 2 construction(s) the researcher does not accept in a paper: "Against this background" in: Against this background, this paper asks how GDP per capita in PPS varies across EU NUTS-2 regions in 2024 and how strongly regions with high and low values cluster in space. (pivot to the contribution directly (for instance: To keep these quantities apart, we propose ...)); "rather than" in: Capital regions are typically income peaks surrounded by poorer neighbours, so they lower rather than create autocorrelation, and the clustering that remains is that of the broad, contiguous income belts. (state the positive claim and stop). Rewrite each of these sentences without the construction; keep its content
  27. paper drafter · sonnet · 17:44–17:46 paper/paper.tex 1910d43eba8bresults/table_spec.json 127b8bd0a97e
  28. Run: attempt usage · 17:46
  29. paper drafter · sonnet · 17:46–17:46 paper/paper.tex e6ddc6dc10f4results/table_spec.json 127b8bd0a97e (unchanged by this step)
  30. Run: attempt usage · 17:46
  31. Run stopped for the researcher's review (initial) · 17:46
  32. Researcher sent back paper drafter · 17:47 Corrections to paper_draft.tex, no new analysis: (1) Title: 'Rich Cores and Poor Peripheries' contradicts the paper's own finding (the clustering is national blocks; within countries none). Use a plain descriptive title, e.g. 'Spatial clustering of GDP per inhabitant across EU NUTS-2 regions, 2024'. (2) Abstract: there are three alternative weights (5 and 8 nearest neighbours, inverse distance), not four; the abstract's local clusters are uncorrected - add that after the false discovery rate correction 22 remain (20 low-low, one high-high, one high-low). (3) Introduction: 'the richest tenth of regions earns roughly 2.4 times the income of the poorest tenth' is wrong; say the 90th percentile is 2.4 times the 10th. (4) Local clusters: delete 'because the richest regions are fewer and more heterogeneous' (not tested). (5) Capital regions: the 27 dropped include whole single-region countries (EE00, LV00, LU00, CY00, MT00), and the drop leaves 3 regions without a neighbour (1 in the top-five variant); say both, and present 'income peaks surrounded by poorer neighbours' as a reading, not a finding. (6) Discussion: the demeaned Moran's I (0.020, p = 0.6) shows that regions' deviations from their national mean are not clustered; it does not test cross-border gradients - rewrite the sentence about 'cross-border gradients that a smooth core-periphery narrative would imply'. (7) Data: name the datasets (nama_10r_2gdp, unit PPS_EU27_2020_HAB; demo_r_d2jan) and add the sentence Eurostat's terms ask for: the statistics are computed by the authors from Eurostat data; Eurostat is not responsible for them. Keep the EuroGeographics notice in every map caption.
Session 2 of 3 2026-10-14 17:47–17:48 UTC · e2er 0.16.1 · 2 steps · paper drafter · 1 researcher action · Run stopped for the researcher's review (initial)
  1. Run: backend identity · 17:47
  2. Initial
  3. paper drafter · sonnet · 17:47–17:48 Run again after the researcher sent it back paper/paper.tex d954a0cf0922results/table_spec.json 127b8bd0a97e (unchanged by this step)
  4. Run: attempt usage · 17:48
  5. Run stopped for the researcher's review (initial) · 17:48
  6. Researcher approved initial · 17:48
Session 3 of 3 2026-10-14 17:48–17:57 UTC · e2er 0.16.1 · 10 steps · writing reviewer, data reviewer, methods reviewer and 4 more · Run: attempt usage
Estimation gate 1 step · 17:48
  1. Check: estimation passed
Review 7 steps · writing reviewer, data reviewer, methods reviewer and 2 more · 17:48–17:54 · Run: attempt usage
  1. Check: numbers passed
  2. Run: backend identity · 17:48
  3. Check: citations passed
  4. writing reviewer · sonnet · 17:48–17:50 reviews/review_writing.md b4c409a5e1d2
  5. Run: attempt usage · 17:50
  6. data reviewer · sonnet · 17:48–17:51 reviews/review_data.md a1eec9648412
  7. Run: attempt usage · 17:51
  8. methods reviewer · sonnet · 17:50–17:52 reviews/review_methods.md d3558f7cdfe6
  9. Run: attempt usage · 17:52
  10. technical reviewer · sonnet · 17:48–17:52 reviews/review_technical.md 5e1621f15c2a
  11. Run: attempt usage · 17:52
  12. plausibility reviewer · sonnet · 17:51–17:54 reviews/review_plausibility.md ba390a1cd975
  13. Run: attempt usage · 17:54
Revision 1 step · patch revisor · 17:54–17:56 · Run: attempt usage
  1. patch revisor · sonnet · 17:54–17:56 misc/paper_draft.tex.edits.json b2ad111b1f1f
  2. Run: attempt usage · 17:56
Replication 1 step · replication packager · 17:56–17:57 · Run: attempt usage
  1. replication packager · sonnet · 17:56–17:57 replication/estimation.py c5cf6c61dd8f
  2. Run: attempt usage · 17:57

The run ended: completed · 2026-10-14 17:57 UTC

What it was built with (56)

Each part with its authors and the version used. e2er parts are pinned by git's content hash of their file at the commit above; follow a link to read that exact version.

Templates (1)

· by e2er authors
TemplateByPinned version
spatial-analysise2er authors unresolved: the run recorded no E2ER commit

Specialists (13)

· by e2er authors
SpecialistByPinned version
data_analyste2er authors unresolved: the run recorded no E2ER commit
data_architecte2er authors unresolved: the run recorded no E2ER commit
data_reviewere2er authors unresolved: the run recorded no E2ER commit
econometrics_specialiste2er authors unresolved: the run recorded no E2ER commit
idea_developere2er authors unresolved: the run recorded no E2ER commit
literature_scannere2er authors unresolved: the run recorded no E2ER commit
methods_reviewere2er authors unresolved: the run recorded no E2ER commit
paper_draftere2er authors unresolved: the run recorded no E2ER commit
patch_revisore2er authors unresolved: the run recorded no E2ER commit
plausibility_reviewere2er authors unresolved: the run recorded no E2ER commit
replication_packagere2er authors unresolved: the run recorded no E2ER commit
technical_reviewere2er authors unresolved: the run recorded no E2ER commit
writing_reviewere2er authors unresolved: the run recorded no E2ER commit

Skills (41)

· by e2er authors
SkillByPinned version
researchere2er authors unresolved: the run recorded no E2ER commit
cleaninge2er authors unresolved: the run recorded no E2ER commit
data-tablese2er authors unresolved: the run recorded no E2ER commit
eurostate2er authors unresolved: the run recorded no E2ER commit
exoplanetse2er authors unresolved: the run recorded no E2ER commit
figure-spece2er authors unresolved: the run recorded no E2ER commit
frede2er authors unresolved: the run recorded no E2ER commit
gaiae2er authors unresolved: the run recorded no E2ER commit
giscoe2er authors unresolved: the run recorded no E2ER commit
githube2er authors unresolved: the run recorded no E2ER commit
gmde2er authors unresolved: the run recorded no E2ER commit
gutenberge2er authors unresolved: the run recorded no E2ER commit
nasa_powere2er authors unresolved: the run recorded no E2ER commit
naturalearthe2er authors unresolved: the run recorded no E2ER commit
noaae2er authors unresolved: the run recorded no E2ER commit
owide2er authors unresolved: the run recorded no E2ER commit
query-datae2er authors unresolved: the run recorded no E2ER commit
spatial-results-schemae2er authors unresolved: the run recorded no E2ER commit
spatial-statisticse2er authors unresolved: the run recorded no E2ER commit
summary-statistics-schemae2er authors unresolved: the run recorded no E2ER commit
table-spece2er authors unresolved: the run recorded no E2ER commit
usgse2er authors unresolved: the run recorded no E2ER commit
who_ghoe2er authors unresolved: the run recorded no E2ER commit
worldbanke2er authors unresolved: the run recorded no E2ER commit
yfinancee2er authors unresolved: the run recorded no E2ER commit
panel-datae2er authors unresolved: the run recorded no E2ER commit
anti-slope2er authors unresolved: the run recorded no E2ER commit
creative-ideatione2er authors unresolved: the run recorded no E2ER commit
noveltye2er authors unresolved: the run recorded no E2ER commit
consistency-checke2er authors unresolved: the run recorded no E2ER commit
data-qualitye2er authors unresolved: the run recorded no E2ER commit
domain-plausibilitye2er authors unresolved: the run recorded no E2ER commit
methods-reviewe2er authors unresolved: the run recorded no E2ER commit
technical-reviewe2er authors unresolved: the run recorded no E2ER commit
writing-qualitye2er authors unresolved: the run recorded no E2ER commit
context-buildere2er authors unresolved: the run recorded no E2ER commit
replication-packagee2er authors unresolved: the run recorded no E2ER commit
cite-numbers-by-sourcee2er authors unresolved: the run recorded no E2ER commit
paper-structuree2er authors unresolved: the run recorded no E2ER commit
personal-stylee2er authors unresolved: the run recorded no E2ER commit
scoped-revisione2er authors unresolved: the run recorded no E2ER commit

Connectors (1)

· by e2er authors
ConnectorByPinned version
claude-codee2er authors unresolved: the run recorded no E2ER commit

Sources of the template “spatial-analysis”

The work the template of this run is based on, draws from or cites, as the template file names it. A source says where an idea came from; it does not say its authors endorse this study.

Methods

P. A. P. Moran (1950). Notes on Continuous Stochastic Phenomena. Biometrika 37(1/2), 17-23.

Luc Anselin (1995). Local Indicators of Spatial Association—LISA. Geographical Analysis 27(2), 93-115.

Luc Anselin (1988). Spatial Econometrics: Methods and Models. Springer Netherlands (Kluwer), Studies in Operational Regional Science.

Arthur Getis and J. K. Ord (1992). The Analysis of Spatial Association by Use of Distance Statistics. Geographical Analysis 24(3), 189-206.

Stan Openshaw (1984). The Modifiable Areal Unit Problem (Concepts and Techniques in Modern Geography 38). Geo Books, Norwich. ISBN 0-86094-134-5 (no DOI).

Cite e2er with this dossier

A paper produced with e2er gives one reference for e2er: this dossier. It credits everyone listed above.

@misc{e2er-b233c2827f0bb5ea,
  title        = {e2er dossier for "How does GDP per capita in purchasing power standards vary across the EU's NU..."},
  author       = {{e2er}},
  year         = {2026},
  howpublished = {\url{https://e2er.org/d/b233c2827f0bb5ea}},
  note         = {Workflow, templates, specialists, skills, connectors and models used, pinned by content hash. Dossier sha256:b233c2827f0bb5ea28f2816276642488395ea8f77c889b923e96ee197fb78314}
}