SPB Git

spb/wp36_uqo

Public

WP36: audit, preregistration, pipeline, models A–F, AMLI, validation, figures/tables, manuscript v1.0 draft

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

194 changed files +20,001 −0

194 changed files
added .gitignore +50 −0
@@ -0,0 +1,50 @@
1 +# Raw & processed data — never committed (see data/raw/README.md for provenance)
2 +data/raw/*
3 +!data/raw/README.md
4 +data/processed/*
5 +!data/processed/.gitkeep
6 +
7 +# Python
8 +__pycache__/
9 +*.pyc
10 +.pytest_cache/
11 +.venv/
12 +*.egg-info/
13 +
14 +# LaTeX build artifacts (paper/main.pdf IS committed)
15 +paper/*.aux
16 +paper/*.log
17 +paper/*.out
18 +paper/*.toc
19 +paper/*.lof
20 +paper/*.lot
21 +paper/*.fls
22 +paper/*.fdb_latexmk
23 +paper/*.bbl
24 +paper/*.blg
25 +paper/*.spl
26 +paper/*.synctex.gz
27 +paper/*.run.xml
28 +paper/*.bcf
29 +
30 +# Logs
31 +logs/
32 +*.log
33 +
34 +# macOS
35 +.DS_Store
36 +
37 +# WP36 — restricted / regenerable data layers
38 +data/raw/*
39 +!data/raw/README.md
40 +!data/raw/*.sha256
41 +data/interim/*
42 +!data/interim/manifest.json
43 +data/processed/*.parquet
44 +data/synthetic/*.db
45 +data/raw/external/*
46 +!data/raw/external/README.md
47 +results/**/*.parquet
48 +catboost_info/
49 +logs/*.log
50 +paper/main_anon.pdf
added CLAIMS_LEDGER.csv +40 −0
@@ -0,0 +1,40 @@
1 +claim_id,section,claim,evidence_type,evidence_ref,status,notes
2 +C-001,data,"Panel covers 2026-08-12 12:30 UTC to 2026-11-01 06:49 UTC (81 days, 586 crawl cycles), 273 265 listings, 62 821 active at snapshot",computation,results/descriptives/summary.json; data/interim/manifest.json,verified,
3 +C-002,data,"AutoTrader (2 000 sliding window) and CarGurus (500 cap) are sampled portals excluded from S1/S2",documentation+computation,data/raw/registry/docs/connecteurs/{autotrader,cargurus}.md; reports/data_access_audit.md §5,verified,
4 +C-003,design,"Listing exit = observed disappearance confirmed by >= 7 days of absence; never a verified sale",design,DECISIONS.md D-004; src/ucml/cleaning.py,verified,
5 +C-004,data,"Crawl cycle 3.3 h mean; 7.3 observations per listing-day; max same-source gap 13.6 h",computation,results/descriptives/summary.json coverage,verified,
6 +C-005,data,"S1 = 136 393; S2 = 80 856; S2L = 128 091; 47 235 left-censored (day-1 + source start-up)",computation,data/processed/sample_construction.csv; cleaning_stats.json,verified,D-014
7 +C-006,data,"2 164 placeholder prices <= $1; 3 451 oscillating uids; 70 excluded with >= 3 transients",computation,reports/data_access_audit.md §4-5; cleaning_stats.json,verified,
8 +C-007,data,"Price log: 76 261 sustained cuts, 26 486 rises (all sources); among non-portal sources cuts ≈ 9x rises",computation,results/descriptives (events by kind, cleaning validation log E-003),verified,
9 +C-008,data,"Median S1 entry price 25 627 $, mileage 68 629 km, age 5.7 y; SUV 56.7 %, sedan 20.8 %, pickup 10.6 %; BEV 6.1 %",computation,results/descriptives/summary.json; paper/tables/tab03_descriptives.tex,verified,
10 +C-009,data,"S2 completed spells: median 8.9 d (IQR 1.0–20.6), 44 % within 7 d, 87 % within 30 d; 46 % right-censored",computation,results/descriptives/summary.json dynamics,verified,
11 +C-010,data,"19.7 % of S2 listings have >= 1 sustained cut; 6.6 % >= 2; median first cut 2.8 % (mean 4.6 %)",computation,results/descriptives/summary.json dynamics,verified,
12 +C-011,prices,"H1: nonlinear age/km terms jointly significant chi2(12)=664; tensor chi2(49)=667; age x powertrain chi2(35)=312",computation,results/hedonic/summary.json tests,verified,
13 +C-012,prices,"Grouped-dealer CV RMSE: linear 0.176, splines 0.171 (−2.8 %), tensor 0.172, trim FE 0.161 (57 % coverage), LightGBM 0.159",computation,results/hedonic/cv_grouped_dealer.json,verified,
14 +C-013,prices,"Linear benchmark: −8.5 % per year of age, −3.2 % per 10 000 km (A1)",computation,results/hedonic/coefs_A1_linear_mm.csv,verified,
15 +C-014,prices,"Surface: vs 1 y/10 000 km, price −14 % (1 y, 50k km), −27 % (3 y), −37 % (5 y), −57 % (10 y); at 5 y from 10k to 200k km: −28 % to −59 %",computation,results/hedonic/surface_A2t.csv,verified,
16 +C-015,prices,"H4: region effects jointly insignificant chi2(16)=14.9 p=0.53; premia −1.0 % (Lanaudière) to +3.7 % (Bas-Saint-Laurent); Outaouais +2.1 % p=0.14",computation,results/hedonic/region_premia_A4.csv; summary.json tests,verified,null result
17 +C-016,prices,"In-sample RMSE 0.167 (A1) → 0.162 (A2) → 0.107 (A4 trim FE) → 0.091 (A5 dealer FE)",computation,results/hedonic/summary.json fits,verified,
18 +C-017,dynamics,"First-markdown empirical hazard 0.7 %/day (days 1–3) → 1.1 % (day 7) → 1.4–1.5 % (weeks 2–4)",computation,results/hazards/empirical_hazard_first_markdown.csv,verified,
19 +C-018,dynamics,"H2: listing-age bins jointly significant chi2(8)=170 in cloglog B; coefficients rise 0.79 → 1.68",computation,results/hazards/cloglog_B_first_markdown.csv; summary.json,verified,
20 +C-019,dynamics,"Cox markdown (dealer-clustered): resid 0.716 (p=5e-4), log density 0.114 (p<1e-5), price position 0.356 (p=0.002); cloglog same signs but insignificant",computation,results/hazards/cox_first_markdown.csv; cloglog_B_first_markdown.csv,verified,
21 +C-020,dynamics,"Cut size: median 2.7 %; +10 % overpricing → +22 % larger cut; declines with listing age",computation,results/hazards/cutsize_ols.csv; summary.json B_cut_size,verified,
22 +C-021,competition,"Daily base rate of own cut 1.44 %; same-day competitor-cut coefficient +0.89 pp (SE 0.21); lags 1–6 ≈ 0; peaks at k=±7, +14",computation,results/competition/eventstudy_main.csv; summary.json,verified,association only
23 +C-022,competition,"Leads jointly significant p<1e-4; placebo permuted within make-model: all ≈ 0 (joint p=0.18)",computation,results/competition/summary.json,verified,
24 +C-023,competition,"Dealer x weekday FE: k=0 falls to 0.55 pp; k=7 0.17; k=14 0.33",computation,results/competition/summary_dow.json,verified,
25 +C-024,competition,"First-markdown risk set: k=0 +2.6 pp vs base 4.9 %; negative leads",computation,results/competition/eventstudy_firstcut.csv,verified,
26 +C-025,exit,"Exit hazard 13 % on day 1, 2 % days 2–3, ≈3 % weeks 2–3, <1 % beyond 60 d",computation,results/hazards/empirical_hazard_exit.csv,verified,
27 +C-026,exit,"H5 not supported: entry residual in exit hazard 0.18 (cloglog p=0.42), 0.13 (Cox p=0.54) with dealer clusters; mileage −0.49, price −0.26 (Cox)",computation,results/hazards/cloglog_C_exit.csv; cox_exit.csv,verified,null result
28 +C-027,validation,"17 898 overlapping dealer-site/otogo VIN pairs; of 8 541 both-exited pairs 80 % within 1 d, 94 % within 7 d, median gap 0.4 d",computation,results/validation/exit_validation.json,verified,
29 +C-028,validation,"11.4 % of dealer-site exits still listed on otogo 7 d later; 2.8 % the reverse",computation,results/validation/exit_validation.json,verified,
30 +C-029,validation,"Of 47 398 exits observable 30 d: 10.2 % relisted within 30 d, 5.8 % > 5 km away; transfer gap median 1.1 d, q75 8.7 d; 10 139 of 95 968 VINs at 2+ locations > 5 km",computation,results/validation/exit_validation.json,verified,
31 +C-030,prediction,"Chronological split: LightGBM log loss 0.405 markdown (AUC 0.785), 0.585 exit (AUC 0.727); ECE < 0.02; dealer/region holdouts AUC 0.58–0.61",computation,results/prediction/metrics.json; paper/tables/tab08_prediction.tex,verified,
32 +C-031,prediction,"Dealer target-encoded rate = top LightGBM feature (≈35 % gain markdown, 30 % exit); Cox exit C-index 0.658 on later cohort",computation,results/prediction/feature_importance_*.csv; metrics.json,verified,
33 +C-032,amli,"PCA first component explains 56 % (region x week, weeks 2–10); loadings exit +0.41, mdfreq +0.35, depth −0.51, disp(rev) +0.52, arrival +0.44",computation,results/amli/summary.json region.weights,verified,sign reversal on depth
34 +C-033,amli,"Component correlations: exit–arrival 0.62, exit–depth −0.35, exit–disp(rev) 0.44, depth–disp 0.85",computation,results/amli/summary.json component_corr,verified,
35 +C-034,amli,"Held-out validation: leave-exit-out index → next-week exit 0.97 pp [0.69, 1.24], n=68, R2 0.66; with lagged exit 1.03 [0.70, 1.35]",computation,results/amli/summary.json region_validation,verified,
36 +C-035,amli,"Leave-one-component-out correlations 0.91–0.95; corr(equal,PCA)=0.85; corr(equal,supervised)=0.68; segments PCA 44–46 %, slopes 0.46 pp (body CI [0.06, 0.86]; tier CI covers 0)",computation,results/amli/summary.json,verified,
37 +C-036,amli,"No external forecasting test possible: no weekly Quebec used-car benchmark exists for Aug–Oct 2026",documentation,reports/external_benchmarks_inventory.md,verified,
38 +C-037,lit,"172 references verified via Crossref DOI or publisher URL; no retracted items",documentation,literature/evidence_matrix.csv; search_protocol.md,verified,
39 +C-038,background,"Quebec new vehicle sales Aug 2026 = 41 657 units (StatCan 20-10-0085-01); BoC hike to 2.50 % on 2026-10-28",external,reports/external_benchmarks_inventory.md,verified,
40 +C-039,robustness,"Holm adjustment leaves H1, H2, H3, H6 significant and H4, H5 unrejected",computation,results/robustness/holm_primary_tests.csv,pending,agent running
added DECISIONS.md +18 −0
@@ -0,0 +1,18 @@
1 +# DECISIONS — methodological decisions and rejected alternatives (WP36)
2 +
3 +| ID | Date | Decision | Alternatives rejected | Rationale / evidence |
4 +|---|---|---|---|---|
5 +| D-001 | 2026-11-01 | Use an owner-authorised read-only `.backup` of the production SQLite DB as the single raw source; no scraping, no public-API use. | Re-crawling dealer sites; calling `/api/*` | Direct authorised export is strictly richer (price_log, sync_log) and lawful; robots.txt disallows `/api/`. |
6 +| D-002 | 2026-11-01 | Drop the `users` table on the production node before transfer; treat VIN, URL, images, description, exact GPS as restricted (never committed/released). | Keep full copy | Personal-information minimisation (Phase 0 §6 governance). |
7 +| D-003 | 2026-11-01 | Dynamic analyses (H2, H3, H5, AMLI) use the **dynamic sample** = direct dealer sites + full-inventory portals (otogo, autousagee) + banners, excluding sampled portals (autotrader, cargurus), the private-seller marketplace (kijiji), flickering/failed connectors (leprixdugros, albioccasion, baiecomeaugm, septilesgm, stjeromeautodepot, excelmoto) and uid `classeauto:-98`. | Use all sources | Sampled portals create spurious exits (78 % of cargurus exits < 1 day); flicker shares 0.52–0.94 for excluded connectors (audit §5). |
8 +| D-004 | 2026-11-01 | Listing exit = last observation followed by ≥ 7 days of absence before the snapshot (else right-censored at last_seen). Exit is labelled "observed disappearance", never "sale". | 2-miss rule of the platform (≈ 7 h) | Reactivation share up to 0.44 on otogo; a 7-day confirmation window makes flicker negligible; sale is unobserved. |
9 +| D-005 | 2026-11-01 | Sustained price paths: a price level lasting < 48 h that reverts to the immediately preceding price is removed (A→B→A transient); uids with ≥ 3 such reversions are flagged "oscillating" and excluded from markdown analyses (kept in hedonics with first sustained price). | Use raw price_log | Oscillation artefacts (e.g. otogo:1694844 alternating twice a day) would be counted as markdowns and rises. |
10 +| D-006 | 2026-11-01 | H3 is estimated as an association (event-study / distributed lags with market×time and product×time controls) and explicitly not causal. | Causal claims via IV | No credible exogenous variation in competitor repricing; reflection problem. |
11 +| D-007 | 2026-11-01 | H6: AMLI is constructed and validated internally (component coherence, leave-one-component-out predictive checks, bootstrap CIs, regional cross-sections) ; external forecasting tests are declared infeasible for a 81-day panel. | Regress AMLI on monthly StatCan series | ≤ 3 monthly overlapping points; any "forecasting power" claim would be unsupported. |
12 +| D-008 | 2026-11-01 | Left-censored stock (listings already active at the first crawl, 2026-08-12) is excluded from duration-based hazards (unknown entry date) but kept for hedonics; sensitivity: include with entry = first_seen (lower bound). | Treat first_seen as entry for all | Day-1 stock (≈ 46 k) has unknown listing age. |
13 +| D-009 | 2026-11-01 | Vehicle age measured in years as (listing date − (model year − 1, Sept 1)) ... see analysis plan; mileage in 10 000 km; splines for both. | Model year dummies only | Continuous age needed for the depreciation surface. |
14 +| D-010 | 2026-11-01 | Hedonic quality fixed effects are make×model (A2) and make×model×trim (A4), **not** make×model×model-year: with an 81-day window, model-year FE would absorb vehicle age (age varies only with entry date within a model-year cell). Age is identified across model years. | make-model-year cohort FE as written in the plan | Collinearity of age and model-year FE in a short panel (hedonic.py docstring). Amendment to analysis_plan §3 Model A. |
15 +| D-011 | 2026-11-01 | Model D (competitor response) is estimated as a linear probability model with market×week and make-model-year×week fixed effects (pyfixest), SEs clustered by dealer (primary) and region (secondary); cloglog with coarse FE as robustness. | cloglog with high-dimensional FE | Nonlinear models with ~10⁴ FE cells on 2.9 M listing-days are not estimable with available tools (incidental-parameter and compute); daily base rate ≈ 1 % so LPM is a reasonable local approximation. |
16 +| D-012 | 2026-11-01 | Anonymised identifiers use 10-hex-character SHA-1 prefixes (listings) and 8 (dealers) after a collision was detected at 7 characters (139 expected collisions among 273 k uids). | 7-character ids | Birthday-bound collisions produced duplicate listing rows in the risk set (E-005). |
17 +| D-014 | 2026-11-01 | Left-censoring is defined **per source**: a listing is left-censored if it entered before 2026-08-13 00:00 UTC **or within 24 h of its source's first non-empty crawl** (otogo started on day 6 with 24 565 listings that day, autousagee on day 11 with 11 925). | Global day-1 cut-off only (plan v1.0) | Descriptives agent found 33 224 start-up listings (29 % of S2) whose "entry" was the connector start date; durations and hazards would be biased. Amendment to analysis_plan §1 (S2). |
18 +| D-015 | 2026-11-01 | AMLI market-week panel starts at panel week 2 (days 14–76): weeks 0–1 are contaminated by the portal start-ups (otogo day 6, autousagee day 11). Supervised weights fitted on weeks 2–5, evaluated on weeks 6–10. Coordinates outside the Quebec bounding box (lat 44–63, lng −80 to −56) are treated as missing. | Keep weeks 0–1 | Province components in week 0 are outliers (start-up stock composition), see figure 8 draft. |
added EXPERIMENTS.md +22 −0
@@ -0,0 +1,22 @@
1 +# EXPERIMENTS — commands, versions, data snapshots, results, failures (WP36)
2 +
3 +Environment: macOS 27.0 (Apple M5 Max, 18 cores, 48 GB), Python 3.12.13 via uv (`requirements-lock.txt`), R 4.6.1, TeX Live 2026, SQLite 3.54.
4 +
5 +| ID | Date | Command | Data snapshot | Result / artefact | Outcome |
6 +|---|---|---|---|---|---|
7 +| E-000 | 2026-11-01 | `sqlite3 .backup` on M4M64b + drop users + VACUUM + SHA-256 + zstd + scp | `data/raw/autoka-snapshot-20261101.db` (1 348 825 088 bytes) | checksum OK | success |
8 +| E-001 | 2026-11-01 | ad-hoc SQL audit queries (reports/data_access_audit.md) | snapshot 2026-11-01 | audit tables | success |
9 +| E-002 | 2026-11-01 | `scripts/01_ingest.py` | snapshot sha256 65c3dad2… | `data/interim/*.parquet`, manifest (vehicles 273 265, price_log 428 484, sync_log 83 531; sync ts 2026-08-12 12:30:35 → 2026-11-01 06:49:42 UTC) | success (2.8 s) |
10 +| E-003 | 2026-11-01 | `scripts/02_clean.py` | idem | `data/processed/listings.parquet`, `price_events.parquet` (entry 270 909, cut 76 261, rise 26 486, minor 27 915), `exclusions.csv`, `sample_construction.csv` (S0 273 265 → S1 136 393 → S2 114 767; S2L 128 091); region recovered 13 073; powertrain recovered 84 753; coords from dealer 5 582 | success (≈4 s) |
11 +| E-004 | 2026-11-01 | `scripts/03_features.py` | idem | `data/processed/risk_set.parquet` 3 470 045 listing-days, 125 606 listings (S2L with coords), 2 377 make-model groups, exits 76 262, first cuts 34 103 | success (5.5 s) |
12 +| E-005 | 2026-11-01 | risk-set sanity check | idem | duplicate listing rows (max 3 exits per listing_id) → id collision at 7 hex chars; fixed (D-012) and E-003/E-004 rerun | failure → fixed |
13 +| E-006 | 2026-11-01 | `scripts/04_hedonic.py` | idem | `results/hedonic/`: A1–A5 fits (N 136 393; R² 0.923 → 0.977), Wald H1 nonlinear joint χ²(12)=664 p<1e-100, tensor χ²(49)=667, age×powertrain χ²(35)=312; H4 region joint χ²(16)=14.9 **p=0.53** (null); grouped-dealer CV RMSE: A1 0.1756, A2 0.1706, A2t 0.1724, A4 0.1614 (coverage 57 %), LightGBM 0.1588 | success (2 min 38 s) |
14 +| E-007 | 2026-11-01 | D-014 fix: `02_clean` + `03_features` rerun | idem | S2 114 767 → **80 856** (start-up stock of otogo/autousagee, 33 224 listings, now left-censored); risk set 3 470 045 listing-days / 125 606 listings (S2L) | success |
15 +| E-008 | 2026-11-01 | `scripts/06_hazards.py` (v3: no-competitor flag, Cox dealer-clustered SEs) | idem | B cloglog 318 323 listing-days / 15 692 events, age bins χ²(8)=170; C cloglog 1 663 764 / 43 311, χ²(8)=104; Cox concordance 0.575 (cut) / 0.648 (exit); PH violated for 5 / 9 covariates | success (≈12 min) |
16 +| E-009 | 2026-11-01 | `scripts/07_competition.py` + `07b` | idem | main 25 km n=1 663 764, k=0 +0.89 pp; placebo null; dealer×weekday k=0 +0.55 pp | success |
17 +| E-010 | 2026-11-01 | `scripts/08_prediction.py` (agent) | idem | metrics.json; chrono LightGBM log loss 0.405 / 0.585 | success (133 s) |
18 +| E-011 | 2026-11-01 | `scripts/09_amli.py 200` (weeks 2–10, D-015) | idem | PCA 56 %; held-out slope 0.97 pp [0.69, 1.24]; 200 dealer-bootstrap reps | success (≈10 min) |
19 +| E-012 | 2026-11-01 | `scripts/10_validation.py` | idem | exit_validation.json (94 % within 7 d; 10.2 % relisted) | success |
20 +| E-013 | 2026-11-01 | first hazards run (v1/v2) | idem | v1 KeyError e_day (merge); v2 dropped listing-days without competitors (pricepos NaN) → B n_listings = n_events; both fixed in v3 | failures → fixed |
21 +| E-014 | 2026-11-01 | first AMLI run (weeks 0–10) | idem | week-0 province components were start-up outliers → D-015 | superseded |
22 +| E-015 | 2026-11-01 | `paper/`: latexmk | — | main.pdf 45 pp.; bib `$` escape fixed in busse2006cashback | success |
added Makefile +37 −0
@@ -0,0 +1,37 @@
1 +# UQO WP36 — end-to-end pipeline (see REPRODUCE.md)
2 +PY := .venv/bin/python
3 +.PHONY: all env data models figures tables paper test clean
4 +
5 +all: data models tables figures paper
6 +
7 +env:
8 + uv venv -p 3.12 .venv && uv pip install -e ".[dev]"
9 +
10 +data: ## 01 ingest -> 02 clean -> 03 risk set
11 + $(PY) scripts/01_ingest.py && $(PY) scripts/02_clean.py && $(PY) scripts/03_features.py
12 +
13 +models: ## 04 hedonic, 05 descriptives, 06 hazards, 07 competition (+07b), 08 prediction, 09 AMLI, 10 validation, 12 robustness
14 + $(PY) scripts/04_hedonic.py > logs/04_hedonic.log 2>&1
15 + $(PY) scripts/05_descriptives.py > logs/05_descriptives.log 2>&1
16 + $(PY) scripts/06_hazards.py > logs/06_hazards.log 2>&1
17 + $(PY) scripts/07_competition.py > logs/07_competition.log 2>&1
18 + $(PY) scripts/07b_competition_dow.py > logs/07b_competition_dow.log 2>&1
19 + $(PY) scripts/08_prediction.py > logs/08_prediction.log 2>&1
20 + $(PY) scripts/09_amli.py 200 > logs/09_amli.log 2>&1
21 + $(PY) scripts/10_validation.py > logs/10_validation.log 2>&1
22 + $(PY) scripts/12_robustness.py > logs/12_robustness.log 2>&1
23 +
24 +figures:
25 + $(PY) scripts/11_figures.py
26 +
27 +tables:
28 + $(PY) scripts/13_tables.py
29 +
30 +paper:
31 + cd paper && latexmk -pdf -interaction=nonstopmode main.tex
32 +
33 +test:
34 + $(PY) -m pytest -q tests
35 +
36 +clean:
37 + cd paper && latexmk -C
added README.md +81 −0
@@ -0,0 +1,81 @@
1 +# The Hidden Dynamics of Used-Car Markets: Price Discovery, Inventory Liquidity, and Strategic Dealer Behavior
2 +
3 +**UQO Working Paper No. 36** — *Evidence from a Daily Panel of 273,265 Quebec Listings*
4 +
5 +![Paper](https://img.shields.io/badge/paper-PDF-NavyBlue) ![Python](https://img.shields.io/badge/Python-3.12-3776ab) ![Data](https://img.shields.io/badge/data-Auto--Ka%20snapshot%202026--11--01-ff5a2a) ![Reproducible](https://img.shields.io/badge/reproducible-make%20all-green) ![UQO](https://img.shields.io/badge/UQO-DSA-blue) ![Author](https://img.shields.io/badge/author-S.--P.%20Boucher-lightgrey)
6 +
7 +## TL;DR
8 +- Daily panel of every used-vehicle listing on 131 Quebec dealer websites, 2 full-inventory portals and 5 dealer groups, 12 Aug–1 Nov 2026 (273,265 listings, 428,484 price-log rows, 586 crawl cycles), from the aggregator Auto-Ka.
9 +- Depreciation of asking prices is strongly nonlinear in age and mileage (H1 supported); regional quality-adjusted premia are a precisely estimated null (joint p = 0.53).
10 +- 20 % of listings get a sustained markdown (median 2.8 %); the markdown hazard rises over three weeks; overpriced vehicles are cut sooner and more deeply.
11 +- Competitor price cuts co-move the same day (+0.9 pp vs a 1.4 % base rate) with no lagged response; placebo null — association, not causation.
12 +- Listing exit ≠ sale: 94 % of exits coincide across two sources within a week, but ≥ 10 % are followed by a relisting.
13 +- A five-component Automobile Market Liquidity Index (AMLI) explains 56 % of common variation and its non-exit components predict next-week exits; deep markdowns load as illiquidity. No external forecasting claim.
14 +
15 +## Status
16 +Version 1.0, November 2026. Not yet submitted (SSRN: not yet submitted). Preregistered plan: `research/analysis_plan.md` (amendments in `DECISIONS.md`).
17 +
18 +## What this paper does
19 +Audits an aggregator database, builds a reproducible listing-day panel with auditable exclusions, estimates hedonic, hazard, event-study and prediction models under a preregistered plan, validates listing exit as a sale proxy, and constructs and internally validates a market-level liquidity index.
20 +
21 +## Headline results
22 +| Hypothesis | Result | Evidence |
23 +|---|---|---|
24 +| H1 nonlinear depreciation | Supported (χ²(12)=664; CV RMSE −2.8 %) | `results/hedonic/` |
25 +| H2 markdown hazard ↑ listing age | Supported (χ²(8)=170); competition/relative-price effects significant in Cox, imprecise in cloglog | `results/hazards/` |
26 +| H3 competitor response | Same-day co-movement only; no lagged response; placebo null | `results/competition/` |
27 +| H4 regional premia | Null (p = 0.53; all |premia| < 4 %) | `results/hedonic/region_premia_A4.csv` |
28 +| H5 relative price → exit | Not supported (p = 0.42/0.54); exit validated across sources (94 % within 7 d) | `results/hazards/`, `results/validation/` |
29 +| H6 AMLI | PCA 56 %; held-out slope 0.97 pp [0.69, 1.24]; no external test possible | `results/amli/` |
30 +
31 +## Repository layout
32 +```
33 +paper/ main.tex, sections/, appendix/, tables/, figures/, references.bib, main.pdf
34 +src/ucml/ ingest, pricepaths, cleaning, features, hedonic, hazards, competition, prediction, amli, validation, robustness, descriptives, figures, tables, plotstyle, synthetic
35 +scripts/ 01_ingest … 13_tables (numbered pipeline)
36 +tests/ pytest suite (synthetic fixture, no restricted data)
37 +research/ questions.md, analysis_plan.md (preregistration)
38 +literature/ references.bib (172 verified), evidence_matrix.csv, novelty_memo.md, search_protocol.md
39 +reports/ data_access_audit.md, external_benchmarks_inventory.md
40 +data/ raw/ (restricted, not committed), interim/, processed/, synthetic/
41 +results/ machine-readable outputs per model
42 +STATUS.md DECISIONS.md EXPERIMENTS.md CLAIMS_LEDGER.csv REPRODUCE.md
43 +```
44 +
45 +## Quick start
46 +```bash
47 +make env && make test
48 +make all # data → models → tables → figures → paper (≈45 min; needs the restricted snapshot)
49 +cd paper && make # PDF only
50 +```
51 +
52 +## Data
53 +Owner-authorised read-only snapshot of the Auto-Ka production database (SQLite, 1.35 GB, SHA-256 in `data/raw/*.sha256`), user table dropped before transfer; VINs, URLs, free text and exact coordinates restricted to `data/raw` and `data/interim`. Not redistributed. See `reports/data_access_audit.md`.
54 +
55 +## Methodology
56 +Hedonic splines with make–model(–trim) and dealer FE (pyfixest); discrete-time cloglog and Cox hazards with dealer-clustered SEs (statsmodels, lifelines); linear-probability event study with market×week and model-year×week FE and a within-make–model placebo; LightGBM/logistic prediction with chronological, dealer and region holdouts; five-component AMLI with equal/PCA/supervised weights, dealer block bootstrap and held-out-component validation.
57 +
58 +## Figures & tables inventory
59 +Figures 1–10 (`figures/`, vector PDF + PNG): coverage, depreciation surface, durations/cuts, price paths, hazards, event study, regional map, AMLI series, AMLI validation, prediction. Tables 1–9 (`paper/tables/`): sources, sample construction, descriptives, hedonic (+tests), hazards, competition (+region premia), AMLI, prediction, robustness.
60 +
61 +## Limitations
62 +Asking prices, not transactions; exit = observed disappearance (≥ 10 % relistings); 81-day window; registry is not a random sample of dealers; H3 is association only; AMLI validated internally only.
63 +
64 +## Citation
65 +```bibtex
66 +@techreport{boucher2026usedcars,
67 + author = {Boucher, Simon-Pierre},
68 + title = {The Hidden Dynamics of Used-Car Markets: Price Discovery, Inventory Liquidity, and Strategic Dealer Behavior},
69 + institution = {Université du Québec en Outaouais, Département des sciences administratives},
70 + type = {UQO Working Paper},
71 + number = {36},
72 + year = {2026},
73 + month = {November}
74 +}
75 +```
76 +
77 +## Author & contact
78 +Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca
79 +
80 +## Notes
81 +Built under the autonomous research protocol of 2026-11-01 (mandate in `docs/MANDATE.md`); all substantive claims are traced in `CLAIMS_LEDGER.csv`.
added REPRODUCE.md +42 −0
@@ -0,0 +1,42 @@
1 +# REPRODUCE — end-to-end instructions (UQO WP36)
2 +
3 +## 0. Prerequisites
4 +- macOS or Linux; Python 3.12 managed by `uv` (0.11+); TeX Live 2026 (`pdflatex`, `bibtex`, `latexmk`); SQLite ≥ 3.40; `zstd`.
5 +- Hardware used: Apple M5 Max (18 cores, 48 GB). Full pipeline wall time ≈ 45 min (the robustness suite and the 200-replication dealer bootstrap dominate).
6 +- Raw data: owner-authorised snapshot `data/raw/autoka-snapshot-20261101.db` (1.35 GB, SHA-256 `65c3dad229a402f89129c614111a8d6f7b583eb7b46a6014a34e0ebca8de0132`; **not distributed**, restricted fields). Also required: `data/raw/registry/sources.json` and `villes_gps.json` (public registry copied from the platform).
7 + Operator-only regeneration from the production node:
8 + ```bash
9 + ssh M4M64b 'cd ~/auto-ka && sqlite3 data/autoka.db ".backup /tmp/snap.db" && sqlite3 /tmp/snap.db "DROP TABLE IF EXISTS users; VACUUM;" && shasum -a 256 /tmp/snap.db && zstd -T0 -3 /tmp/snap.db'
10 + scp M4M64b:/tmp/snap.db.zst data/raw/ && zstd -d data/raw/snap.db.zst -o data/raw/autoka-snapshot-YYYYMMDD.db
11 + ```
12 + Without the snapshot, the pipeline and all tests run on the **clearly labelled synthetic fixture** (`python -m ucml.synthetic` → `data/synthetic/autoka-synthetic.db`; set `UCML_SNAPSHOT` to that path). Synthetic output is for code validation only and carries no empirical content.
13 +
14 +## 1. Environment
15 +```bash
16 +make env # uv venv + editable install (pinned versions in requirements-lock.txt)
17 +make test # 14 unit/pipeline tests (pricepaths, cleaning rules, synthetic end-to-end, prediction helpers)
18 +```
19 +
20 +## 2. Pipeline (in order; each script is idempotent and writes to results/, figures/, paper/tables/)
21 +| Step | Script | Output |
22 +|---|---|---|
23 +| 01 | `scripts/01_ingest.py` | `data/interim/*.parquet`, `manifest.json` (row counts, time bounds, SHA-256) |
24 +| 02 | `scripts/02_clean.py` | `data/processed/listings.parquet`, `price_events.parquet`, `exclusions.csv`, `sample_construction.csv`, `sources_registry.csv`, `cleaning_stats.json` |
25 +| 03 | `scripts/03_features.py` | `data/processed/risk_set.parquet` (listing-days with competitor sets at 10/25/50 km) |
26 +| 04 | `scripts/04_hedonic.py` | `results/hedonic/` (Models A1–A5, tests, region premia, residuals, surface, grouped CV incl. LightGBM) |
27 +| 05 | `scripts/05_descriptives.py` | Figures 1, 3, 4; Tables 1–3; `results/descriptives/summary.json` |
28 +| 06 | `scripts/06_hazards.py` | `results/hazards/` (cloglog B/C, Cox with dealer-clustered SEs, AFT, cut size, empirical hazards) |
29 +| 07 | `scripts/07_competition.py`, `07b_competition_dow.py` | `results/competition/` (event studies, placebo, radii, dealer×weekday FE) |
30 +| 08 | `scripts/08_prediction.py` | `results/prediction/`, Figure 10, Table 8 |
31 +| 09 | `scripts/09_amli.py 200` | `results/amli/` (indices, weights, validation, dealer bootstrap) |
32 +| 10 | `scripts/10_validation.py` | `results/validation/exit_validation.json` |
33 +| 11 | `scripts/11_figures.py` | Figures 2, 5–9 |
34 +| 12 | `scripts/12_robustness.py` | `results/robustness/`, Table 9, Holm-adjusted primary tests |
35 +| 13 | `scripts/13_tables.py` | Tables 4–7 |
36 +`make all` runs everything (`make data models tables figures paper`).
37 +
38 +## 3. Paper
39 +```bash
40 +cd paper && make # latexmk: pdflatex + bibtex (natbib, aer.bst) -> paper/main.pdf
41 +```
42 +Every number in the manuscript is traced in `CLAIMS_LEDGER.csv` to a results file; `EXPERIMENTS.md` logs each run; `DECISIONS.md` records amendments to the preregistered plan (`research/analysis_plan.md`).
added STATUS.md +28 −0
@@ -0,0 +1,28 @@
1 +# STATUS — UQO WP36 (Used-car market dynamics, Auto-Ka)
2 +
3 +Updated: 2026-11-01
4 +
5 +## Current phase
6 +Phase 4–5 (econometric program + AMLI) — Phases 0–3 complete; Phase 2 literature agent running.
7 +
8 +## Completed
9 +- [x] Phase 0: repository/infra inspection (Auto-Ka on M4M64b, SQLite 1.4 GB, 143 sources, crawl cycle ≈ 3.3 h).
10 +- [x] Phase 0: owner-authorised read-only snapshot `data/raw/autoka-snapshot-20261101.db` (SHA-256 verified; `users` table dropped).
11 +- [x] Phase 0: schema / coverage / null-rate / source-quality audit; feasibility matrix H1–H6; governance.
12 +- [x] Environment: uv venv Python 3.12 (`requirements-lock.txt`), R 4.6.1, TeX Live 2026 available; no external model API used.
13 +- [x] Phase 1: `research/questions.md`, `research/analysis_plan.md` (preregistered 2026-11-01).
14 +- [ ] Phase 2: literature (agent running: `literature/references.bib`, `evidence_matrix.csv`, `novelty_memo.md`).
15 +- [x] Phase 2b: external benchmarks inventory (`reports/external_benchmarks_inventory.md`): no weekly used-car benchmark exists for Aug–Oct 2026; composition benchmarks only.
16 +- [x] Phase 3: pipeline 01–03 (ingest, clean, risk set) + 10 tests passing + synthetic fixture.
17 +- [x] Phase 4 Model A (hedonic) done — H1 supported, H4 null.
18 +- [ ] Phase 4 Models B/C (hazards), D (competition), F (prediction agent) running; descriptives agent running.
19 +- [ ] Phase 5 AMLI.
20 +
21 +## Next tasks
22 +1. Phase 3 pipeline: ingest → Parquet; cleaning + exclusion log; sustained price paths; listing-day risk set; competitor sets; sample-construction tables.
23 +2. Phase 4 models A–F; Phase 5 AMLI; Phase 6 robustness; Phase 7 figures/tables; Phase 8 paper.
24 +
25 +## Blockers / known limits
26 +- No transaction prices (asking prices only); listing exit ≠ sale (no verified sale outcomes available).
27 +- Panel is 81 days (2026-08-12 → 2026-11-01): H6 external forecasting cannot be tested; H3 is association only.
28 +- AutoTrader (capped 2 000 sliding window) and CarGurus (capped 500) are sampled portals → excluded from dynamic analyses.
added data/interim/manifest.json +17 −0
@@ -0,0 +1,17 @@
1 +{
2 + "snapshot": "/Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/economie/used-car-market-liquidity/data/raw/autoka-snapshot-20261101.db",
3 + "created_utc": "2026-11-01T08:02:17Z",
4 + "sha256": "65c3dad229a402f89129c614111a8d6f7b583eb7b46a6014a34e0ebca8de0132",
5 + "rows": {
6 + "vehicles": 273265,
7 + "price_log": 428484,
8 + "sync_log": 83531,
9 + "dealers": 138,
10 + "vin_decode": 4655
11 + },
12 + "sync_ts_min": 1786537835.64518,
13 + "sync_ts_max": 1793515782.732466,
14 + "first_seen_min": 1786537959.087422,
15 + "last_seen_max": 1793515782.732466,
16 + "seconds": 2.8
17 +}
\ No newline at end of file
added data/processed/.gitkeep +0 −0
added data/raw/README.md +5 −0
@@ -0,0 +1,5 @@
1 +# data/raw — provenance (restricted, never committed)
2 +
3 +- `autoka-snapshot-20261101.db` — owner-authorised read-only `.backup` of the Auto-Ka production SQLite database (node M4M64b, `~/auto-ka/data/autoka.db`), taken 2026-11-01 ≈ 02:50 America/Toronto; `users` table dropped and `VACUUM` on the production node before transfer; 1 348 825 088 bytes; SHA-256 in `autoka-snapshot-20261101.db.sha256` (verified after transfer). Last sync contained: 2026-11-01 06:49:42 UTC. Contains VINs, URLs, free text, images (JSON) and exact coordinates → restricted.
4 +- `registry/sources.json`, `registry/villes_gps.json`, `registry/docs/connecteurs/*.md` — public source registry, city coordinates and generated connector documentation copied from the platform repository (`auto-ka.git`, commit 9c35e30).
5 +- `external/` — public benchmark downloads (Statistics Canada WDS, Bank of Canada Valet, Canadian Black Book, AutoTrader, Régie de l'énergie, NRCan), see `external/README.md` for URLs, dates and licences.
added data/raw/autoka-snapshot-20261101.db.sha256 +1 −0
@@ -0,0 +1 @@
1 +65c3dad229a402f89129c614111a8d6f7b583eb7b46a6014a34e0ebca8de0132 /tmp/wp36/autoka-snapshot-20261101.db
added docs/MANDATE.md +11 −0
@@ -0,0 +1,11 @@
1 +# UQO WP36 — Autonomous Research Protocol (mandate as received, 2026-11-01)
2 +
3 +Working paper: WP36. Provisional title: The Hidden Dynamics of Used-Car Markets: Price Discovery, Inventory Liquidity, and Strategic Dealer Behavior. Institution: UQO. Domain: applied microeconomics, IO, empirical finance, transportation economics, computational social science. Primary data platform: https://www.auto-ka.com. Manuscript language: English. Standard: reproducible, submission-ready academic paper.
4 +
5 +Mission: original, defensible empirical investigation of the Quebec used-car market using legitimately accessible Auto-Ka data. Central question: how do dealer competition, vehicle characteristics, inventory age and local market conditions jointly determine asking-price dynamics and the liquidity of durable goods? Develop and evaluate an Automobile Market Liquidity Index (AMLI) with explicit identification and validation limits. Scientific integrity is non-negotiable: never fabricate data, API capabilities, transaction prices, dealer decisions, citations, significance or results; a disappearing listing is not proof of sale; distinguish asking prices from transaction prices throughout.
6 +
7 +Phases: 0 environment/access audit (gate before any empirical finding); 1 preregistered questions and analysis plan (H1 nonlinear depreciation, H2 markdown hazard, H3 competitive response as association, H4 regional segmentation, H5 exit and liquidity, H6 AMLI); 2 literature review with verified citations, evidence matrix, novelty memo; 3 data architecture and longitudinal panel with quality controls (duplicates, placeholders, stale listings, left-censoring, interval-censored exit, representativeness, no leakage, attrition tables); 4 econometric program (Models A hedonic, B price-change processes, C listing exit, D competitive response, E regional segmentation, F prediction); 5 AMLI (components, sign, normalisation, weights, missingness, validation, no unsupported forecasting claims); 6 robustness, identification and reproducibility (mandatory checks, experiment manifests, preserve nulls); 7 figures (10) and tables (9), no invented points; 8 LaTeX manuscript (structure 1–12, compiled and inspected); 9 execution rules (STATUS.md, DECISIONS.md, EXPERIMENTS.md, CLAIMS_LEDGER.csv, REPRODUCE.md; lead agent reconciles; untrusted external text; stop and report blockers; benchmark before scaling).
8 +
9 +Final acceptance criteria: lawful source-data audit; executable, tested, versioned pipeline; hypothesis/estimand/identification matrix; verified references and novelty assessment; reproducible estimates with uncertainty and robustness; defensible AMLI with transparent validation or explicit explanation; traceable publication-quality figures and tables; compiled LaTeX PDF and source; claims ledger and reproduction instructions; honest limitations distinguishing asking prices, listing exits and transactions.
10 +
11 +(The verbatim mandate text was pasted by the author into the Claude Code session on 2026-11-01; this file is the lead agent's faithful summary of its content.)
added docs/README-template.md +109 −0
@@ -0,0 +1,109 @@
1 +<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->
2 +# <Emoji> <Title>
3 +
4 +**UQO Working Paper No. <N>** — *<Subtitle, or one-line description>*
5 +
6 +[![Paper](https://img.shields.io/badge/paper-PDF%20(<P>%20p.)-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)
7 +[![Python](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](requirements.txt)
8 +[![Data](https://img.shields.io/badge/data-<N%20obs>%20·%20<format>-4051b5)](data/raw/README.md)
9 +[![Reproducible](https://img.shields.io/badge/reproducible-end--to--end%20pipeline-2e7d32)](scripts/)
10 +[![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca)
11 +[![Author](https://img.shields.io/badge/author-Simon--Pierre%20Boucher-16365c)](mailto:simon-pierre.boucher@uqo.ca)
12 +
13 +> **TL;DR** — Three to six lines: question, data (size, period), method, headline numbers, takeaway.
14 +
15 +---
16 +
17 +## 📌 Status
18 +
19 +| Item | Value |
20 +|---|---|
21 +| Version | <x.y> (<Month YYYY>) |
22 +| SSRN | <abstract ID + link> / not yet submitted |
23 +| Journal | <target or submission status> / — |
24 +| Code & data | reproducible from `scripts/` (see Quick start); raw data not redistributed |
25 +
26 +## 🎯 What this paper does
27 +
28 +Two or three paragraphs: research question, why it matters, what is new. Core equation if any:
29 +
30 +```
31 +y_i = α + x_i'β + ε_i
32 +```
33 +
34 +## 🏆 Headline results
35 +
36 +| Object | Estimate |
37 +|---|---|
38 +| … | … |
39 +
40 +## 🗂 Repository layout
41 +
42 +```
43 +<repo>/
44 +├── data/
45 +│ ├── raw/ # <source snapshot> (see data/raw/README.md) — not committed
46 +│ └── processed/ # built by step 01
47 +├── src/<pkg>/ # reusable package
48 +├── scripts/ # the pipeline, in order
49 +│ ├── 01_….py
50 +│ └── …
51 +├── results/ # CSV / JSON emitted by the scripts
52 +├── figures/ # publication figures
53 +└── paper/ # main.tex + sections/ + references.bib → main.pdf
54 +```
55 +
56 +## 🚀 Quick start
57 +
58 +```bash
59 +python3 -m pip install -r requirements.txt
60 +python3 scripts/01_….py
61 +…
62 +cd paper && make # latexmk → main.pdf
63 +```
64 +
65 +Runtime and memory on an Apple-silicon laptop.
66 +
67 +## 🗃 Data
68 +
69 +Provenance, extraction date, number of observations, filters (sample cascade), how to obtain the raw snapshot.
70 +
71 +## 🔬 Methodology
72 +
73 +Numbered list of the estimation steps, each pointing to the module that implements it.
74 +
75 +## 🖼 Figures & tables inventory
76 +
77 +| Figure | Content |
78 +|---|---|
79 +| `fig_…` | … |
80 +
81 +Tables (`paper/tables/*.tex`): ….
82 +
83 +## ⚠️ Limitations
84 +
85 +- …
86 +
87 +## 📝 Citation
88 +
89 +```bibtex
90 +@techreport{boucher2026<key>,
91 + author = {Boucher, Simon-Pierre},
92 + title = {<Title>: <Subtitle>},
93 + institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},
94 + type = {Working Paper},
95 + number = {<N>},
96 + year = {2026},
97 + month = {<Month>}
98 +}
99 +```
100 +
101 +## 👤 Author & contact
102 +
103 +**Simon-Pierre Boucher** — Département des sciences administratives,
104 +Université du Québec en Outaouais (UQO), Gatineau, QC.
105 +📧 [simon-pierre.boucher@uqo.ca](mailto:simon-pierre.boucher@uqo.ca)
106 +
107 +## 🗒 Notes
108 +
109 +- Numbering history / deviations from `Recherche-UQO/HARMONISATION.md`, if any.
added figures/fig01_coverage.pdf +0 −0

Binary file not shown.

added figures/fig01_coverage.png +0 −0

Binary file not shown.

added figures/fig02_depreciation_surface.pdf +0 −0

Binary file not shown.

added figures/fig02_depreciation_surface.png +0 −0

Binary file not shown.

added figures/fig03_listing_age_and_cuts.pdf +0 −0

Binary file not shown.

added figures/fig03_listing_age_and_cuts.png +0 −0

Binary file not shown.

added figures/fig04_price_paths.pdf +0 −0

Binary file not shown.

added figures/fig04_price_paths.png +0 −0

Binary file not shown.

added figures/fig05_hazard_curves.pdf +0 −0

Binary file not shown.

added figures/fig05_hazard_curves.png +0 −0

Binary file not shown.

added figures/fig06_competitor_event_study.pdf +0 −0

Binary file not shown.

added figures/fig06_competitor_event_study.png +0 −0

Binary file not shown.

added figures/fig07_regional_premia_map.pdf +0 −0

Binary file not shown.

added figures/fig07_regional_premia_map.png +0 −0

Binary file not shown.

added figures/fig08_amli_series.pdf +0 −0

Binary file not shown.

added figures/fig08_amli_series.png +0 −0

Binary file not shown.

added figures/fig09_amli_validation.pdf +0 −0

Binary file not shown.

added figures/fig09_amli_validation.png +0 −0

Binary file not shown.

added figures/fig10_prediction.pdf +0 −0

Binary file not shown.

added figures/fig10_prediction.png +0 −0

Binary file not shown.

added literature/evidence_matrix.csv +173 −0
@@ -0,0 +1,173 @@
1 +key,authors,year,venue,topic_bucket,data_setting,method,main_finding,relevance_to_WP36,verified_via,notes
2 +rosen1974hedonic,Rosen,1974,Journal of Political Economy,A,Theory,Hedonic equilibrium of implicit markets,Hedonic price function is an equilibrium envelope; identification caveats,"Theoretical basis for interpreting hedonic coefficients on mileage, age, trim",crossref DOI 10.1086/260169,
3 +lancaster1966newapproach,Lancaster,1966,Journal of Political Economy,A,Theory,Characteristics model of demand,Goods valued through their characteristics,Micro-foundation for hedonic specification,crossref DOI 10.1086/259131,
4 +pakes2003hedonic,Pakes,2003,American Economic Review,A,US PCs 1995-99,Hedonic indexes with flexible functional forms,Hedonic indexes need not have constant coefficients; matched-model bias,Guides rolling-window hedonic index design for AMLI,crossref DOI 10.1257/000282803322655455,
5 +triplett2006handbook,Triplett,2006,OECD Publishing,A,Methodology,OECD handbook on hedonic quality adjustment,Best practice for hedonic indexes in official statistics,Standard reference for quality adjustment choices,crossref DOI 10.1787/9789264028159-en,
6 +bajari2005hedonic,Bajari & Benkard,2005,Journal of Political Economy,A,US PCs,Hedonic demand estimation with unobserved characteristics,Recovers preferences and unobserved quality from hedonic prices,Unobserved vehicle quality (condition) warning for listing data,crossref DOI 10.1086/498586,
7 +ekeland2004hedonic,Ekeland et al.,2004,Journal of Political Economy,A,Theory/econometrics,Identification of hedonic models,Nonlinear hedonic models are identified under weak conditions,Supports nonparametric/ML hedonic pricing,crossref DOI 10.1086/379947,
8 +silver2007hedonicimputation,Silver & Heravi,2007,Journal of Business \& Economic Statistics,A,UK scanner data,Hedonic imputation vs time-dummy indexes,Difference depends on changes in characteristics and parameters,Choice of index formula for AMLI price component,crossref DOI 10.1198/073500106000000486,
9 +diewert2003hedonic,Diewert,2003,Scanner Data and Price Indexes,A,Theory,Consumer-theory derivation of hedonic regressions,Justifies log-price hedonic specifications and weighting,Specification of the hedonic model,crossref DOI 10.7208/chicago/9780226239668.003.0012,
10 +dreyfus1995timepreference,Dreyfus & Viscusi,1995,Journal of Law and Economics,A,US automobiles,Hedonic regression on new-car prices,Implicit prices of safety and fuel efficiency; discount rates 11-17%,Hedonic valuation of vehicle attributes,crossref DOI 10.1086/467326,
11 +berry1995automobile,Berry et al.,1995,Econometrica,A,US new cars 1971-90,Discrete-choice demand with unobserved characteristics (BLP),Markups and substitution patterns in autos,Benchmark structural model of auto demand; motivates reduced-form approach,crossref DOI 10.2307/2171802,
12 +goodman1998court,Goodman,1998,Journal of Urban Economics,A,History,Review of Court 1939,Court invented hedonic price analysis in 1939,Documents Court 1939 provenance,crossref DOI 10.1006/juec.1997.2071,
13 +akerlof1970lemons,Akerlof,1970,Quarterly Journal of Economics,B,Theory (used cars),Adverse selection model,Quality uncertainty can collapse the used-car market,Foundational: asymmetric information in used cars,crossref DOI 10.2307/1879431,
14 +hendel1999adverse,Hendel & Lizzeri,1999,American Economic Review,B,Theory,Dynamic durable-goods model with adverse selection,Adverse selection does not shut down trade; affects volume and prices across vintages,Theory of vintage pricing and turnover,crossref DOI 10.1257/aer.89.5.1097,
15 +hendel2002leasing,Hendel & Lizzeri,2002,Journal of Political Economy,B,Theory + US auto data,Leasing under adverse selection,Leasing contracts mitigate adverse selection; off-lease supply,Explains supply of 2-4 year old cars to dealers,crossref DOI 10.1086/324387,
16 +stolyarov2002turnover,Stolyarov,2002,Journal of Political Economy,B,US used cars (CES),Stationary equilibrium model,Trade volume non-monotone in age because of transaction costs,Age profile of listing exit and turnover,crossref DOI 10.1086/343745,
17 +gavazza2014usedcar,Gavazza et al.,2014,American Economic Review,B,US used cars,Quantitative dynamic equilibrium model,"Transaction costs are key for used-car volumes, prices and welfare",Closest structural benchmark for used-car liquidity,crossref DOI 10.1257/aer.104.11.3668,
18 +rust1985durable,Rust,1985,Econometrica,B,Theory,Stationary equilibrium of durable asset market,Prices of used assets determined by scrappage and replacement,Theory of used-asset price profiles,crossref DOI 10.2307/1912654,
19 +porter1999usedtrade,Porter & Sattler,1999,National Bureau of Economic Research,B,US autos,Theory and evidence on trade patterns in used durables,Trade volume by age consistent with heterogeneous valuations,Age/vintage patterns of used-car trade,crossref DOI 10.3386/w7149,NBER WP never published; NBER DOI
20 +engers2009annualmiles,Engers et al.,2009,Journal of Applied Econometrics,B,US used cars (Kelley/Consumer Reports),Hedonic with mileage and age,"Annual miles driven, not age per se, drive used-car prices",Mileage adjustment in hedonic model,crossref DOI 10.1002/jae.1034,
21 +emons2009usedcars,Emons & Sheldon,2009,Applied Economics,B,Swiss used cars,Test of lemons via repair frequency,Evidence consistent with lemons phenomenon,Adverse selection in used cars (European evidence),crossref DOI 10.1080/00036840802277332,
22 +genesove1993adverse,Genesove,1993,Journal of Political Economy,B,US wholesale used-car auctions,Test of adverse selection by seller type,Mild adverse selection among dealers at auction,Wholesale side of dealer sourcing,crossref DOI 10.1086/261891,
23 +lewis2011asymmetric,Lewis,2011,American Economic Review,B,eBay Motors listings,Effect of disclosure on prices,"Voluntary disclosure (photos, text) raises prices; reduces asymmetry",Online listing information and price,crossref DOI 10.1257/aer.101.4.1535,
24 +adams2011vettes,Adams et al.,2011,Quantitative Marketing and Economics,B,eBay Corvettes,Test of adverse selection online,Little evidence of lemons for enthusiast cars online,Online used-car markets evidence,crossref DOI 10.1007/s11129-011-9095-2,
25 +peterson2014adverse,Peterson & Schneider,2014,RAND Journal of Economics,B,US CES purchase and repair data,Test using repair patterns,Used cars bought from dealers vs private differ in repair; adverse selection present,Dealer channel quality signal,crossref DOI 10.1111/1756-2171.12045,
26 +peterson2017beautiful,Peterson & Schneider,2017,Management Science,B,US used-car transactions,Durable-goods sorting model with adverse selection,Sorting of quality across channels and prices,Dealer vs private market segmentation,crossref DOI 10.1287/mnsc.2016.2495,
27 +busse2013gasoline,Busse et al.,2013,American Economic Review,B,US new and used car transactions,Gas-price shocks to prices and sales,Used-car prices respond strongly to fuel prices; consumers not myopic,Macro shocks transmit to used-car prices quickly,crossref DOI 10.1257/aer.103.1.220,
28 +sallee2016fueleconomy,Sallee et al.,2016,Journal of Public Economics,B,US used-car transactions,Fuel-cost capitalization,Used-car prices fully capitalize fuel costs,Attribute valuation in used-car prices,crossref DOI 10.1016/j.jpubeco.2016.01.003,
29 +jacobsen2015scrappage,Jacobsen & van Benthem,2015,American Economic Review,B,US vehicle fleet,Scrappage elasticity estimation,Scrappage responds to used-car prices; policy leakage,Exit of vehicles from the stock,crossref DOI 10.1257/aer.20130935,
30 +larsen2021bargaining,Larsen,2021,Review of Economic Studies,B,US wholesale used-auto auctions,Bargaining efficiency estimation,Post-auction bargaining fairly efficient; dynamic reservation prices,Wholesale price discovery benchmark,crossref DOI 10.1093/restud/rdaa007,
31 +kooreman2006anomalies,Kooreman & Haan,2006,De Economist,B,Dutch used-car ads,Hedonic on listing prices,Price anomalies (e.g. registration-year thresholds) in asking prices,Asking-price data from classifieds in economics,crossref DOI 10.1007/s10645-006-6485-z,Dutch listing data precedent
32 +lacetera2012heuristic,Lacetera et al.,2012,American Economic Review,B,US wholesale auctions,Discontinuities at mileage thresholds,Left-digit bias in mileage affects prices,Mileage heuristics in used-car pricing,crossref DOI 10.1257/aer.102.5.2206,
33 +biglaiser2020intermediaries,Biglaiser et al.,2020,RAND Journal of Economics,B,US used-car transactions (Pennsylvania),Model of dealer as quality intermediary,Dealers sort quality; price premium relates to time on market,Closest academic link between dealer premium and time on market,crossref DOI 10.1111/1756-2171.12344,
34 +biglaiser1993middlemen,Biglaiser,1993,RAND Journal of Economics,B,Theory,Middlemen as quality experts,Intermediaries arise to certify quality,Dealer role in used-car market,crossref DOI 10.2307/2555758,
35 +haan2010internetregional,Haan & de Boer,2010,De Economist,B,Dutch used-car listings,Regional price dispersion before/after internet,Internet did not eliminate regional price differences in used cars,Direct precedent for regional segmentation of asking prices,crossref DOI 10.1007/s10645-010-9151-4,Also relevant to bucket F
36 +pesendorfer2002retailsales,Pesendorfer,2002,Journal of Business,C,US supermarket scanner data,Dynamic pricing with intertemporal demand,Sales timing depends on time since last sale,Dynamic markdown logic,crossref DOI 10.1086/323504,
37 +nakamura2008fivefacts,Nakamura & Steinsson,2008,Quarterly Journal of Economics,C,US CPI micro data,Frequency and size of price changes,Price rigidity facts; sales vs regular prices,Benchmark for frequency of asking-price changes,crossref DOI 10.1162/qjec.2008.123.4.1415,
38 +aguirregabiria1999markups,Aguirregabiria,1999,Review of Economic Studies,C,Spanish supermarket chain,Dynamic structural model of markups and inventories,Inventories drive markup cycles,Inventory-markup link for dealers,crossref DOI 10.1111/1467-937X.00088,
39 +cho2010flatrental,Cho & Rust,2010,Review of Economic Studies,C,US auto rental company,Dynamic programming of rental fleet,Flat rental rates despite depreciation puzzle,Vehicle age pricing puzzle,crossref DOI 10.1111/j.1467-937x.2009.00556.x,
40 +zettelmeyer2006internet,Zettelmeyer et al.,2006,Journal of Marketing Research,C,US new-car transactions,Matched survey/transactions,Internet lowers prices via information and referral,Information effects on car prices,crossref DOI 10.1509/jmkr.43.2.168,
41 +scottmorton2001internet,Scott Morton et al.,2001,Journal of Industrial Economics,C,US new-car transactions,Referral-service pricing,Internet referral buyers pay ~2% less,Internet car retailing benchmark,crossref DOI 10.1111/1467-6451.00160,
42 +busse2006cashback,Busse et al.,2006,American Economic Review,C,US new-car promotions,Pass-through of manufacturer promotions,Customer rebates passed through more than dealer cash,Dealer price-setting behaviour,crossref DOI 10.1257/aer.96.4.1253,
43 +murry2020colocation,Murry & Zhou,2020,Management Science,C,US dealer locations and transactions,Search model with dealer colocation,Dealer clustering lowers search costs and prices,Spatial dealer competition and search,crossref DOI 10.1287/mnsc.2019.3307,
44 +israeli2022marketpower,Israeli et al.,2022,Management Science,C,US dealership transactions,Inventory fluctuations and prices,Dealers with market power respond more to inventory in pricing,Closest study of dealer dynamic pricing vs inventory,crossref DOI 10.1287/mnsc.2021.3967,
45 +gallego1994dynamicpricing,Gallego & van Ryzin,1994,Management Science,C,Theory (OR),Optimal dynamic pricing of finite inventory,Prices fall with time and rise with remaining inventory,Normative model for listing markdowns,crossref DOI 10.1287/mnsc.40.8.999,
46 +elmaghraby2003dynamicpricing,Elmaghraby & Keskinocak,2003,Management Science,C,Survey (OR),Review of dynamic pricing with inventory,Taxonomy of markdown/replenishment models,Framework for dealer markdown policy,crossref DOI 10.1287/mnsc.49.10.1287.17315,
47 +pashigian1991sale,Pashigian & Bowen,1991,Quarterly Journal of Economics,C,US apparel,Markdown regularities,Markdowns increase with fashion/variety,Clearance-sale empirics,crossref DOI 10.2307/2937955,
48 +sweeting2012perishable,Sweeting,2012,Journal of Political Economy,C,MLB secondary ticket market,Dynamic pricing before deadline,"Sellers cut prices as deadline approaches, consistent with dynamic model",Perishable-inventory pricing analogue,crossref DOI 10.1086/669254,
49 +merlo2004bargaining,Merlo & Ortalo-Magne,2004,Journal of Urban Economics,C,England house listings,Listing-price revisions and bargaining,Listing price revisions and offers; sellers cut asking prices over time,Listing-price revision evidence in housing,crossref DOI 10.1016/j.jue.2004.05.004,
50 +merlo2015homeselling,Merlo et al.,2015,International Economic Review,C,England house listings,Structural home-selling model,Optimal listing-price path declines with time on market,Structural analogue of markdown hazard,crossref DOI 10.1111/iere.12111,
51 +busse2015weather,Busse et al.,2015,Quarterly Journal of Economics,C,US car transactions,Weather shocks and purchases,Projection bias: weather shifts demand for convertibles/4WD,Seasonal demand shocks in vehicles,crossref DOI 10.1093/qje/qju033,
52 +stigler1961information,Stigler,1961,Journal of Political Economy,D,Theory,Search theory,Price dispersion arises from costly search,Foundation of dispersion analysis,crossref DOI 10.1086/258464,
53 +burdett1983equilibrium,Burdett & Judd,1983,Econometrica,D,Theory,Noisy search equilibrium,Price dispersion as equilibrium outcome,Dispersion with identical sellers,crossref DOI 10.2307/1912045,
54 +sorensen2000dispersion,Sorensen,2000,Journal of Political Economy,D,US retail pharmacies,Dispersion vs purchase frequency,Dispersion lower for frequently purchased drugs,Search intensity and dispersion,crossref DOI 10.1086/316103,
55 +lach2002dispersion,Lach,2002,Review of Economics and Statistics,D,Israeli retail prices,Panel of store prices,Dispersion persists; stores change rank,Persistence of dispersion,crossref DOI 10.1162/003465302320259457,
56 +baye2006dispersion,Baye et al.,2006,Handbook on Economics and Information Systems,D,Survey,Review of search and dispersion,Catalogue of dispersion measures and theories,Dispersion metrics for AMLI,crossref DOI 10.1016/S1574-0145(06)01006-3,
57 +diamond1971paradox,Diamond,1971,Journal of Economic Theory,D,Theory,Sequential search,Monopoly price with any positive search cost,Diamond paradox,crossref DOI 10.1016/0022-0531(71)90013-5,
58 +kaplan2015dispersion,Kaplan & Menzio,2015,International Economic Review,D,US scanner data,Decomposition of dispersion,"Dispersion mostly within-store/time, not across stores",Decomposition approach,crossref DOI 10.1111/iere.12134,
59 +duffie2005otc,Duffie et al.,2005,Econometrica,D,Theory (finance),Search model of OTC markets,Liquidity premia from search frictions,OTC liquidity concept for cars,crossref DOI 10.1111/j.1468-0262.2005.00639.x,
60 +lagos2009liquidity,Lagos & Rocheteau,2009,Econometrica,D,Theory (finance),Search with divisible assets,Liquidity and trading delays,Asset-market liquidity theory,crossref DOI 10.3982/ECTA7250,
61 +amihud2002illiquidity,Amihud,2002,Journal of Financial Markets,D,US stocks,Illiquidity ratio,Illiquidity priced in returns,Illiquidity measure template,crossref DOI 10.1016/S1386-4181(01)00024-6,
62 +amihud1986bidask,Amihud & Mendelson,1986,Journal of Financial Economics,D,US stocks,Bid-ask spread and returns,Liquidity premium,Spread as liquidity measure,crossref DOI 10.1016/0304-405X(86)90065-6,
63 +krainer2001housingliquidity,Krainer,2001,Journal of Urban Economics,D,Theory (housing),Search model,Liquidity varies with market conditions; time to sell,Housing liquidity theory,crossref DOI 10.1006/juec.2000.2180,
64 +carrillo2012search,Carrillo,2012,International Economic Review,D,US MLS data,Stationary search equilibrium,Estimates buyer/seller search and time on market,Structural TOM model,crossref DOI 10.1111/j.1468-2354.2011.00677.x,
65 +genesove2001lossaversion,Genesove & Mayer,2001,Quarterly Journal of Economics,D,Boston condos,Loss aversion in list prices,Sellers facing losses set higher asking prices and sell slower,Asking-price setting behaviour,crossref DOI 10.1162/003355301753265561,
66 +han2015microstructure,Han & Strange,2015,Handbook of Regional and Urban Economics,D,Survey,Review of housing microstructure,"Search, bargaining, brokerage, list prices",Reference survey for asking-price dynamics,crossref DOI 10.1016/b978-0-444-59531-7.00013-2,
67 +guren2018momentum,Guren,2018,Journal of Political Economy,D,US housing,Strategic complementarity in list prices,Sellers partially adjust to competitors; momentum,Competitor response in list pricing,crossref DOI 10.1086/697207,
68 +anenberg2016frictions,Anenberg,2016,International Economic Review,D,US housing listings,Information frictions model,Sellers learn demand and adjust list prices,Learning and listing-price cuts,crossref DOI 10.1111/iere.12204,
69 +head2014searchliquidity,Head et al.,2014,American Economic Review,D,US cities,Search model of housing,Search and liquidity explain price dynamics,Liquidity-price dynamics,crossref DOI 10.1257/aer.104.4.1172,
70 +ngai2014hotcold,Ngai & Tenreyro,2014,American Economic Review,D,UK/US housing,Seasonal search model,Hot and cold seasons from thick-market effects,Seasonality in liquidity,crossref DOI 10.1257/aer.104.12.3991,
71 +piazzesi2020segmented,Piazzesi et al.,2020,American Economic Review,D,SF Bay Area search data,Segmented search,Search is segmented across submarkets,Regional/segment segmentation,crossref DOI 10.1257/aer.20141772,
72 +wheaton1990vacancy,Wheaton,1990,Journal of Political Economy,D,Theory (housing),Matching model,Vacancy and prices in matching market,Vacancy/inventory-price link,crossref DOI 10.1086/261734,
73 +gavazza2011frictions,Gavazza,2011,American Economic Review,D,Commercial aircraft,Trading frictions in real asset market,Thinner markets raise frictions and lower prices,Liquidity in durable asset markets,crossref DOI 10.1257/aer.101.4.1106,
74 +gavazza2016decentralized,Gavazza,2016,Econometrica,D,Aircraft market,Empirical equilibrium search model,Search frictions and dealer intermediation,Dealer intermediation in decentralized market,crossref DOI 10.3982/ECTA10847,
75 +salz2022intermediation,Salz,2022,Journal of Political Economy,D,NYC waste hauling,Intermediation and search,Brokers reduce search costs; prices,Intermediary value,crossref DOI 10.1086/717349,
76 +cox1972regression,Cox,1972,Journal of the Royal Statistical Society Series B: Statistical Methodology,E,Methods,Proportional hazards,Semi-parametric hazard regression,Core hazard model,crossref DOI 10.1111/j.2517-6161.1972.tb00899.x,
77 +kalbfleisch2002statistical,Kalbfleisch & Prentice,2002,Wiley,E,Methods,Textbook,Failure-time analysis,Reference text,crossref DOI 10.1002/9781118032985,
78 +fine1999proportional,Fine & Gray,1999,Journal of the American Statistical Association,E,Methods,Subdistribution hazards,Competing risks regression,Exit (sold vs withdrawn) competing risks,crossref DOI 10.1080/01621459.1999.10474144,
79 +grambsch1994proportional,Grambsch & Therneau,1994,Biometrika,E,Methods,Scaled Schoenfeld residuals,PH assumption test,Diagnostics,crossref DOI 10.1093/biomet/81.3.515,
80 +allison1982discrete,Allison,1982,Sociological Methodology,E,Methods,Discrete-time hazards,Logit-based event history,Daily-panel discrete hazards,crossref DOI 10.2307/270718,
81 +singer1993discrete,Singer & Willett,1993,Journal of Educational Statistics,E,Methods,Discrete-time survival,Tutorial on discrete hazards,Daily-panel estimation,crossref DOI 10.3102/10769986018002155,
82 +andersen1982cox,Andersen & Gill,1982,Annals of Statistics,E,Methods,Counting-process Cox,Multiple events via counting processes,Repeated markdowns,crossref DOI 10.1214/aos/1176345976,
83 +prentice1981regression,Prentice et al.,1981,Biometrika,E,Methods,Recurrent-event models,Gap-time and total-time models,Repeated price-change events,crossref DOI 10.1093/biomet/68.2.373,
84 +royston2002flexible,Royston & Parmar,2002,Statistics in Medicine,E,Methods,Flexible parametric survival,Spline baseline hazards,Smooth baseline for TOM,crossref DOI 10.1002/sim.1203,
85 +lin1989robust,Lin & Wei,1989,Journal of the American Statistical Association,E,Methods,Robust sandwich variance for Cox,Clustered inference in Cox,Dealer-clustered SEs,crossref DOI 10.1080/01621459.1989.10478874,
86 +turnbull1976empirical,Turnbull,1976,Journal of the Royal Statistical Society Series B: Statistical Methodology,E,Methods,NPMLE with interval censoring,Interval-censored survival,First/last-seen interval censoring,crossref DOI 10.1111/j.2517-6161.1976.tb01597.x,
87 +kaplan1958nonparametric,Kaplan & Meier,1958,Journal of the American Statistical Association,E,Methods,Product-limit estimator,Nonparametric survival,Baseline description,crossref DOI 10.1080/01621459.1958.10501452,
88 +lancaster1990econometric,Lancaster,1990,Cambridge University Press,E,Methods,Textbook,Econometrics of transition data,Economic duration models,crossref DOI 10.1017/CCOL0521265967,
89 +heckman1984method,Heckman & Singer,1984,Econometrica,E,Methods,NPMLE of unobserved heterogeneity,Mixture distribution for frailty,Unobserved dealer/vehicle heterogeneity,crossref DOI 10.2307/1911491,
90 +putter2007tutorial,Putter et al.,2007,Statistics in Medicine,E,Methods,Tutorial,Competing risks and multistate,Applied guidance,crossref DOI 10.1002/sim.2712,
91 +therneau2000modeling,Therneau & Grambsch,2000,Springer New York,E,Methods,Textbook,Extending the Cox model,Software-oriented reference,crossref DOI 10.1007/978-1-4757-3294-8,
92 +hotelling1929stability,Hotelling,1929,Economic Journal,F,Theory,Linear city,Spatial differentiation,Spatial competition origin,crossref DOI 10.2307/2224214,
93 +salop1979monopolistic,Salop,1979,Bell Journal of Economics,F,Theory,Circular city,Entry and spatial markups,Spatial competition,crossref DOI 10.2307/3003323,
94 +bresnahan1991entry,Bresnahan & Reiss,1991,Journal of Political Economy,F,US small-town retail (incl. auto dealers),Entry thresholds,Competition effects saturate after few entrants,Auto dealers in isolated markets,crossref DOI 10.1086/261786,
95 +pinkse2002spatial,Pinkse et al.,2002,Econometrica,F,US gasoline wholesale,Semiparametric spatial price competition,Competition is localized,Spatial price-response estimation,crossref DOI 10.1111/1468-0262.00320,
96 +houde2012spatial,Houde,2012,American Economic Review,F,Quebec City gasoline,Spatial differentiation on road network,Commuting-path competition,Quebec spatial retail evidence,crossref DOI 10.1257/aer.102.5.2147,
97 +gorodnichenko2009border,Gorodnichenko & Tesar,2009,American Economic Journal: Macroeconomics,F,US-Canada city prices,Border effect reassessment,Border effect smaller once cross-country heterogeneity handled,Canadian regional price dispersion,crossref DOI 10.1257/mac.1.1.219,
98 +anselin1988spatial,Anselin,1988,Springer Netherlands,F,Methods,Spatial econometrics text,Spatial lag/error models,Spatial methods,crossref DOI 10.1007/978-94-015-7799-1,
99 +lesage2009introduction,LeSage & Pace,2009,Chapman and Hall/CRC,F,Methods,Spatial econometrics text,Spatial regression,Spatial methods,crossref DOI 10.1201/9781420064254,
100 +conley1999gmm,Conley,1999,Journal of Econometrics,F,Methods,Spatial HAC,GMM with cross-sectional dependence,Spatial-robust SEs,crossref DOI 10.1016/S0304-4076(98)00084-0,
101 +elhorst2014spatial,Elhorst,2014,Springer Berlin Heidelberg,F,Methods,Spatial panels,Spatial panel models,Spatial panel methods,crossref DOI 10.1007/978-3-642-40340-8,
102 +ceglowski2003lawofoneprice,Ceglowski,2003,Canadian Journal of Economics,F,Canadian cities,Law of one price tests,Intranational price convergence in Canada,Canadian regional integration,crossref DOI 10.1111/1540-5982.t01-1-00005,
103 +kalnins2003hamburger,Kalnins,2003,Journal of Economics \& Management Strategy,F,US fast food,Spatial econometrics of prices,Prices respond to nearby competitors,Localized price reactions,crossref DOI 10.1111/j.1430-9134.2003.00591.x,
104 +slade1992vancouver,Slade,1992,Review of Economic Studies,F,Vancouver gasoline,Price wars and tacit collusion,Dynamic reaction functions,Canadian price-war evidence,crossref DOI 10.2307/2297954,
105 +lewis2008dispersion,Lewis,2008,Journal of Industrial Economics,F,US gasoline stations,Dispersion and differentiation,Dispersion depends on local competition,Local dispersion,crossref DOI 10.1111/j.1467-6451.2008.00348.x,
106 +manski1993reflection,Manski,1993,Review of Economic Studies,G,Theory,Reflection problem,Endogenous effects not identified from linear-in-means,Identification of competitor response,crossref DOI 10.2307/2298123,
107 +brock2001discrete,Brock & Durlauf,2001,Review of Economic Studies,G,Theory,Discrete choice with social interactions,Identification via nonlinearity,Social interactions,crossref DOI 10.1111/1467-937X.00168,
108 +bramoulle2009peer,Bramoulle et al.,2009,Journal of Econometrics,G,Theory/networks,Network identification,Intransitive triads identify peer effects,Dealer-network instruments,crossref DOI 10.1016/j.jeconom.2008.12.021,
109 +angrist2014perils,Angrist,2014,Labour Economics,G,Methods,Critique,Mechanical peer-effect correlations,Caution for competitor response,crossref DOI 10.1016/j.labeco.2014.05.008,
110 +blume2011identification,Blume et al.,2011,Handbook of Social Economics,G,Survey,Identification review,Social interactions models,Reference survey,crossref DOI 10.1016/b978-0-444-53707-2.00001-3,
111 +bajari2010static,Bajari et al.,2010,Journal of Business \& Economic Statistics,G,Methods,Static games estimation,Estimating strategic interactions,Game-theoretic estimation,crossref DOI 10.1198/jbes.2009.07264,
112 +sun2021estimating,Sun & Abraham,2021,Journal of Econometrics,G,Methods,Interaction-weighted event study,Heterogeneous effects bias,Event-study estimator,crossref DOI 10.1016/j.jeconom.2020.09.006,
113 +callaway2021difference,Callaway & Sant'Anna,2021,Journal of Econometrics,G,Methods,Group-time ATT,Staggered DiD,Staggered price-cut events,crossref DOI 10.1016/j.jeconom.2020.12.001,
114 +borusyak2024revisiting,Borusyak et al.,2024,Review of Economic Studies,G,Methods,Imputation estimator,Efficient robust event study,Event-study estimator,crossref DOI 10.1093/restud/rdae007,
115 +goodmanbacon2021difference,Goodman-Bacon,2021,Journal of Econometrics,G,Methods,TWFE decomposition,Negative weights,Diagnostics,crossref DOI 10.1016/j.jeconom.2021.03.014,
116 +dechaisemartin2020twoway,de Chaisemartin & D'Haultfoeuille,2020,American Economic Review,G,Methods,Heterogeneous TWFE,Robust DiD estimator,Diagnostics,crossref DOI 10.1257/aer.20181169,
117 +roth2022pretest,Roth,2022,American Economic Review: Insights,G,Methods,Pre-trends tests,Low power of pretests,Pre-trend caution,crossref DOI 10.1257/aeri.20210236,
118 +rambachan2023credible,Rambachan & Roth,2023,Review of Economic Studies,G,Methods,Sensitivity to parallel trends,Partial identification,Robust inference,crossref DOI 10.1093/restud/rdad018,
119 +roth2023trending,Roth et al.,2023,Journal of Econometrics,G,Survey,DiD review,Synthesis of recent DiD,Guidance,crossref DOI 10.1016/j.jeconom.2023.03.008,
120 +cameron2008bootstrap,Cameron et al.,2008,Review of Economics and Statistics,G,Methods,Wild cluster bootstrap,Few clusters inference,Few-region clustering,crossref DOI 10.1162/rest.90.3.414,
121 +cameron2011multiway,Cameron et al.,2011,Journal of Business \& Economic Statistics,G,Methods,Multiway clustering,Two-way clustered SEs,Dealer x week clustering,crossref DOI 10.1198/jbes.2010.07136,
122 +abadie2023clustering,Abadie et al.,2023,Quarterly Journal of Economics,G,Methods,Design-based clustering,When to cluster,Clustering choice,crossref DOI 10.1093/qje/qjac038,
123 +bertrand2004howmuch,Bertrand et al.,2004,Quarterly Journal of Economics,G,Methods,Serial correlation in DiD,Over-rejection without clustering,Serial correlation in daily panel,crossref DOI 10.1162/003355304772839588,
124 +chandra2011gasoline,Chandra & Tappata,2011,RAND Journal of Economics,G,US/Canada gasoline,Search and dynamic dispersion,Dispersion rises with search incentives,Competitor pricing dynamics,crossref DOI 10.1111/j.1756-2171.2011.00150.x,
125 +byrne2019coordinate,Byrne & de Roos,2019,American Economic Review,G,Perth gasoline,Price leadership,Learning to coordinate cycles,Competitor response identification,crossref DOI 10.1257/aer.20170116,
126 +assad2024algorithmic,Assad et al.,2024,Journal of Political Economy,G,German gasoline,Algorithmic pricing adoption,Algorithms raise margins in duopolies,Automated repricing in retail,crossref DOI 10.1086/726906,
127 +bailey1963repeatsales,Bailey et al.,1963,Journal of the American Statistical Association,H,Methods,Repeat-sales regression,Index from repeated sales,Repeat-listing index design,crossref DOI 10.1080/01621459.1963.10480679,
128 +han2016askingprice,Han & Strange,2016,Journal of Urban Economics,H,Toronto MLS,Theory and evidence on asking price,Asking price is commitment and signal; affects TOM and price,Core asking-price theory for listings,crossref DOI 10.1016/j.jue.2016.03.008,
129 +anenberg2017timely,Anenberg & Laufer,2017,Review of Economics and Statistics,H,US listings (CoreLogic),Listing-based house price index,Listing prices give timely index,Direct precedent for listing-price index,crossref DOI 10.1162/REST_a_00634,
130 +lyons2019listprices,Lyons,2019,Finance Research Letters,H,Ireland listings vs sales,Comparison of list and transaction indices,"List prices track trends, with gaps in extreme markets",List-vs-transaction gap,crossref DOI 10.1016/j.frl.2018.10.004,
131 +kurlat2015asymmetries,Kurlat & Stroebel,2015,Review of Financial Studies,H,US housing,Test of information asymmetries,Informed buyers outperform,Information in listing markets,crossref DOI 10.1093/rfs/hhv028,
132 +gatzlaff1997selection,Gatzlaff & Haurin,1997,Journal of Real Estate Finance and Economics,H,US housing,Selection in repeat-sales,Sample selection biases indexes,Selection in exit/sale samples,crossref DOI 10.1023/a:1007763816289,
133 +knight2002listing,Knight,2002,Real Estate Economics,H,US MLS,Listing price changes and TOM,Large initial overpricing leads to cuts and longer TOM,Markdowns and time on market,crossref DOI 10.1111/1540-6229.00038,
134 +horowitz1992listprice,Horowitz,1992,Journal of Applied Econometrics,H,US housing,Structural list-price model,List price as ceiling and signal,List price role,crossref DOI 10.1002/jae.3950070202,
135 +haurin2010listprices,Haurin et al.,2010,Real Estate Economics,H,US MLS,"List price, sale price, marketing time","Atypical homes priced higher, longer TOM",List-price tradeoff,crossref DOI 10.1111/j.1540-6229.2010.00279.x,
136 +anglin2003tradeoff,Anglin et al.,2003,Journal of Real Estate Finance and Economics,H,US MLS,Price setting vs TOM,Overpricing lengthens TOM,Markdown/TOM tradeoff,crossref DOI 10.1023/a:1021526332732,
137 +bils2009quality,Bils,2009,Quarterly Journal of Economics,H,US CPI,Quality growth vs inflation,Price increases of new goods mostly quality,Quality bias in indices,crossref DOI 10.1162/qjec.2009.124.2.637,
138 +hill2013hedonic,Hill,2012,Journal of Economic Surveys,H,Survey,Hedonic housing indexes,Taxonomy of hedonic index methods,Index design,crossref DOI 10.1111/j.1467-6419.2012.00731.x,
139 +erickson2011experimental,Erickson & Pakes,2011,American Economic Review,H,US computers,Experimental CPI component,Hedonic indexes at monthly frequency,Monthly hedonic index,crossref DOI 10.1257/aer.101.5.1707,
140 +benjamini1995fdr,Benjamini & Hochberg,1995,Journal of the Royal Statistical Society Series B: Statistical Methodology,I,Methods,FDR control,Benjamini-Hochberg,Multiple testing,crossref DOI 10.1111/j.2517-6161.1995.tb02031.x,
141 +romano2005stepwise,Romano & Wolf,2005,Econometrica,I,Methods,Stepwise multiple testing,FWER control,Multiple testing,crossref DOI 10.1111/j.1468-0262.2005.00615.x,
142 +diebold1995comparing,Diebold & Mariano,1995,Journal of Business \& Economic Statistics,I,Methods,Predictive accuracy test,DM test,Forecast comparison,crossref DOI 10.1080/07350015.1995.10524599,
143 +giacomini2006tests,Giacomini & White,2006,Econometrica,I,Methods,Conditional predictive ability,GW test,Forecast comparison,crossref DOI 10.1111/j.1468-0262.2006.00718.x,
144 +brier1950verification,Brier,1950,Monthly Weather Review,I,Methods,Brier score,Probability forecast scoring,Hazard calibration,crossref DOI 10.1175/1520-0493(1950)078<0001:VOFEIT>2.0.CO;2,
145 +friedman2001greedy,Friedman,2001,Annals of Statistics,I,Methods,Gradient boosting,GBM,Boosted hedonic/hazard models,crossref DOI 10.1214/aos/1013203451,
146 +athey2019machine,Athey & Imbens,2019,Annual Review of Economics,I,Survey,ML for economists,Guidance,ML use,crossref DOI 10.1146/annurev-economics-080217-053433,
147 +mullainathan2017machine,Mullainathan & Spiess,2017,Journal of Economic Perspectives,I,Survey,ML as applied econometrics,Prediction vs causation,ML use,crossref DOI 10.1257/jep.31.2.87,
148 +harrell2015regression,Harrell,2015,Springer International Publishing,I,Methods,Textbook,Validation of survival models,Model evaluation,crossref DOI 10.1007/978-3-319-19425-7,
149 +uno2011cstatistics,Uno et al.,2011,Statistics in Medicine,I,Methods,C-statistic for censored data,Discrimination measure,Hazard evaluation,crossref DOI 10.1002/sim.4154,
150 +graf1999assessment,Graf et al.,1999,Statistics in Medicine,I,Methods,Brier score under censoring,IPCW Brier,Hazard evaluation,crossref DOI 10.1002/(SICI)1097-0258(19990915/30)18:17/18<2529::AID-SIM274>3.0.CO;2-5,
151 +court1939hedonic,Court,1939,The Dynamics of Automobile Demand,A,US automobiles 1920s-30s (GM),Hedonic regression of price on characteristics,First hedonic price index; quality-adjusted auto price change,Origin of the hedonic approach used to quality-adjust Quebec asking prices,url https://allengoodman.wayne.edu/Research/PUBS/Court_Hedonic.pdf,Verified via Goodman (1998) and Wayne State scan
152 +griliches1961hedonic,Griliches,1961,The Price Statistics of the Federal Government,A,US new-car list prices 1937-59,"Log-linear hedonic regression, time dummies",Quality-adjusted auto prices rose far less than unadjusted list prices,Canonical hedonic vehicle index; template for AMLI quality adjustment,url https://www.nber.org/chapters/c6492,NBER chapter page verified (no DOI)
153 +ohta1976automobile,Ohta & Griliches,1976,Household Production and Consumption,A,US new and used car prices 1955-71,Hedonic regressions on new and used cars,Hedonic coefficients stable across new/used; used prices reflect same characteristics,Direct precedent for hedonic treatment of used cars,url https://www.nber.org/books-and-chapters/household-production-and-consumption/automobile-prices-revisited-extensions-hedonic-hypothesis,NBER chapter page verified
154 +kim1985lemons,Kim,1985,American Economic Review,B,Theory,Used-car market with asymmetric information,Market need not collapse; price-quality equilibria,Theory of used-car equilibrium,url https://ideas.repec.org/a/aea/aecrev/v75y1985i4p836-43.html,IDEAS/RePEc + OpenAlex verified; no DOI
155 +bond1982lemons,Bond,1982,American Economic Review,B,US used pickup trucks (1977 survey),Repair-frequency test,No lemons effect after controlling age/mileage,Classic empirical test,url https://ideas.repec.org/a/aea/aecrev/v72y1982i4p836-40.html,IDEAS/RePEc verified; no DOI
156 +lazear1986clearance,Lazear,1986,American Economic Review,C,Theory,Sequential pricing with demand uncertainty,Prices start high and fall with time on shelf; thin markets markdown faster,Core theory for markdown hazards of listings,url https://ideas.repec.org/a/aea/aecrev/v76y1986i1p14-32.html,IDEAS/RePEc verified; no DOI
157 +varian1980sales,Varian,1980,American Economic Review,D,Theory,Model of sales,Randomized prices (sales) as equilibrium,Price dispersion within seller over time,url https://ideas.repec.org/a/aea/aecrev/v70y1980i4p651-59.html,IDEAS/RePEc + OpenAlex verified; no DOI
158 +engel1996border,Engel & Rogers,1996,American Economic Review,F,US-Canada CPI,Border effect,Border equivalent to thousands of miles,Regional integration benchmark,url https://ideas.repec.org/a/aea/aecrev/v86y1996i5p1112-25.html,IDEAS/RePEc + Semantic Scholar verified; no DOI
159 +caseshiller1989efficiency,Case & Shiller,1989,American Economic Review,H,US cities housing,Repeat-sales index and efficiency,Housing prices show predictable momentum,Repeat-sales index precedent,url https://ideas.repec.org/a/aea/aecrev/v79y1989i1p125-37.html,IDEAS/RePEc + Semantic Scholar verified; no DOI
160 +kiefer1988duration,Kiefer,1988,Journal of Economic Literature,E,Methods,Survey,Economic duration data,Economic hazard survey,url https://ideas.repec.org/a/aea/jeclit/v26y1988i2p646-79.html,IDEAS/RePEc + OpenAlex verified; no DOI
161 +genesove1997equity,Genesove & Mayer,1997,American Economic Review,D,Boston condos,Equity and time to sale,"High LTV sellers set higher asking prices, longer time to sale",Asking price and time-on-market tradeoff,url https://ideas.repec.org/a/aea/aecrev/v87y1997i3p255-69.html,IDEAS/RePEc verified; no DOI
162 +ke2017lightgbm,Ke et al.,2017,Advances in Neural Information Processing Systems 30 (NIPS 2017),I,Methods,LightGBM,Efficient GBDT,Implementation,url https://proceedings.neurips.cc/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html,NeurIPS page verified
163 +lundberg2017shap,Lundberg & Lee,2017,Advances in Neural Information Processing Systems 30 (NIPS 2017),I,Methods,SHAP values,Model explanation,Interpretation,url https://proceedings.neurips.cc/paper/2017/hash/8a20a8621978632d76c43dfd28b67767-Abstract.html,NeurIPS page verified
164 +yanes2010depreciation,Yanes,2010,Proceedings of the 45th Annual Conference of the Canadian Transportation Research Forum,B,Canadian Red Book values by province,Depreciation estimation,Quebec vehicles depreciate slightly slower than rest of Canada,Only Canadian provincial depreciation evidence found,url https://ctrf.ca/wp-content/uploads/2014/07/47YanesDepreciationofLightDutyRoad.pdf,"Conference paper (CTRF), not peer-reviewed journal"
165 +statcan2022usedvehicles,Taylor et al.,2022,Statistics Canada,H,Canadian CPI (J.D. Power dealer transactions),Hedonic time-dummy by geography and class,Used vehicles entered CPI May 2022 reference month,Official Canadian used-vehicle price measurement,url https://www150.statcan.gc.ca/n1/pub/62f0014m/62f0014m2022008-eng.htm,"Agency document, fetched"
166 +bls2026usedcars,U.S. Bureau of Labor Statistics,2026,"Factsheet, last modified 20 May 2026",H,US CPI (J.D. Power),"Sample of 2-7 year-old vehicles, depreciation adjustment",Used-car CPI methodology,Official US used-car index,url https://www.bls.gov/cpi/factsheets/used-cars-and-trucks.htm,"Agency factsheet, fetched"
167 +manheim2023methodology,Manheim Consulting (Cox Automotive),2023,"Technical note, January 2023 rebasing",H,Manheim US auctions,Mix/mileage/seasonal adjustment,Wholesale value index since 1997 base,Existing wholesale value index,url https://site.manheim.com/wp-content/uploads/sites/2/2023/07/Used-Vehicle-Summary-Methodology.pdf,Grey literature
168 +cox2022dayssupply,Cox Automotive,2022,"Market Insights, 20 January 2022 (revised 17 February 2022)",H,vAuto listings,30-day sales pace days' supply,Days' supply is a liquidity-type measure,Existing liquidity-type measure,url https://www.coxautoinc.com/market-insights/used-vehicle-days-supply/,Grey literature
169 +cbb2026index,Canadian Black Book,2026,"Web page, accessed 1 November 2026",H,Canadian wholesale values,Retention index 2-6 year-old vehicles,Canadian wholesale retention index,Existing Canadian index,url https://www.canadianblackbook.com/black-book-index/,Grey literature
170 +cbb2026depreciation,Canadian Black Book & Fitch Ratings,2026,Canadian Black Book,B,Canadian wholesale values,Industry depreciation report,Retention/recovery rates by segment; Quebec EV market,Canadian industry benchmark for depreciation,url https://www.canadianblackbook.com/wp-content/uploads/2026/08/CBB-Fitch-2026-Updated-2.pdf,Grey literature
171 +autotrader2024priceindex,AutoTrader.ca,2024,"Editorial report, 22 July 2024",H,AutoTrader.ca listings,Average listing price adjusted for make/age,31% of listings had price drops June 2024,Canadian listing-price index precedent,url https://www.autotrader.ca/editorial/car-news/autotrader-price-index-june-2024/,Grey literature
172 +cargurus2026imv,CarGurus,2026,"Web page, accessed 1 November 2026",H,CarGurus listings,Instant Market Value,Comparable-listing valuation,Listing-based valuation,url https://www.cargurus.ca/Cars/aboutCargurus.html,"Grey literature; curl 406, verified via search listing"
173 +iseecars2013pricedrops,iSeeCars.com,2013,Study of 30 million used-car listings; press release,H,30M US listings,Listing price-change tracking,Price cut 1-6 times per listing; first cut ~5%,Only large-scale markdown stats found,url https://www.iseecars.com/wait-for-used-car-deals-2013-study,Grey literature
added literature/novelty_memo.md +63 −0
@@ -0,0 +1,63 @@
1 +# Novelty memo — WP36 "The Hidden Dynamics of Used-Car Markets"
2 +
3 +Prepared 2026-11-01 from the verified bibliography in `references.bib` (172 entries) and `evidence_matrix.csv`. Citation keys in brackets refer to that file.
4 +
5 +## 1. What exists, bucket by bucket
6 +
7 +**A. Hedonic prices and quality adjustment.** The hedonic method was invented on automobiles [court1939hedonic; goodman1998court] and canonised on automobiles [griliches1961hedonic; ohta1976automobile], with Rosen's equilibrium interpretation [rosen1974hedonic] and Lancaster's characteristics demand [lancaster1966newapproach] as theory. The index-number literature settles the practical questions WP36 faces: time-dummy versus imputation indexes [silver2007hedonicimputation; diewert2003hedonic], instability of hedonic coefficients and the case for rolling windows [pakes2003hedonic; erickson2011experimental], official-statistics best practice [triplett2006handbook], and the warning that unobserved quality (here, vehicle condition and dealer reconditioning) can contaminate implicit prices [bajari2005hedonic; ekeland2004hedonic]. Vehicle-specific hedonic work prices safety and fuel economy [dreyfus1995timepreference] and establishes that mileage, not age, is the primary depreciation driver [engers2009annualmiles]. BLP [berry1995automobile] remains the structural benchmark for auto demand but is not the natural tool for a listing panel without quantities.
8 +
9 +**B. Durable goods and used-car markets.** Since Akerlof [akerlof1970lemons] the economics of used cars has been dominated by adverse selection: theory [kim1985lemons; hendel1999adverse; hendel2002leasing; biglaiser1993middlemen], tests on repairs and trade patterns [bond1982lemons; emons2009usedcars; peterson2014adverse; peterson2017beautiful], the wholesale auction side [genesove1993adverse; larsen2021bargaining], online markets [lewis2011asymmetric; adams2011vettes], and the role of dealers as quality intermediaries [biglaiser2020intermediaries]. A second strand models turnover and prices across vintages in stationary equilibrium with transaction costs [rust1985durable; stolyarov2002turnover; porter1999usedtrade; gavazza2014usedcar]. A third documents how shocks capitalise into used-car prices: gasoline prices [busse2013gasoline; sallee2016fueleconomy], scrappage policy [jacobsen2015scrappage], weather [busse2015weather], and behavioural mileage heuristics [lacetera2012heuristic]. Listing-price data from classifieds appear in European work [kooreman2006anomalies; haan2010internetregional], the latter being the closest precedent for regional segmentation of used-car asking prices (Dutch regions before and after the internet). Canadian evidence is thin: a Transport Canada conference paper finds Quebec vehicles depreciate slightly more slowly than elsewhere [yanes2010depreciation]; the rest is industry reporting [cbb2026depreciation].
10 +
11 +**C. Dealer inventory, dynamic pricing and clearance.** Lazear's clearance-sale model [lazear1986clearance] predicts exactly the object WP36 estimates: an initial price that falls with time on the shelf at a rate governed by market thinness. Operations research formalises optimal markdowns for finite inventory with a horizon [gallego1994dynamicpricing; elmaghraby2003dynamicpricing]; empirical analogues exist for supermarkets [pesendorfer2002retailsales; aguirregabiria1999markups], apparel [pashigian1991sale], tickets [sweeting2012perishable], rentals [cho2010flatrental] and house listings [merlo2004bargaining; merlo2015homeselling]. For car dealers, the empirical literature is almost entirely about *new* cars and transaction prices: internet referral and information effects [scottmorton2001internet; zettelmeyer2006internet], promotion pass-through [busse2006cashback], and — most relevant — Israeli, Scott Morton, Silva-Risso and Zettelmeyer's finding that dealers with market power price more aggressively on inventory fluctuations [israeli2022marketpower]. Murry and Zhou [murry2020colocation] show dealer colocation lowers search costs. We found no peer-reviewed study estimating markdown hazards on used-car listings.
12 +
13 +**D. Search, dispersion and liquidity.** Dispersion theory [stigler1961information; diamond1971paradox; varian1980sales; burdett1983equilibrium] and measurement [sorensen2000dispersion; lach2002dispersion; baye2006dispersion; kaplan2015dispersion] give WP36 its dispersion metrics. Liquidity is formalised in finance as a search friction [duffie2005otc; lagos2009liquidity] or measured by price impact and spreads [amihud2002illiquidity; amihud1986bidask], and in housing by time-to-sell and matching [wheaton1990vacancy; krainer2001housingliquidity; carrillo2012search; head2014searchliquidity; ngai2014hotcold; piazzesi2020segmented]. Gavazza's aircraft papers [gavazza2011frictions; gavazza2016decentralized] are the closest conceptual template: a durable asset traded in a decentralised, dealer-intermediated market where thinness raises frictions and lowers prices. The housing microstructure literature [han2015microstructure; genesove1997equity; genesove2001lossaversion; guren2018momentum; anenberg2016frictions] provides both the asking-price-as-signal theory and evidence of strategic complementarity in list prices.
14 +
15 +**E. Survival analysis.** Standard: Cox and extensions [cox1972regression; andersen1982cox; lin1989robust; grambsch1994proportional; royston2002flexible; therneau2000modeling; kalbfleisch2002statistical], competing risks [fine1999proportional; putter2007tutorial], recurrent events [prentice1981regression], discrete-time hazards for daily panels [allison1982discrete; singer1993discrete], interval censoring for first/last-seen data [turnbull1976empirical], unobserved heterogeneity [heckman1984method], economic duration surveys [kiefer1988duration; lancaster1990econometric].
16 +
17 +**F. Spatial competition and regional integration.** [hotelling1929stability; salop1979monopolistic; bresnahan1991entry] (which includes auto dealers in isolated US towns), semiparametric spatial price competition [pinkse2002spatial], Quebec-City gasoline [houde2012spatial], fast food [kalnins2003hamburger], Vancouver gasoline price wars [slade1992vancouver], gasoline dispersion [lewis2008dispersion], and Canadian intranational integration [engel1996border; gorodnichenko2009border; ceglowski2003lawofoneprice]; methods [anselin1988spatial; lesage2009introduction; conley1999gmm; elhorst2014spatial].
18 +
19 +**G. Identification of strategic interaction; event studies.** The reflection problem [manski1993reflection; brock2001discrete; bramoulle2009peer; blume2011identification; angrist2014perils; bajari2010static]; gasoline-market evidence on competitor pricing responses and algorithmic repricing [chandra2011gasoline; byrne2019coordinate; assad2024algorithmic]; modern staggered DiD/event-study toolkits [goodmanbacon2021difference; dechaisemartin2020twoway; callaway2021difference; sun2021estimating; borusyak2024revisiting; roth2022pretest; rambachan2023credible; roth2023trending]; clustering [bertrand2004howmuch; cameron2008bootstrap; cameron2011multiway; abadie2023clustering].
20 +
21 +**H. Indices and measurement.** Repeat-sales [bailey1963repeatsales; caseshiller1989efficiency; gatzlaff1997selection], hedonic index taxonomy [hill2013hedonic; bils2009quality], listing-price indexes and the list–transaction gap [anenberg2017timely; lyons2019listprices; han2016askingprice; knight2002listing; horowitz1992listprice; haurin2010listprices; anglin2003tradeoff; kurlat2015asymmetries], official used-vehicle CPI components [bls2026usedcars; statcan2022usedvehicles] and industry indices (section 2).
22 +
23 +**I. Multiple testing and model evaluation.** [benjamini1995fdr; romano2005stepwise; diebold1995comparing; giacomini2006tests; brier1950verification; graf1999assessment; uno2011cstatistics; harrell2015regression; friedman2001greedy; ke2017lightgbm; lundberg2017shap; athey2019machine; mullainathan2017machine].
24 +
25 +## 2. What is known about used-car asking-price dynamics, markdowns and exit
26 +
27 +Surprisingly little, academically. The economics literature on used cars overwhelmingly uses *transaction* data (wholesale auctions, state title records, CES purchases, eBay sales). The only large-scale statistics on listing markdowns we could verify are industry: iSeeCars' 2013 analysis of 30 million listings reports that roughly one in five cars is marked down before sale, that dealers cut 1–6 times per listing with a first cut near 5% around day 15, and that listing duration proxies time on market [iseecars2013pricedrops]; AutoTrader.ca reports that 31% of Canadian listings carried a price drop in June 2024 [autotrader2024priceindex]. Biglaiser, Li, Murry and Zhou [biglaiser2020intermediaries] come closest on the academic side, predicting and documenting that the dealer price premium is positively correlated with time on the market, but they work with transaction records, not daily listing paths. Israeli et al. [israeli2022marketpower] show inventory-sensitive dealer pricing for *new* cars. The markdown-hazard framing therefore exists in theory [lazear1986clearance; gallego1994dynamicpricing] and in housing [knight2002listing; merlo2015homeselling; anenberg2016frictions] but has not been estimated on used-vehicle listings in a published paper that we could find. Exit (sold versus withdrawn/relisted) as a competing-risks problem is likewise untreated for vehicles.
28 +
29 +## 3. Existing used-vehicle indices and "liquidity" measures
30 +
31 +- **Manheim Used Vehicle Value Index** (Cox Automotive): all Manheim US auction sales in 20 market classes; outlier trimming; mileage adjusted by monthly linear regression; mix weights from a 24-month rolling average; Census X seasonal adjustment; rebased January 1997 = 100 in 2023 [manheim2023methodology]. Wholesale, transaction-based, US only.
32 +- **Cox Automotive used-vehicle days' supply**: unsold vAuto listing inventory divided by the trailing 30-day daily sales rate [cox2022dayssupply]. This is a liquidity-type measure (inventory/flow), published monthly for the US; it is a national aggregate with no listing-level hazard, no quality adjustment and no regional detail in the public series.
33 +- **Canadian Black Book Used Vehicle Retention Index**: wholesale average values of 2–6-year-old vehicles as a share of original MSRP, weighted by registrations, adjusted for age, mileage, condition and MSRP inflation [cbb2026index]; companion annual depreciation report with Fitch [cbb2026depreciation]. Wholesale, Canada-wide; no time-on-market dimension.
34 +- **J.D. Power** supplies the dealer-transaction data that both the BLS used-cars-and-trucks CPI (sample of 2–7-year-old vehicles, depreciation-adjusted, mileage adjusted by age since 2024) [bls2026usedcars] and the Statistics Canada used-vehicle CPI component (hedonic time-dummy on log price with log odometer, log age, model fixed effects, by geography and class, introduced with the May 2022 reference month) [statcan2022usedvehicles] use. Both are transaction-based and have no inventory or duration component.
35 +- **CarGurus Instant Market Value** is a listing-comparables valuation, not an index of market liquidity [cargurus2026imv]; **AutoTrader.ca Price Index** is an average listing price adjusted for make and age, with an ancillary share-of-listings-with-price-drops statistic [autotrader2024priceindex]; **iSeeCars** publishes episodic days-to-sell and price-drop studies [iseecars2013pricedrops]. (Black Book US retention indices mirror CBB; the Manheim Market Report is a vehicle-level wholesale valuation, not an index.)
36 +
37 +**Does a used-car "liquidity index" already exist?** Not under that name in the academic literature (query 9 in `search_protocol.md` returned only trade guides). But days' supply, days-to-turn and the NADA 30-day inventory target *are* liquidity measures, as are iSeeCars' days-to-sell and AutoTrader's share of price drops. WP36 must acknowledge that an AMLI is a formalisation and extension of these practitioner quantities, not the first attempt to summarise market liquidity for used vehicles. The novelty lies in (i) combining duration, markdown and dispersion dimensions, (ii) estimating them at listing level with hazards rather than ratios, (iii) quality adjustment, (iv) regional/segment disaggregation, and (v) full transparency of construction, none of which the industry series offer.
38 +
39 +## 4. What WP36 adds
40 +
41 +1. **A listing-level daily panel scraped from dealer websites and portals** (~273k Quebec listings, 138 dealers, 12 Aug–1 Nov 2026) with a complete price-change log and first/last-seen dates. No published economics paper uses dealer-website asking-price paths for used cars; European precedents [kooreman2006anomalies; haan2010internetregional] use static classifieds, housing papers use MLS logs.
42 +2. **Markdown hazards and recurrent-event models for price cuts** (Andersen–Gill / Prentice–Williams–Peterson) and **competing-risks exit** (sold-type removal vs withdrawal/relisting), with interval censoring. This implements Lazear/Gallego–van Ryzin markdown theory on vehicles for the first time we can document.
43 +3. **Competitor response**: event-study estimates of how a dealer's price cut propagates to comparable listings at nearby dealers, with the reflection-problem and staggered-treatment toolkits of bucket G. Guren's strategic complementarity in list prices [guren2018momentum] and gasoline-market reaction studies are the precedents; nothing exists for used-car listings.
44 +4. **Quebec regional segmentation** of dispersion, liquidity and markdown behaviour (Montréal, Québec, Outaouais, regions), connecting to Canadian intranational integration work [engel1996border; gorodnichenko2009border; ceglowski2003lawofoneprice] and the Dutch regional used-car result [haan2010internetregional]; the only prior Quebec-specific vehicle evidence is [yanes2010depreciation].
45 +5. **A transparent, reproducible AMLI**: quality-adjusted (hedonic, rolling window, à la Statistics Canada) listing-price component plus duration, markdown-frequency and dispersion components, published with code, by region and segment — in contrast to proprietary indices whose weights and adjustments are only summarily disclosed.
46 +
47 +## 5. What WP36 cannot add (honest limits)
48 +
49 +- **No transaction prices.** Asking prices are commitments/signals [han2016askingprice; horowitz1992listprice], and the list–transaction gap varies with market conditions [lyons2019listprices; knight2002listing]. WP36 cannot measure realised prices, negotiated discounts, trade-in credits or financing terms, and cannot identify adverse selection in the Akerlof sense.
50 +- **Exit is not sale.** A listing disappearing may mean a sale, a wholesale disposal, a transfer between dealer sites, or de-listing; exit hazards are hazards of removal, and any "sold" label is inferred. Competing-risks results must be presented as such.
51 +- **Short window (≈12 weeks) and one season.** Seasonality [ngai2014hotcold; busse2015weather] and macro shocks [busse2013gasoline] cannot be separately identified; the AMLI is a cross-sectional/short-panel object, not yet a time series comparable to Manheim or CBB.
52 +- **Dealer and portal coverage** is a sample of Quebec dealers' websites and aggregators, not the universe; private-party sales and wholesale channels are absent; selection into listing on scraped sites may bias dispersion.
53 +- **Condition and reconditioning are unobserved** [bajari2005hedonic], so hedonic residual dispersion mixes true price dispersion with quality dispersion.
54 +- **Competitor-response identification** rests on timing and spatial proximity; without exogenous shocks to a single dealer's costs, estimates are of conditional co-movement, with the usual reflection-problem caveats [manski1993reflection; angrist2014perils].
55 +- **No welfare or structural counterfactuals** of the Gavazza–Lizzeri–Roketskiy type; WP36 is descriptive/reduced-form.
56 +
57 +## 6. Closest prior works (ranked)
58 +
59 +1. Biglaiser, Li, Murry & Zhou (2020, RAND) — dealers as intermediaries; dealer premium vs time on market [biglaiser2020intermediaries].
60 +2. Israeli, Scott Morton, Silva-Risso & Zettelmeyer (2022, Management Science) — dealer dynamic pricing in response to inventory [israeli2022marketpower].
61 +3. Haan & de Boer (2010, De Economist) — regional price differences in used-car listings before/after the internet [haan2010internetregional].
62 +4. Gavazza, Lizzeri & Roketskiy (2014, AER) and Gavazza (2011, AER) — transaction costs/frictions and liquidity in used-durable markets [gavazza2014usedcar; gavazza2011frictions].
63 +5. Knight (2002, Real Estate Economics) and Anenberg & Laufer (2017, REStat) — listing-price changes, time on market and listing-based indexes in housing, the methodological template WP36 transposes to vehicles [knight2002listing; anenberg2017timely].
added literature/references.bib +1831 −0
Large diff (1,831 lines) is not loaded by default to keep the page fast.Load diff
added literature/search_protocol.md +60 −0
Large diff (60 lines) is not loaded by default to keep the page fast.Load diff
added paper/.latexmkrc +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added paper/Makefile +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added paper/appendix/appendix.tex +19 −0
Large diff (19 lines) is not loaded by default to keep the page fast.Load diff
added paper/figures/fig01_coverage.pdf +0 −0

Binary file not shown.

added paper/figures/fig02_depreciation_surface.pdf +0 −0

Binary file not shown.

added paper/figures/fig03_listing_age_and_cuts.pdf +0 −0

Binary file not shown.

added paper/figures/fig04_price_paths.pdf +0 −0

Binary file not shown.

added paper/figures/fig05_hazard_curves.pdf +0 −0

Binary file not shown.

added paper/figures/fig06_competitor_event_study.pdf +0 −0

Binary file not shown.

added paper/figures/fig07_regional_premia_map.pdf +0 −0

Binary file not shown.

added paper/figures/fig08_amli_series.pdf +0 −0

Binary file not shown.

added paper/figures/fig09_amli_validation.pdf +0 −0

Binary file not shown.

added paper/figures/fig10_prediction.pdf +0 −0

Binary file not shown.

added paper/main.pdf +0 −0

Binary file not shown.

added paper/main.tex +76 −0
Large diff (76 lines) is not loaded by default to keep the page fast.Load diff
added paper/references.bib +1831 −0
Large diff (1,831 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/abstract.tex +1 −0
Large diff (1 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/background.tex +15 −0
Large diff (15 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/conclusion.tex +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/data.tex +47 −0
Large diff (47 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/introduction.tex +13 −0
Large diff (13 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/literature.tex +25 −0
Large diff (25 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/methodology.tex +43 −0
Large diff (43 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/results_amli.tex +28 −0
Large diff (28 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/results_dynamics.tex +45 −0
Large diff (45 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/results_prices.tex +33 −0
Large diff (33 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/robustness.tex +33 −0
Large diff (33 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/titlepage.tex +77 −0
Large diff (77 lines) is not loaded by default to keep the page fast.Load diff
added paper/sections/titlepage_anon.tex +53 −0
Large diff (53 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab01_sources.tex +14 −0
Large diff (14 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab02_sample_construction.tex +18 −0
Large diff (18 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab03_descriptives.tex +59 −0
Large diff (59 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab04_hedonic.tex +41 −0
Large diff (41 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab04b_hedonic_tests.tex +12 −0
Large diff (12 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab05_hazards.tex +32 −0
Large diff (32 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab06_competition.tex +31 −0
Large diff (31 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab06b_region_premia.tex +22 −0
Large diff (22 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab07_amli.tex +19 −0
Large diff (19 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab08_prediction.tex +19 −0
Large diff (19 lines) is not loaded by default to keep the page fast.Load diff
added paper/uq_logo.jpg +0 −0

Binary file not shown.

added pyproject.toml +42 −0
Large diff (42 lines) is not loaded by default to keep the page fast.Load diff
added reports/data_access_audit.md +114 −0
Large diff (114 lines) is not loaded by default to keep the page fast.Load diff
added reports/external_benchmarks_inventory.md +68 −0
Large diff (68 lines) is not loaded by default to keep the page fast.Load diff
added requirements-lock.txt +92 −0
Large diff (92 lines) is not loaded by default to keep the page fast.Load diff
added research/analysis_plan.md +51 −0
Large diff (51 lines) is not loaded by default to keep the page fast.Load diff
added research/questions.md +30 −0
Large diff (30 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/bootstrap_region_week.csv +154 −0
Large diff (154 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/index_body_filled_week.csv +73 −0
Large diff (73 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/index_province_week.csv +10 −0
Large diff (10 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/index_region_week.csv +154 −0
Large diff (154 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/index_region_week_5comp.csv +86 −0
Large diff (86 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/index_tier_week.csv +28 −0
Large diff (28 lines) is not loaded by default to keep the page fast.Load diff
added results/amli/summary.json +290 −0
Large diff (291 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_coarse_fe.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_dealer_dow_fe.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_dealer_dow_fe_firstcut.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_dow_fe.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_firstcut.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_main.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_main_10km.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_main_50km.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_main_cluster_region.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/eventstudy_placebo_permuted.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/summary.json +1133 −0
Large diff (1,134 lines) is not loaded by default to keep the page fast.Load diff
added results/competition/summary_dow.json +479 −0
Large diff (480 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/fig01_daily_coverage.csv +83 −0
Large diff (83 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/fig01_region_stock.csv +18 −0
Large diff (18 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/fig03_cut_share_by_class.csv +4 −0
Large diff (4 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/fig03_duration_ecdf.csv +1751 −0
Large diff (1,751 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/fig04_price_paths.csv +41 −0
Large diff (41 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/fig04_selection.json +95 −0
Large diff (96 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/summary.json +550 −0
Large diff (551 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/tab01_sources.csv +7 −0
Large diff (7 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/tab02_sample_construction.csv +13 −0
Large diff (13 lines) is not loaded by default to keep the page fast.Load diff
added results/descriptives/tab03_by_region.csv +18 −0
Large diff (18 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/aft_loglogistic_exit.csv +25 −0
Large diff (25 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/aft_loglogistic_first_markdown.csv +25 −0
Large diff (25 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cloglog_B_first_markdown.csv +60 −0
Large diff (60 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cloglog_C_exit.csv +61 −0
Large diff (61 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cox_exit.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cox_first_markdown.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cox_ph_test_exit.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cox_ph_test_first_markdown.csv +23 −0
Large diff (23 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/cutsize_ols.csv +22 −0
Large diff (22 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/empirical_hazard_exit.csv +72 −0
Large diff (72 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/empirical_hazard_exit_banner.csv +72 −0
Large diff (72 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/empirical_hazard_exit_direct_dealer.csv +72 −0
Large diff (72 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/empirical_hazard_exit_full_portal.csv +72 −0
Large diff (72 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/empirical_hazard_first_markdown.csv +72 −0
Large diff (72 lines) is not loaded by default to keep the page fast.Load diff
added results/hazards/summary.json +513 −0
Large diff (514 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/coefs_A1_linear_mm.csv +39 −0
Large diff (39 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/coefs_A2_spline_mm.csv +51 −0
Large diff (51 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/coefs_A2t_tensor_mm.csv +100 −0
Large diff (100 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/coefs_A3_spline_x_powertrain.csv +86 −0
Large diff (86 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/coefs_A4_spline_mmt.csv +53 −0
Large diff (53 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/coefs_A5_spline_dealerFE.csv +36 −0
Large diff (36 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/cv_grouped_dealer.json +221 −0
Large diff (222 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/dispersion_by_region.csv +18 −0
Large diff (18 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/region_premia_A2.csv +17 −0
Large diff (17 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/region_premia_A4.csv +17 −0
Large diff (17 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/summary.json +91 −0
Large diff (92 lines) is not loaded by default to keep the page fast.Load diff
added results/hedonic/surface_A2t.csv +3601 −0
Large diff (3,601 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_exit30_chronological_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_exit30_chronological_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_exit30_dealer_holdout_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_exit30_dealer_holdout_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_exit30_region_holdout_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_exit30_region_holdout_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30_chronological_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30_chronological_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30_dealer_holdout_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30_dealer_holdout_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30_region_holdout_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30_region_holdout_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30cr_chronological_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30cr_chronological_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30cr_dealer_holdout_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30cr_dealer_holdout_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30cr_region_holdout_lightgbm.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/calibration_markdown30cr_region_holdout_logistic.csv +11 −0
Large diff (11 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/cox_exit_summary.csv +38 −0
Large diff (38 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/feature_importance_exit30_chronological.csv +24 −0
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/feature_importance_exit30_dealer_holdout.csv +24 −0
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/feature_importance_markdown30_chronological.csv +24 −0
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/feature_importance_markdown30_dealer_holdout.csv +24 −0
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/feature_importance_markdown30cr_chronological.csv +24 −0
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/feature_importance_markdown30cr_dealer_holdout.csv +24 −0
Large diff (24 lines) is not loaded by default to keep the page fast.Load diff
added results/prediction/metrics.json +1610 −0
Large diff (1,611 lines) is not loaded by default to keep the page fast.Load diff
added results/robustness/amli_variants.csv +10 −0
Large diff (10 lines) is not loaded by default to keep the page fast.Load diff
added results/robustness/hazards_variants.csv +20 −0
Large diff (20 lines) is not loaded by default to keep the page fast.Load diff
added results/robustness/hedonic_heterogeneity.csv +13 −0
Large diff (13 lines) is not loaded by default to keep the page fast.Load diff
added results/robustness/hedonic_region_premia_variants.csv +129 −0
Large diff (129 lines) is not loaded by default to keep the page fast.Load diff
added results/robustness/hedonic_variants.csv +9 −0
Large diff (9 lines) is not loaded by default to keep the page fast.Load diff
added results/validation/exit_validation.json +26 −0
Large diff (27 lines) is not loaded by default to keep the page fast.Load diff
added scripts/01_ingest.py +6 −0
Large diff (6 lines) is not loaded by default to keep the page fast.Load diff
added scripts/02_clean.py +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added scripts/03_features.py +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added scripts/04_hedonic.py +8 −0
Large diff (8 lines) is not loaded by default to keep the page fast.Load diff
added scripts/05_descriptives.py +19 −0
Large diff (19 lines) is not loaded by default to keep the page fast.Load diff
added scripts/06_hazards.py +6 −0
Large diff (6 lines) is not loaded by default to keep the page fast.Load diff
added scripts/07_competition.py +6 −0
Large diff (6 lines) is not loaded by default to keep the page fast.Load diff
added scripts/07b_competition_dow.py +18 −0
Large diff (18 lines) is not loaded by default to keep the page fast.Load diff
added scripts/08_prediction.py +39 −0
Large diff (39 lines) is not loaded by default to keep the page fast.Load diff
added scripts/09_amli.py +7 −0
Large diff (7 lines) is not loaded by default to keep the page fast.Load diff
added scripts/10_validation.py +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added scripts/11_figures.py +5 −0
Large diff (5 lines) is not loaded by default to keep the page fast.Load diff
added scripts/12_robustness.py +19 −0
Large diff (19 lines) is not loaded by default to keep the page fast.Load diff
added scripts/13_tables.py +4 −0
Large diff (4 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/__init__.py +0 −0
Large diff (0 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/amli.py +175 −0
Large diff (175 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/cleaning.py +380 −0
Large diff (380 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/competition.py +118 −0
Large diff (118 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/config.py +53 −0
Large diff (53 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/descriptives.py +458 −0
Large diff (458 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/features.py +137 −0
Large diff (137 lines) is not loaded by default to keep the page fast.Load diff
added src/ucml/figures.py +14 −0
Large diff (14 lines) is not loaded by default to keep the page fast.Load diff

Diff truncated — file too large.

Menu

Theme