SPB Git

spb/wp38_uqo

Public

Phase 2–3: ingestion, cleaning, siblings, matching, audits launched, preregistration frozen

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Nov 1, 2026) parent 70dce80 Browse files

63 changed files +20,001 −0

63 changed files
added Makefile +45 −0
@@ -0,0 +1,45 @@
1+# WP38 — reproducible pipeline (run from the project root; requires the authorised snapshot in data/raw/, see data/raw/README.md)
2+PY := .venv/bin/python
3+.PHONY: all env ingest clean match validate external features models robust tables figures paper test lit
4+
5+all: ingest clean match validate features models robust tables figures paper
6+
7+env:
8+ uv venv --python 3.12 .venv && uv pip install --python $(PY) -e .
9+
10+ingest:
11+ $(PY) -m src.ingest.load_snapshot
12+
13+external: # re-download public covariates and geography (manifest in data/external/)
14+ $(PY) -m src.ingest.external
15+
16+clean:
17+ $(PY) -m src.clean.listings && $(PY) -m src.clean.siblings && $(PY) -m src.clean.listings && $(PY) -m src.clean.stores && $(PY) -m src.reports.data_dictionary
18+
19+match:
20+ $(PY) -m src.features.match_products
21+
22+validate: # LLM annotations need OPENAI_API_KEY / ANTHROPIC_API_KEY in .env; labels are kept in data/processed/*.csv (never overwritten)
23+ $(PY) -m src.validation.category_audit report && $(PY) -m src.validation.match_validation report && $(PY) -m src.reports.phase2_audit
24+
25+features:
26+ $(PY) -m src.features.region_category && $(PY) -m src.features.diversity
27+
28+models:
29+ $(PY) -m src.models.h1_raa && $(PY) -m src.models.h2_scale && $(PY) -m src.models.h3_longtail && $(PY) -m src.models.h4_dynamics \
30+ && $(PY) -m src.models.h5_hedonic && $(PY) -m src.models.h7_complexity && $(PY) -m src.models.qdaci
31+
32+robust:
33+ $(PY) -m src.validation.robustness && $(PY) -m src.validation.external_validation
34+
35+tables figures:
36+ $(PY) -m src.reports.make_tables && $(PY) -m src.reports.make_figures
37+
38+paper:
39+ cd paper && latexmk -pdf -interaction=nonstopmode main.tex
40+
41+test:
42+ $(PY) -m pytest -q
43+
44+lit:
45+ $(PY) -m src.literature.verify_refs && $(PY) -m src.literature.make_bib
added experiments/matching.json +36 −0
@@ -0,0 +1,36 @@
1+{
2+ "universe_listings": 359612,
3+ "universe_stores": 1487,
4+ "with_sku": 260406,
5+ "with_brand": 274901,
6+ "pairs_by_tier": {
7+ "D": 2713,
8+ "A": 1837,
9+ "B": 457,
10+ "C": 446
11+ },
12+ "pairs_comparable_by_tier": {
13+ "D": 1804,
14+ "A": 1683,
15+ "B": 381,
16+ "C": 324
17+ },
18+ "median_abs_log_gap_by_tier": {
19+ "A": 0.0007,
20+ "B": 0.0011,
21+ "C": 0.0077,
22+ "D": 0.2585
23+ },
24+ "share_zero_gap_by_tier": {
25+ "A": 0.4306,
26+ "B": 0.4398,
27+ "C": 0.4193,
28+ "D": 0.0844
29+ },
30+ "groups_AC": 2247,
31+ "groups_AC_multi_store": 2247,
32+ "listings_in_groups": 4832,
33+ "stores_in_groups": 209,
34+ "groups_size_gt_10": 0,
35+ "regions_pairs": null
36+}
\ No newline at end of file
added experiments/sample_flow.json +64 −0
@@ -0,0 +1,64 @@
1+{
2+ "flow": [
3+ [
4+ "DB product rows (all statuses, all stores)",
5+ 465388
6+ ],
7+ [
8+ "active = 1 and listing_status = 'published'",
9+ 390108
10+ ],
11+ [
12+ "… of an enabled store with >= 1 published listing",
13+ 390108
14+ ],
15+ [
16+ "… excluding store_kind = hors_mission",
17+ 390074
18+ ],
19+ [
20+ "… keeping one representative per (store, normalised title) and non-empty title",
21+ 370828
22+ ],
23+ [
24+ "… excluding mirror domains of the same business (sibling stores, non-representative) [ASSORTMENT SAMPLE]",
25+ 370054
26+ ],
27+ [
28+ "… and CAD-priced store/listing",
29+ 369325
30+ ],
31+ [
32+ "… and a positive listed price <= 50 000 CAD, not on request [PRICE SAMPLE]",
33+ 359612
34+ ]
35+ ],
36+ "assortment_sample": {
37+ "listings": 370054,
38+ "stores": 1557,
39+ "categories": 20,
40+ "dup_in_store_listings_removed": 19245,
41+ "share_autre": 0.1113,
42+ "available_0_share": 0.1307,
43+ "on_sale_share": 0.087,
44+ "has_variants_share": 0.2782,
45+ "sku_share": 0.7667,
46+ "vendor_share": 0.7558
47+ },
48+ "price_exclusions": {
49+ "non_cad_listing_or_store": 729,
50+ "price_missing_or_on_request": 9635,
51+ "price_zero": 0,
52+ "price_gt_cap": 78
53+ },
54+ "price_quantiles_cad": {
55+ "0.001": 0.26,
56+ "0.01": 1.5,
57+ "0.1": 5.99,
58+ "0.5": 24.99,
59+ "0.9": 274.56,
60+ "0.99": 3700.0,
61+ "0.999": 18500.0
62+ },
63+ "top10_stores_share_of_assortment": 0.3713
64+}
\ No newline at end of file
added experiments/sibling_pairs.csv +15 −0
@@ -0,0 +1,15 @@
1+a,b,reason,overlap
2+aufindelice.com,aufindelice.ca,domain_stem,
3+greenbeaver.com,votregreenbeaver.com,domain_stem,
4+en.horacejewelry.com,horacejewelry.com,domain_stem,
5+en.meemoza.ca,meemoza.ca,domain_stem,
6+trisamare.ca,trisamare.com,domain_stem,
7+vinaigreriemcduff.ca,vinaigreriemcduff.com,domain_stem,
8+centacres.ca,sucreriesdl.ca,title_overlap,1.0
9+cafewilliam.com,cafewilliamspartivento.com,title_overlap,1.0
10+aufindelice.ca,aufindelice.com,title_overlap,1.0
11+erablieremont-rouge.ca,potagermont-rouge.ca,title_overlap,1.0
12+erablesdupatrimoinetheberge.com,tracemaple.com,title_overlap,1.0
13+en.meemoza.ca,meemoza.ca,title_overlap,1.0
14+lasultana.net,orera.ca,title_overlap,1.0
15+greenbeaver.com,votregreenbeaver.com,title_overlap,1.0
added experiments/siblings.json +56 −0
@@ -0,0 +1,56 @@
1+{
2+ "sibling_groups": 11,
3+ "stores_in_groups": 22,
4+ "non_rep_stores": 11,
5+ "non_rep_listings": 774,
6+ "reasons": {
7+ "title_overlap": 8,
8+ "domain_stem": 6
9+ },
10+ "largest_groups": [
11+ [
12+ "potagermont-rouge.ca",
13+ "erablieremont-rouge.ca"
14+ ],
15+ [
16+ "vinaigreriemcduff.com",
17+ "vinaigreriemcduff.ca"
18+ ],
19+ [
20+ "cafewilliam.com",
21+ "cafewilliamspartivento.com"
22+ ],
23+ [
24+ "centacres.ca",
25+ "sucreriesdl.ca"
26+ ],
27+ [
28+ "aufindelice.ca",
29+ "aufindelice.com"
30+ ],
31+ [
32+ "en.horacejewelry.com",
33+ "horacejewelry.com"
34+ ],
35+ [
36+ "en.meemoza.ca",
37+ "meemoza.ca"
38+ ],
39+ [
40+ "erablesdupatrimoinetheberge.com",
41+ "tracemaple.com"
42+ ],
43+ [
44+ "greenbeaver.com",
45+ "votregreenbeaver.com"
46+ ],
47+ [
48+ "lasultana.net",
49+ "orera.ca"
50+ ],
51+ [
52+ "trisamare.ca",
53+ "trisamare.com"
54+ ]
55+ ]
56+}
\ No newline at end of file
added experiments/store_master.json +33 −0
@@ -0,0 +1,33 @@
1+{
2+ "live_stores": 1569,
3+ "regions_layer": null,
4+ "region_source": {
5+ "db": 1223,
6+ "unknown": 346
7+ },
8+ "region_conflicts": 0,
9+ "unknown_region_listings": 153193,
10+ "phone_shared_stores": 250,
11+ "certified_stores": 718,
12+ "region_final_counts": {
13+ "Inconnue": 346,
14+ "Montréal": 211,
15+ "Montérégie": 164,
16+ "Estrie": 145,
17+ "Capitale-Nationale": 107,
18+ "Saguenay–Lac-Saint-Jean": 98,
19+ "Chaudière-Appalaches": 93,
20+ "Laurentides": 91,
21+ "Centre-du-Québec": 61,
22+ "Lanaudière": 59,
23+ "Bas-Saint-Laurent": 39,
24+ "Outaouais": 37,
25+ "Mauricie": 29,
26+ "Gaspésie–Îles-de-la-Madeleine": 28,
27+ "Laval": 22,
28+ "Abitibi-Témiscamingue": 21,
29+ "Côte-Nord": 15,
30+ "Nord-du-Québec": 3
31+ },
32+ "agreement_db_vs_pip": null
33+}
\ No newline at end of file
added literature/LOG.md +5 −0
@@ -0,0 +1,5 @@
1+- 2026-11-01T12:52:31 verify_refs.py: 129 seeds, 129 Crossref HTTP calls (rest served from crossref_cache/), 121 verified, 8 unverified
2+- 2026-11-01T12:53:58 verify_refs.py: 129 seeds, 2 Crossref HTTP calls (rest served from crossref_cache/), 125 verified, 4 unverified
3+- 2026-11-01T12:54:30 verify_refs.py: 129 seeds, 2 Crossref HTTP calls (rest served from crossref_cache/), 123 verified, 6 unverified
4+- 2026-11-01T12:54:58 verify_refs.py: 129 seeds, 0 Crossref HTTP calls (rest served from crossref_cache/), 125 verified, 4 unverified
5+- 2026-11-01T12:56:40 verify_refs.py: 129 seeds, 0 Crossref HTTP calls (rest served from crossref_cache/), 125 verified, 4 unverified
added literature/crossref_cache/atkin2015.json +287 −0
@@ -0,0 +1,287 @@
1+{
2+ "status": "ok",
3+ "message-type": "work-list",
4+ "message-version": "1.0.0",
5+ "message": {
6+ "facets": {},
7+ "total-results": 175170,
8+ "items": [
9+ {
10+ "DOI": "10.3386/w21439",
11+ "title": [
12+ "Who's Getting Globalized? The Size and Implications of Intra-national Trade Costs"
13+ ],
14+ "author": [
15+ {
16+ "given": "David",
17+ "family": "Atkin",
18+ "sequence": "first",
19+ "affiliation": [],
20+ "role": [
21+ {
22+ "vocabulary": "crossref",
23+ "role": "author"
24+ }
25+ ]
26+ },
27+ {
28+ "given": "Dave",
29+ "family": "Donaldson",
30+ "sequence": "additional",
31+ "affiliation": [],
32+ "role": [
33+ {
34+ "vocabulary": "crossref",
35+ "role": "author"
36+ }
37+ ]
38+ }
39+ ],
40+ "issued": {
41+ "date-parts": [
42+ [
43+ 2015,
44+ 7
45+ ]
46+ ]
47+ },
48+ "type": "report",
49+ "publisher": "National Bureau of Economic Research",
50+ "URL": "https://doi.org/10.3386/w21439"
51+ },
52+ {
53+ "DOI": "10.2139/ssrn.2818941",
54+ "title": [
55+ "Who's Getting Globalized? The Size and Implications of Intra-National Trade Costs"
56+ ],
57+ "author": [
58+ {
59+ "given": "David",
60+ "family": "Atkin",
61+ "sequence": "first",
62+ "affiliation": [],
63+ "role": [
64+ {
65+ "role": "author",
66+ "vocabulary": "crossref"
67+ }
68+ ]
69+ },
70+ {
71+ "given": "Dave",
72+ "family": "Donaldson",
73+ "sequence": "additional",
74+ "affiliation": [],
75+ "role": [
76+ {
77+ "role": "author",
78+ "vocabulary": "crossref"
79+ }
80+ ]
81+ }
82+ ],
83+ "issued": {
84+ "date-parts": [
85+ [
86+ 2015
87+ ]
88+ ]
89+ },
90+ "container-title": [
91+ "SSRN Electronic Journal"
92+ ],
93+ "type": "journal-article",
94+ "publisher": "Elsevier BV",
95+ "URL": "https://doi.org/10.2139/ssrn.2818941"
96+ },
97+ {
98+ "publisher": "CODESRIA",
99+ "DOI": "10.2307/j.ctvk3gndb.16",
100+ "type": "book-chapter",
101+ "page": "159-180",
102+ "title": [
103+ "Trade Facilitation:"
104+ ],
105+ "author": [
106+ {
107+ "given": "Ntangsi Max",
108+ "family": "Memfih",
109+ "sequence": "first",
110+ "affiliation": [],
111+ "role": [
112+ {
113+ "role": "author",
114+ "vocabulary": "crossref"
115+ }
116+ ]
117+ }
118+ ],
119+ "container-title": [
120+ "Trade and Industrial Development in Africa"
121+ ],
122+ "issued": {
123+ "date-parts": [
124+ [
125+ 2014,
126+ 12,
127+ 29
128+ ]
129+ ]
130+ },
131+ "URL": "https://doi.org/10.2307/j.ctvk3gndb.16"
132+ },
133+ {
134+ "DOI": "10.3386/w29314",
135+ "title": [
136+ "The Role of Trade in Economic Development"
137+ ],
138+ "author": [
139+ {
140+ "given": "David",
141+ "family": "Atkin",
142+ "sequence": "first",
143+ "affiliation": [],
144+ "role": [
145+ {
146+ "vocabulary": "crossref",
147+ "role": "author"
148+ }
149+ ]
150+ },
151+ {
152+ "given": "Dave",
153+ "family": "Donaldson",
154+ "sequence": "additional",
155+ "affiliation": [],
156+ "role": [
157+ {
158+ "vocabulary": "crossref",
159+ "role": "author"
160+ }
161+ ]
162+ }
163+ ],
164+ "issued": {
165+ "date-parts": [
166+ [
167+ 2021,
168+ 9
169+ ]
170+ ]
171+ },
172+ "type": "report",
173+ "publisher": "National Bureau of Economic Research",
174+ "URL": "https://doi.org/10.3386/w29314"
175+ },
176+ {
177+ "DOI": "10.3386/w19872",
178+ "title": [
179+ "Intra-national Trade Costs: Measurement and Aggregation"
180+ ],
181+ "author": [
182+ {
183+ "given": "Delina",
184+ "family": "Agnosteva",
185+ "sequence": "first",
186+ "affiliation": [],
187+ "role": [
188+ {
189+ "vocabulary": "crossref",
190+ "role": "author"
191+ }
192+ ]
193+ },
194+ {
195+ "given": "James",
196+ "family": "Anderson",
197+ "sequence": "additional",
198+ "affiliation": [],
199+ "role": [
200+ {
201+ "vocabulary": "crossref",
202+ "role": "author"
203+ }
204+ ]
205+ },
206+ {
207+ "given": "Yoto",
208+ "family": "Yotov",
209+ "sequence": "additional",
210+ "affiliation": [],
211+ "role": [
212+ {
213+ "vocabulary": "crossref",
214+ "role": "author"
215+ }
216+ ]
217+ }
218+ ],
219+ "issued": {
220+ "date-parts": [
221+ [
222+ 2014,
223+ 1
224+ ]
225+ ]
226+ },
227+ "type": "report",
228+ "publisher": "National Bureau of Economic Research",
229+ "URL": "https://doi.org/10.3386/w19872"
230+ },
231+ {
232+ "DOI": "10.1596/41654",
233+ "title": [
234+ "Intra-national Trade Costs in Low- and Middle-Income Countries"
235+ ],
236+ "author": [
237+ {
238+ "given": "Bernardo",
239+ "family": "Díaz de Astarloa",
240+ "sequence": "first",
241+ "affiliation": [],
242+ "role": [
243+ {
244+ "role": "author",
245+ "vocabulary": "crossref"
246+ }
247+ ]
248+ },
249+ {
250+ "given": "Nino",
251+ "family": "Pkhikidze",
252+ "sequence": "additional",
253+ "affiliation": [],
254+ "role": [
255+ {
256+ "role": "author",
257+ "vocabulary": "crossref"
258+ }
259+ ]
260+ }
261+ ],
262+ "issued": {
263+ "date-parts": [
264+ [
265+ 2024,
266+ 6,
267+ 4
268+ ]
269+ ]
270+ },
271+ "type": "book",
272+ "publisher": "Washington, DC: World Bank",
273+ "URL": "https://doi.org/10.1596/41654"
274+ }
275+ ],
276+ "items-per-page": 6,
277+ "query": {
278+ "start-index": 0,
279+ "search-terms": null
280+ }
281+ },
282+ "_wp38": {
283+ "fetched": "2026-11-01T17:52:19.728878+00:00",
284+ "url": "https://api.crossref.org/works?query.bibliographic=Atkin+Donaldson+Who%27s+Getting+Globalized%3F+The+Size+and+Implications+of+Intra-national+Trade+Costs+2015&rows=6&select=DOI%2Ctitle%2Cauthor%2Cissued%2Ccontainer-title%2Cvolume%2Cissue%2Cpage%2Ctype%2Cpublisher%2CURL%2CISBN",
285+ "key": "atkin2015"
286+ }
287+}
\ No newline at end of file
added literature/crossref_cache/bajari2005.json +315 −0
@@ -0,0 +1,315 @@
1+{
2+ "status": "ok",
3+ "message-type": "work-list",
4+ "message-version": "1.0.0",
5+ "message": {
6+ "facets": {},
7+ "total-results": 130934,
8+ "items": [
9+ {
10+ "DOI": "10.3386/t0272",
11+ "title": [
12+ "Demand Estimation With Heterogeneous Consumers and Unobserved Product Characteristics: A Hedonic Approach"
13+ ],
14+ "author": [
15+ {
16+ "given": "Patrick",
17+ "family": "Bajari",
18+ "sequence": "first",
19+ "affiliation": [],
20+ "role": [
21+ {
22+ "role": "author",
23+ "vocabulary": "crossref"
24+ }
25+ ]
26+ },
27+ {
28+ "given": "C. Lanier",
29+ "family": "Benkard",
30+ "sequence": "additional",
31+ "affiliation": [],
32+ "role": [
33+ {
34+ "role": "author",
35+ "vocabulary": "crossref"
36+ }
37+ ]
38+ }
39+ ],
40+ "issued": {
41+ "date-parts": [
42+ [
43+ 2001,
44+ 7
45+ ]
46+ ]
47+ },
48+ "type": "report",
49+ "publisher": "National Bureau of Economic Research",
50+ "URL": "https://doi.org/10.3386/t0272"
51+ },
52+ {
53+ "DOI": "10.3386/w10278",
54+ "title": [
55+ "Demand Estimation with Heterogeneous Consumers and Unobserved Product Characteristics: A Hedonic Approach"
56+ ],
57+ "author": [
58+ {
59+ "given": "C. Lanier",
60+ "family": "Benkard",
61+ "sequence": "first",
62+ "affiliation": [],
63+ "role": [
64+ {
65+ "vocabulary": "crossref",
66+ "role": "author"
67+ }
68+ ]
69+ },
70+ {
71+ "given": "Patrick",
72+ "family": "Bajari",
73+ "sequence": "additional",
74+ "affiliation": [],
75+ "role": [
76+ {
77+ "vocabulary": "crossref",
78+ "role": "author"
79+ }
80+ ]
81+ }
82+ ],
83+ "issued": {
84+ "date-parts": [
85+ [
86+ 2004,
87+ 2
88+ ]
89+ ]
90+ },
91+ "type": "report",
92+ "publisher": "National Bureau of Economic Research",
93+ "URL": "https://doi.org/10.3386/w10278"
94+ },
95+ {
96+ "publisher": "University of Chicago Press",
97+ "issue": "6",
98+ "DOI": "10.1086/498586",
99+ "type": "journal-article",
100+ "page": "1239-1276",
101+ "title": [
102+ "Demand Estimation with Heterogeneous Consumers and Unobserved Product Characteristics: A Hedonic Approach"
103+ ],
104+ "volume": "113",
105+ "author": [
106+ {
107+ "given": "Patrick",
108+ "family": "Bajari",
109+ "sequence": "first",
110+ "affiliation": [],
111+ "role": [
112+ {
113+ "vocabulary": "crossref",
114+ "role": "author"
115+ }
116+ ]
117+ },
118+ {
119+ "given": "C. Lanier",
120+ "family": "Benkard",
121+ "sequence": "additional",
122+ "affiliation": [],
123+ "role": [
124+ {
125+ "vocabulary": "crossref",
126+ "role": "author"
127+ }
128+ ]
129+ }
130+ ],
131+ "container-title": [
132+ "Journal of Political Economy"
133+ ],
134+ "issued": {
135+ "date-parts": [
136+ [
137+ 2005,
138+ 12
139+ ]
140+ ]
141+ },
142+ "URL": "https://doi.org/10.1086/498586"
143+ },
144+ {
145+ "DOI": "10.3386/w9980",
146+ "title": [
147+ "Hedonic Price Indexes with Unobserved Product Characteristics, and Application to PC's"
148+ ],
149+ "author": [
150+ {
151+ "given": "C. Lanier",
152+ "family": "Benkard",
153+ "sequence": "first",
154+ "affiliation": [],
155+ "role": [
156+ {
157+ "vocabulary": "crossref",
158+ "role": "author"
159+ }
160+ ]
161+ },
162+ {
163+ "given": "Patrick",
164+ "family": "Bajari",
165+ "sequence": "additional",
166+ "affiliation": [],
167+ "role": [
168+ {
169+ "vocabulary": "crossref",
170+ "role": "author"
171+ }
172+ ]
173+ }
174+ ],
175+ "issued": {
176+ "date-parts": [
177+ [
178+ 2003,
179+ 9
180+ ]
181+ ]
182+ },
183+ "type": "report",
184+ "publisher": "National Bureau of Economic Research",
185+ "URL": "https://doi.org/10.3386/w9980"
186+ },
187+ {
188+ "publisher": "Informa UK Limited",
189+ "issue": "1",
190+ "DOI": "10.1198/073500104000000262",
191+ "type": "journal-article",
192+ "page": "61-75",
193+ "title": [
194+ "Hedonic Price Indexes With Unobserved Product Characteristics, and Application to Personal Computers"
195+ ],
196+ "volume": "23",
197+ "author": [
198+ {
199+ "given": "C. Lanier",
200+ "family": "Benkard",
201+ "sequence": "first",
202+ "affiliation": [],
203+ "role": [
204+ {
205+ "vocabulary": "crossref",
206+ "role": "author"
207+ }
208+ ]
209+ },
210+ {
211+ "given": "Patrick",
212+ "family": "Bajari",
213+ "sequence": "additional",
214+ "affiliation": [],
215+ "role": [
216+ {
217+ "vocabulary": "crossref",
218+ "role": "author"
219+ }
220+ ]
221+ }
222+ ],
223+ "container-title": [
224+ "Journal of Business &amp; Economic Statistics"
225+ ],
226+ "issued": {
227+ "date-parts": [
228+ [
229+ 2005,
230+ 1
231+ ]
232+ ]
233+ },
234+ "URL": "https://doi.org/10.1198/073500104000000262"
235+ },
236+ {
237+ "DOI": "10.3386/w15724",
238+ "title": [
239+ "A Theory-Based Approach to Hedonic Price Regressions with Time-Varying Unobserved Product Attributes: The Price of Pollution"
240+ ],
241+ "author": [
242+ {
243+ "given": "Patrick",
244+ "family": "Bajari",
245+ "sequence": "first",
246+ "affiliation": [],
247+ "role": [
248+ {
249+ "vocabulary": "crossref",
250+ "role": "author"
251+ }
252+ ]
253+ },
254+ {
255+ "given": "Jane",
256+ "family": "Cooley",
257+ "sequence": "additional",
258+ "affiliation": [],
259+ "role": [
260+ {
261+ "vocabulary": "crossref",
262+ "role": "author"
263+ }
264+ ]
265+ },
266+ {
267+ "given": "Kyoo il",
268+ "family": "Kim",
269+ "sequence": "additional",
270+ "affiliation": [],
271+ "role": [
272+ {
273+ "vocabulary": "crossref",
274+ "role": "author"
275+ }
276+ ]
277+ },
278+ {
279+ "given": "Christopher",
280+ "family": "Timmins",
281+ "sequence": "additional",
282+ "affiliation": [],
283+ "role": [
284+ {
285+ "vocabulary": "crossref",
286+ "role": "author"
287+ }
288+ ]
289+ }
290+ ],
291+ "issued": {
292+ "date-parts": [
293+ [
294+ 2010,
295+ 2
296+ ]
297+ ]
298+ },
299+ "type": "report",
300+ "publisher": "National Bureau of Economic Research",
301+ "URL": "https://doi.org/10.3386/w15724"
302+ }
303+ ],
304+ "items-per-page": 6,
305+ "query": {
306+ "start-index": 0,
307+ "search-terms": null
308+ }
309+ },
310+ "_wp38": {
311+ "fetched": "2026-11-01T17:52:17.125083+00:00",
312+ "url": "https://api.crossref.org/works?query.bibliographic=Bajari+Benkard+Demand+Estimation+with+Heterogeneous+Consumers+and+Unobserved+Product+Characteristics%3A+A+Hedonic+Approach+2005&rows=6&select=DOI%2Ctitle%2Cauthor%2Cissued%2Ccontainer-title%2Cvolume%2Cissue%2Cpage%2Ctype%2Cpublisher%2CURL%2CISBN",
313+ "key": "bajari2005"
314+ }
315+}
\ No newline at end of file
added literature/crossref_cache/balassa1965.json +288 −0
@@ -0,0 +1,288 @@
1+{
2+ "status": "ok",
3+ "message-type": "work-list",
4+ "message-version": "1.0.0",
5+ "message": {
6+ "facets": {},
7+ "total-results": 2192959,
8+ "items": [
9+ {
10+ "publisher": "Wiley",
11+ "issue": "2",
12+ "DOI": "10.1111/j.1467-9957.1965.tb00050.x",
13+ "type": "journal-article",
14+ "page": "99-123",
15+ "title": [
16+ "Trade Liberalisation and “Revealed” Comparative Advantage\n <sup>1</sup>"
17+ ],
18+ "volume": "33",
19+ "author": [
20+ {
21+ "given": "Bela",
22+ "family": "Balassa",
23+ "sequence": "first",
24+ "affiliation": [],
25+ "role": [
26+ {
27+ "vocabulary": "crossref",
28+ "role": "author"
29+ }
30+ ]
31+ }
32+ ],
33+ "container-title": [
34+ "The Manchester School"
35+ ],
36+ "issued": {
37+ "date-parts": [
38+ [
39+ 1965,
40+ 5
41+ ]
42+ ]
43+ },
44+ "URL": "https://doi.org/10.1111/j.1467-9957.1965.tb00050.x"
45+ },
46+ {
47+ "DOI": "10.2139/ssrn.289602",
48+ "title": [
49+ "A Note on the Balassa Index of Revealed Comparative Advantage"
50+ ],
51+ "author": [
52+ {
53+ "ORCID": "https://orcid.org/0000-0001-8245-3940",
54+ "authenticated-orcid": true,
55+ "given": "Luca",
56+ "family": "De Benedictis",
57+ "sequence": "first",
58+ "affiliation": [],
59+ "role": [
60+ {
61+ "vocabulary": "crossref",
62+ "role": "author"
63+ }
64+ ]
65+ },
66+ {
67+ "given": "Massimo",
68+ "family": "Tamberi",
69+ "sequence": "additional",
70+ "affiliation": [],
71+ "role": [
72+ {
73+ "vocabulary": "crossref",
74+ "role": "author"
75+ }
76+ ]
77+ }
78+ ],
79+ "issued": {
80+ "date-parts": [
81+ [
82+ 2001
83+ ]
84+ ]
85+ },
86+ "type": "posted-content",
87+ "publisher": "Elsevier BV",
88+ "URL": "https://doi.org/10.2139/ssrn.289602"
89+ },
90+ {
91+ "DOI": "10.2139/ssrn.3820672",
92+ "title": [
93+ "Trade Intensity, Net Trade, and Revealed Comparative Advantage"
94+ ],
95+ "author": [
96+ {
97+ "given": "Andrey",
98+ "family": "Gnidchenko",
99+ "sequence": "first",
100+ "affiliation": [],
101+ "role": [
102+ {
103+ "vocabulary": "crossref",
104+ "role": "author"
105+ }
106+ ]
107+ },
108+ {
109+ "given": "Vladimir",
110+ "family": "Salnikov",
111+ "sequence": "additional",
112+ "affiliation": [],
113+ "role": [
114+ {
115+ "vocabulary": "crossref",
116+ "role": "author"
117+ }
118+ ]
119+ }
120+ ],
121+ "issued": {
122+ "date-parts": [
123+ [
124+ 2021
125+ ]
126+ ]
127+ },
128+ "type": "posted-content",
129+ "publisher": "Elsevier BV",
130+ "URL": "https://doi.org/10.2139/ssrn.3820672"
131+ },
132+ {
133+ "publisher": "Oxford University Press (OUP)",
134+ "issue": "403",
135+ "DOI": "10.2307/2233992",
136+ "type": "journal-article",
137+ "page": "1354",
138+ "title": [
139+ "Comparative Advantage, Trade Policy and Economic Development."
140+ ],
141+ "volume": "100",
142+ "author": [
143+ {
144+ "given": "John",
145+ "family": "Spraos",
146+ "sequence": "first",
147+ "affiliation": [],
148+ "role": [
149+ {
150+ "role": "author",
151+ "vocabulary": "crossref"
152+ }
153+ ]
154+ },
155+ {
156+ "given": "Bela",
157+ "family": "Balassa",
158+ "sequence": "additional",
159+ "affiliation": [],
160+ "role": [
161+ {
162+ "role": "author",
163+ "vocabulary": "crossref"
164+ }
165+ ]
166+ }
167+ ],
168+ "container-title": [
169+ "The Economic Journal"
170+ ],
171+ "issued": {
172+ "date-parts": [
173+ [
174+ 1990,
175+ 12
176+ ]
177+ ]
178+ },
179+ "URL": "https://doi.org/10.2307/2233992"
180+ },
181+ {
182+ "publisher": "Center for Economic Integration",
183+ "issue": "2",
184+ "DOI": "10.11130/jei.1989.4.2.8",
185+ "type": "journal-article",
186+ "page": "8-15",
187+ "title": [
188+ "\"Revealed\" Comparative Advantage in Japan and the United States"
189+ ],
190+ "volume": "4",
191+ "author": [
192+ {
193+ "given": "Bela",
194+ "family": "Balassa",
195+ "sequence": "first",
196+ "affiliation": [],
197+ "role": [
198+ {
199+ "vocabulary": "crossref",
200+ "role": "author"
201+ }
202+ ]
203+ },
204+ {
205+ "given": "Marcus",
206+ "family": "Noland",
207+ "sequence": "additional",
208+ "affiliation": [],
209+ "role": [
210+ {
211+ "vocabulary": "crossref",
212+ "role": "author"
213+ }
214+ ]
215+ }
216+ ],
217+ "container-title": [
218+ "Journal of Economic Integration"
219+ ],
220+ "issued": {
221+ "date-parts": [
222+ [
223+ 1989,
224+ 9,
225+ 15
226+ ]
227+ ]
228+ },
229+ "URL": "https://doi.org/10.11130/jei.1989.4.2.8"
230+ },
231+ {
232+ "DOI": "10.2139/ssrn.1990313",
233+ "title": [
234+ "Comparative Advantage, Multi-Product Firms and Trade Liberalisation: An Empirical Test"
235+ ],
236+ "author": [
237+ {
238+ "given": "Catherine",
239+ "family": "Fuss",
240+ "sequence": "first",
241+ "affiliation": [],
242+ "role": [
243+ {
244+ "role": "author",
245+ "vocabulary": "crossref"
246+ }
247+ ]
248+ },
249+ {
250+ "given": "Linke",
251+ "family": "Zhu",
252+ "sequence": "additional",
253+ "affiliation": [],
254+ "role": [
255+ {
256+ "role": "author",
257+ "vocabulary": "crossref"
258+ }
259+ ]
260+ }
261+ ],
262+ "issued": {
263+ "date-parts": [
264+ [
265+ 2012
266+ ]
267+ ]
268+ },
269+ "container-title": [
270+ "SSRN Electronic Journal"
271+ ],
272+ "type": "journal-article",
273+ "publisher": "Elsevier BV",
274+ "URL": "https://doi.org/10.2139/ssrn.1990313"
275+ }
276+ ],
277+ "items-per-page": 6,
278+ "query": {
279+ "start-index": 0,
280+ "search-terms": null
281+ }
282+ },
283+ "_wp38": {
284+ "fetched": "2026-11-01T17:51:11.087567+00:00",
285+ "url": "https://api.crossref.org/works?query.bibliographic=Balassa+Trade+Liberalisation+and+Revealed+Comparative+Advantage+1965&rows=6&select=DOI%2Ctitle%2Cauthor%2Cissued%2Ccontainer-title%2Cvolume%2Cissue%2Cpage%2Ctype%2Cpublisher%2CURL%2CISBN",
286+ "key": "balassa1965"
287+ }
288+}
\ No newline at end of file
added literature/crossref_cache/baldwin2008.json +379 −0
@@ -0,0 +1,379 @@
1+{
2+ "status": "ok",
3+ "message-type": "work-list",
4+ "message-version": "1.0.0",
5+ "message": {
6+ "facets": {},
7+ "total-results": 38128,
8+ "items": [
9+ {
10+ "publisher": "Informa UK Limited",
11+ "issue": "1",
12+ "DOI": "10.1080/00343400701543199",
13+ "type": "journal-article",
14+ "page": "117-132",
15+ "title": [
16+ "Agglomeration and the Geography of Localization Economies in Canada"
17+ ],
18+ "volume": "42",
19+ "author": [
20+ {
21+ "given": "John R.",
22+ "family": "Baldwin",
23+ "sequence": "first",
24+ "affiliation": [],
25+ "role": [
26+ {
27+ "vocabulary": "crossref",
28+ "role": "author"
29+ }
30+ ]
31+ },
32+ {
33+ "given": "Desmond",
34+ "family": "Beckstead",
35+ "sequence": "additional",
36+ "affiliation": [],
37+ "role": [
38+ {
39+ "vocabulary": "crossref",
40+ "role": "author"
41+ }
42+ ]
43+ },
44+ {
45+ "given": "W.",
46+ "family": "Mark Brown",
47+ "sequence": "additional",
48+ "affiliation": [],
49+ "role": [
50+ {
51+ "vocabulary": "crossref",
52+ "role": "author"
53+ }
54+ ]
55+ },
56+ {
57+ "given": "David L.",
58+ "family": "Rigby",
59+ "sequence": "additional",
60+ "affiliation": [],
61+ "role": [
62+ {
63+ "vocabulary": "crossref",
64+ "role": "author"
65+ }
66+ ]
67+ }
68+ ],
69+ "container-title": [
70+ "Regional Studies"
71+ ],
72+ "issued": {
73+ "date-parts": [
74+ [
75+ 2008,
76+ 2
77+ ]
78+ ]
79+ },
80+ "URL": "https://doi.org/10.1080/00343400701543199"
81+ },
82+ {
83+ "DOI": "10.2139/ssrn.1371181",
84+ "title": [
85+ "Urban Economies and Productivity"
86+ ],
87+ "author": [
88+ {
89+ "given": "John R.",
90+ "family": "Baldwin",
91+ "sequence": "first",
92+ "affiliation": [],
93+ "role": [
94+ {
95+ "vocabulary": "crossref",
96+ "role": "author"
97+ }
98+ ]
99+ },
100+ {
101+ "given": "Williams Mark",
102+ "family": "Brown",
103+ "sequence": "additional",
104+ "affiliation": [],
105+ "role": [
106+ {
107+ "vocabulary": "crossref",
108+ "role": "author"
109+ }
110+ ]
111+ },
112+ {
113+ "given": "David L.",
114+ "family": "Rigby",
115+ "sequence": "additional",
116+ "affiliation": [],
117+ "role": [
118+ {
119+ "vocabulary": "crossref",
120+ "role": "author"
121+ }
122+ ]
123+ },
124+ {
125+ "given": "Desmond",
126+ "family": "Beckstead",
127+ "sequence": "additional",
128+ "affiliation": [],
129+ "role": [
130+ {
131+ "vocabulary": "crossref",
132+ "role": "author"
133+ }
134+ ]
135+ }
136+ ],
137+ "issued": {
138+ "date-parts": [
139+ [
140+ 2009
141+ ]
142+ ]
143+ },
144+ "type": "posted-content",
145+ "publisher": "Elsevier BV",
146+ "URL": "https://doi.org/10.2139/ssrn.1371181"
147+ },
148+ {
149+ "DOI": "10.2139/ssrn.1371060",
150+ "title": [
151+ "Agglomeration Economies: Microdata Panel Estimates from Canadian Manufacturing"
152+ ],
153+ "author": [
154+ {
155+ "given": "John R.",
156+ "family": "Baldwin",
157+ "sequence": "first",
158+ "affiliation": [],
159+ "role": [
160+ {
161+ "vocabulary": "crossref",
162+ "role": "author"
163+ }
164+ ]
165+ },
166+ {
167+ "given": "Williams Mark",
168+ "family": "Brown",
169+ "sequence": "additional",
170+ "affiliation": [],
171+ "role": [
172+ {
173+ "vocabulary": "crossref",
174+ "role": "author"
175+ }
176+ ]
177+ },
178+ {
179+ "given": "David L.",
180+ "family": "Rigby",
181+ "sequence": "additional",
182+ "affiliation": [],
183+ "role": [
184+ {
185+ "vocabulary": "crossref",
186+ "role": "author"
187+ }
188+ ]
189+ }
190+ ],
191+ "issued": {
192+ "date-parts": [
193+ [
194+ 2009
195+ ]
196+ ]
197+ },
198+ "type": "posted-content",
199+ "publisher": "Elsevier BV",
200+ "URL": "https://doi.org/10.2139/ssrn.1371060"
201+ },
202+ {
203+ "publisher": "Wiley",
204+ "issue": "5",
205+ "DOI": "10.1111/j.1467-9787.2010.00675.x",
206+ "type": "journal-article",
207+ "page": "915-934",
208+ "title": [
209+ "AGGLOMERATION ECONOMIES: MICRODATA PANEL ESTIMATES FROM CANADIAN MANUFACTURING*"
210+ ],
211+ "volume": "50",
212+ "author": [
213+ {
214+ "given": "John R.",
215+ "family": "Baldwin",
216+ "sequence": "first",
217+ "affiliation": [],
218+ "role": [
219+ {
220+ "vocabulary": "crossref",
221+ "role": "author"
222+ }
223+ ]
224+ },
225+ {
226+ "given": "W. Mark",
227+ "family": "Brown",
228+ "sequence": "additional",
229+ "affiliation": [],
230+ "role": [
231+ {
232+ "vocabulary": "crossref",
233+ "role": "author"
234+ }
235+ ]
236+ },
237+ {
238+ "given": "David L.",
239+ "family": "Rigby",
240+ "sequence": "additional",
241+ "affiliation": [],
242+ "role": [
243+ {
244+ "vocabulary": "crossref",
245+ "role": "author"
246+ }
247+ ]
248+ }
249+ ],
250+ "container-title": [
251+ "Journal of Regional Science"
252+ ],
253+ "issued": {
254+ "date-parts": [
255+ [
256+ 2010,
257+ 12
258+ ]
259+ ]
260+ },
261+ "URL": "https://doi.org/10.1111/j.1467-9787.2010.00675.x"
262+ },
263+ {
264+ "publisher": "Oxford University Press (OUP)",
265+ "issue": "4",
266+ "DOI": "10.1093/jeg/2.4.407",
267+ "type": "journal-article",
268+ "page": "407-432",
269+ "title": [
270+ "Agglomeration economies and productivity differences in US cities"
271+ ],
272+ "volume": "2",
273+ "author": [
274+ {
275+ "given": "D. L.",
276+ "family": "Rigby",
277+ "sequence": "first",
278+ "affiliation": [],
279+ "role": [
280+ {
281+ "vocabulary": "crossref",
282+ "role": "author"
283+ }
284+ ]
285+ },
286+ {
287+ "given": "J.",
288+ "family": "Essletzbichler",
289+ "sequence": "additional",
290+ "affiliation": [],
291+ "role": [
292+ {
293+ "vocabulary": "crossref",
294+ "role": "author"
295+ }
296+ ]
297+ }
298+ ],
299+ "container-title": [
300+ "Journal of Economic Geography"
301+ ],
302+ "issued": {
303+ "date-parts": [
304+ [
305+ 2002,
306+ 10,
307+ 1
308+ ]
309+ ]
310+ },
311+ "URL": "https://doi.org/10.1093/jeg/2.4.407"
312+ },
313+ {
314+ "DOI": "10.2139/ssrn.1384597",
315+ "title": [
316+ "Hollowing-Out, Trimming-Down or Scaling-Up‘ an Analysis of Head Offices in Canada, 1999 to 2002"
317+ ],
318+ "author": [
319+ {
320+ "given": "John R.",
321+ "family": "Baldwin",
322+ "sequence": "first",
323+ "affiliation": [],
324+ "role": [
325+ {
326+ "vocabulary": "crossref",
327+ "role": "author"
328+ }
329+ ]
330+ },
331+ {
332+ "given": "Desmond",
333+ "family": "Beckstead",
334+ "sequence": "additional",
335+ "affiliation": [],
336+ "role": [
337+ {
338+ "vocabulary": "crossref",
339+ "role": "author"
340+ }
341+ ]
342+ },
343+ {
344+ "given": "Williams Mark",
345+ "family": "Brown",
346+ "sequence": "additional",
347+ "affiliation": [],
348+ "role": [
349+ {
350+ "vocabulary": "crossref",
351+ "role": "author"
352+ }
353+ ]
354+ }
355+ ],
356+ "issued": {
357+ "date-parts": [
358+ [
359+ 2009
360+ ]
361+ ]
362+ },
363+ "type": "posted-content",
364+ "publisher": "Elsevier BV",
365+ "URL": "https://doi.org/10.2139/ssrn.1384597"
366+ }
367+ ],
368+ "items-per-page": 6,
369+ "query": {
370+ "start-index": 0,
371+ "search-terms": null
372+ }
373+ },
374+ "_wp38": {
375+ "fetched": "2026-11-01T17:51:01.792425+00:00",
376+ "url": "https://api.crossref.org/works?query.bibliographic=Baldwin+Beckstead+Brown+Rigby+Agglomeration+and+the+Geography+of+Localization+Economies+in+Canada+2008&rows=6&select=DOI%2Ctitle%2Cauthor%2Cissued%2Ccontainer-title%2Cvolume%2Cissue%2Cpage%2Ctype%2Cpublisher%2CURL%2CISBN",
377+ "key": "baldwin2008"
378+ }
379+}
\ No newline at end of file
added literature/crossref_cache/balland2017.json +364 −0
Large diff (365 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/balland2019.json +563 −0
Large diff (564 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/balland2022.json +445 −0
Large diff (446 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/barisaac2012.json +388 −0
Large diff (389 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/baye2004.json +401 −0
Large diff (402 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/baye2006.json +377 −0
Large diff (378 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/beaumont2020.json +352 −0
Large diff (353 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/bettencourt2007.json +440 −0
Large diff (441 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/blum2006.json +293 −0
Large diff (294 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/boschma2017.json +403 −0
Large diff (404 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/bound2001.json +339 −0
Large diff (340 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/bradley2021.json +430 −0
Large diff (431 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/briant2010.json +402 −0
Large diff (403 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/brynjolfsson2000.json +287 −0
Large diff (288 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/brynjolfsson2003.json +326 −0
Large diff (327 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/brynjolfsson2009.json +392 −0
Large diff (393 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/brynjolfsson2011.json +348 −0
Large diff (349 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/buelens2018.json +376 −0
Large diff (377 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/cavallo2014.json +348 −0
Large diff (349 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/cavallo2016.json +327 −0
Large diff (328 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/cavallo2017.json +292 −0
Large diff (293 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/cavallo2018.json +235 −0
Large diff (236 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/cavallo2023.json +261 −0
Large diff (262 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/choi2011.json +323 −0
Large diff (324 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/christen2012.json +245 −0
Large diff (246 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/clay2001.json +409 −0
Large diff (410 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/combes2015.json +370 −0
Large diff (371 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/content2016.json +376 −0
Large diff (377 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/couture2021.json +318 −0
Large diff (319 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/cristelli2013.json +546 −0
Large diff (547 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/daas2015.json +457 −0
Large diff (458 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/davis2020.json +346 −0
Large diff (347 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/dellavigna2019.json +313 −0
Large diff (314 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/dinerstein2018.json +492 −0
Large diff (493 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/dolfen2023.json +529 −0
Large diff (530 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/duranton2004.json +323 −0
Large diff (324 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/duranton2005.json +379 −0
Large diff (380 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/duranton2020.json +300 −0
Large diff (301 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/einav2014.json +341 −0
Large diff (342 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/einav2016.json +389 −0
Large diff (390 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/elberse2008.json +237 −0
Large diff (238 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/elliott2017.json +342 −0
Large diff (343 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/ellison1997.json +312 −0
Large diff (313 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/ellison2009.json +253 −0
Large diff (254 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/ellison2010.json +339 −0
Large diff (340 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/farronato2022.json +330 −0
Large diff (331 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/fellegi1969.json +306 −0
Large diff (307 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/forman2005.json +366 −0
Large diff (367 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/forman2009.json +313 −0
Large diff (314 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/forman2012.json +408 −0
Large diff (409 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/forman2018.json +370 −0
Large diff (371 lines) is not loaded by default to keep the page fast.Load diff
added literature/crossref_cache/frenken2007.json +57 −0
Large diff (57 lines) is not loaded by default to keep the page fast.Load diff

Diff truncated — file too large.

Menu

Theme