SPB Git forge

spb/auto-ka

Public
61commits 1branches 0releases
14.4 MBsize
maindefault branch
12 days agolast push
Python 61.6% TypeScript 20.9% CSS 11.4% JavaScript 5.1% HTML 1.1%
2.1 KB

# Transverse — Dédoublonnage VIN inter-sources

Généré automatiquement par scripts/gen_connector_docs.py.

# Mécanique (autoka/dedup.py)

dedup.py : dédoublonnage inter-sources par VIN

Le même véhicule apparaît souvent chez plusieurs sources : le site du concessionnaire ET le portail de son groupe (Le Prix du Gros ↔ HGrégoire, Méga Centre ↔ concessions Laplante, Toutes les marques ↔ GM Côte-Nord…), voire une petite annonce Kijiji. Le VIN (17 caractères, unique au monde) est la clé de blocage parfaite : on ne regroupe QUE sur VIN identique et valide — dédoublonnage volontairement conservateur, zéro faux positif.

Pour chaque groupe de doublons on élit une annonce CANONIQUE : autorité (concessionnaire direct > portail/regroupeur > petites annonces) puis complétude de la fiche, puis ancienneté (first_seen). La canonique garde la liste des autres offres dans dup_sources (JSON) ; les doublons pointent vers elle via dup_of (uid canonique). Les endpoints de liste filtrent dup_of IS NULL — les fiches détail restent toutes accessibles par uid.

recompute() repart de zéro à chaque appel (idempotent) : appelé à la fin de chaque cycle d'ingestion (ingest.run) et disponible en one-shot : python3 -m autoka.dedup

# État live

  • Annonces en base : 136782
  • Annonces masquées (dup_of non nul) : 13128
  • Annonces canoniques avec doublons : 10732
  • Autorité : concessionnaire direct > portail/regroupeur > petites annonces ; puis complétude de la fiche, puis ancienneté (first_seen).
  • Les listes filtrent dup_of IS NULL ; les fiches détail restent accessibles par uid.

# Sources les plus masquées

Source Annonces masquées
otogo 6766
autousagee 3216
leprixdugros 979
megacentredeliquidation 443
touteslesmarques 317
montjolichrysler 279
occasionbeaucage 217
cargurus 161
stefoychrysler 125
jeandumas 119
baiecomeaugm 101
abitibiautocredit 92

Recalcul one-shot : python3 -m autoka.dedup (idempotent, relancé à la fin de chaque cycle d'ingestion).