# 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).