1# DECISIONS — methodological decisions and rejected alternatives (WP36)23| 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. |19| D-016 | 2026-11-01 | Model B (first-markdown cloglog) and the first-cut event study are re-estimated on the full first-cut risk set after the NULL→0 fix (E-016); the earlier survivor-only estimates are discarded and never reported. | Keep earlier estimates | They conditioned on the outcome. |20