Administration
← Retour
Log : 20260325_080000
=== CRAWL 20260325_080000 ===
Trigger: scheduled
Started: 2026-03-25T08:00:00.000329
============================================================
Récupération de la page 1/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 2/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 3/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=3
→ 35 annonces récupérées (total en mémoire: 105)
Export de 105 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 4/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=4
→ 35 annonces récupérées (total en mémoire: 140)
Export de 140 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 5/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=5
→ 35 annonces récupérées (total en mémoire: 175)
Export de 175 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 6/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=6
→ 35 annonces récupérées (total en mémoire: 210)
Export de 210 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 7/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=7
→ 35 annonces récupérées (total en mémoire: 245)
Export de 245 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 8/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=8
→ 35 annonces récupérées (total en mémoire: 280)
Export de 280 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 9/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=9
→ 35 annonces récupérées (total en mémoire: 315)
Export de 315 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 10/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=10
→ 35 annonces récupérées (total en mémoire: 350)
Export de 350 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 11/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=11
→ 35 annonces récupérées (total en mémoire: 385)
Export de 385 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 12/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=12
→ 35 annonces récupérées (total en mémoire: 420)
Export de 420 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 13/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=13
→ 35 annonces récupérées (total en mémoire: 455)
Export de 455 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 14/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=14
→ 35 annonces récupérées (total en mémoire: 490)
Export de 490 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 15/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=15
→ 35 annonces récupérées (total en mémoire: 525)
Export de 525 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 16/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=16
→ 35 annonces récupérées (total en mémoire: 560)
Export de 560 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 17/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=17
→ 35 annonces récupérées (total en mémoire: 595)
Export de 595 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 18/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=18
→ 35 annonces récupérées (total en mémoire: 630)
Export de 630 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 19/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=19
→ 35 annonces récupérées (total en mémoire: 665)
Export de 665 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 20/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=20
→ 35 annonces récupérées (total en mémoire: 700)
Export de 700 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 21/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=21
→ 35 annonces récupérées (total en mémoire: 735)
Export de 735 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 22/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=22
→ 35 annonces récupérées (total en mémoire: 770)
Export de 770 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 23/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=23
→ 35 annonces récupérées (total en mémoire: 805)
Export de 805 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 24/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=24
→ 35 annonces récupérées (total en mémoire: 840)
Export de 840 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 25/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=25
→ 35 annonces récupérées (total en mémoire: 875)
Export de 875 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 26/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=26
→ 35 annonces récupérées (total en mémoire: 910)
Export de 910 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 27/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=27
→ 35 annonces récupérées (total en mémoire: 945)
Export de 945 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 28/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=28
→ 35 annonces récupérées (total en mémoire: 980)
Export de 980 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 29/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=29
→ 35 annonces récupérées (total en mémoire: 1015)
Export de 1015 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 30/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=30
→ 35 annonces récupérées (total en mémoire: 1050)
Export de 1050 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 31/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=31
→ 35 annonces récupérées (total en mémoire: 1085)
Export de 1085 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 32/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=32
→ 35 annonces récupérées (total en mémoire: 1120)
Export de 1120 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 33/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=33
→ 35 annonces récupérées (total en mémoire: 1155)
Export de 1155 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 34/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=34
→ 35 annonces récupérées (total en mémoire: 1190)
Export de 1190 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 35/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=35
→ 35 annonces récupérées (total en mémoire: 1225)
Export de 1225 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 36/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=36
→ 35 annonces récupérées (total en mémoire: 1260)
Export de 1260 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 37/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=37
→ 35 annonces récupérées (total en mémoire: 1295)
Export de 1295 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 38/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=38
→ 35 annonces récupérées (total en mémoire: 1330)
Export de 1330 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 39/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=39
→ 35 annonces récupérées (total en mémoire: 1365)
Export de 1365 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 40/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=40
→ 35 annonces récupérées (total en mémoire: 1400)
Export de 1400 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Récupération de la page 41/41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000®date=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=41
→ 35 annonces récupérées (total en mémoire: 1435)
Export de 1435 annonces vers /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv réussi.
Terminé : 1435 annonces au total dans /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv
INFO: Model override : clio_4
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_clio_4_20260325_080001.csv
✅ 1435 lus, 1435 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 1435 lus, 1435 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6893 annonces en base
════════════════════════════════════════════════════════════
INFO: 1425 list_id lus dans le CSV.
INFO: 1452 annonces actives en base pour renault clio_4.
INFO: 27 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_clio_4_20260325_080001.csv
Brand : renault | Modèle : clio_4
════════════════════════════════════════════════════════════
Annonces dans le CSV : 1425
Annonces actives en DB : 1452
Absentes du crawl : 27
Marquées indisponibles : 27
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/clio_4/figures
🔍 Modèle filtré : clio_4
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 2825 annonces chargées (modèle 'clio_4')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 2825
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 3127969515 Renault clio 4 7000 2018 82900 essence renault clio_4 pro 2026-01-15 08:48:18
1 3118025641 Renault clio 4 1.5 dci 2019 entretenu chez renault 7990 2019 113000 diesel renault clio_4 private 2025-12-27 01:30:58
2 3143719888 Renault clio 4 phase 2 0.9 tce 90cv energy limited entretien complet 7990 2018 95000 essence renault clio_4 pro 2026-02-12 11:14:08
3 3141083795 Renault Clio 4/IV Authentique / 1.2 16 V 75 ch / 88280 kms / Entretiens à jours 5990 2014 88280 essence renault clio_4 pro 2026-02-07 16:41:23
4 3147329929 Clio 4 4000 2014 100000 essence renault clio_4 private 2026-02-18 19:23:14
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2024-04-05 09:38:00
Dernière publication : 2026-03-25 03:24:33
Durée : 718 jours
👤 Répartition par type de vendeur :
private : 1863 (65.9%)
pro : 962 (34.1%)
⛽ Répartition par carburant :
diesel : 1553 (55.0%)
essence : 1268 (44.9%)
autre : 3 (0.1%)
gpl : 1 (0.0%)
🏭 Top 10 marques :
renault : 2825 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 0 lignes supprimées
km_aberrants : 1 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 0 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 1
Restantes : 2824 / 2825
Pourcentage conservé : 100.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 46 outliers (1.6%)
Bornes IQR : [4,740 ; 10,740]
mileage_km : 45 outliers (1.6%)
Bornes IQR : [18,246 ; 253,052]
age_years : 8 outliers (0.3%)
Bornes IQR : [5 ; 13]
📌 Total d'annonces outliers (au moins 1 variable) : 82 (2.9%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 2824
Dont outliers identifiés : 82
Annonces non-outliers : 2742
Plages de valeurs :
price_eur : [ 3,300 ; 9,000] (moy: 7,604)
mileage_km : [ 125 ; 380,000] (moy: 137,867)
year_model : [ 2,014 ; 2,024] (moy: 2,017)
age_years : [ 2 ; 12] (moy: 9)
km_per_year : [ 18 ; 54,286] (moy: 16,161)
💾 2824 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 9 signaux de suspicion détectés
km_trop_bas_diesel: 7
km_trop_bas_essence: 2
💾 9 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 2824 7603.882082 7900.000000 1110.491062 3300.000000 6990.0 8490.0 9000.000000 1500.0
mileage_km 2824 137867.302408 134308.500000 44882.495565 125.000000 106298.5 165000.0 380000.000000 58701.5
year_model 2824 2017.292139 2017.000000 1.353808 2014.000000 2016.0 2018.0 2024.000000 2.0
age_years 2824 8.707861 9.000000 1.353808 2.000000 8.0 10.0 12.000000 2.0
km_per_year 2824 16161.369149 15731.228571 5726.138083 17.857143 12200.0 19600.0 54285.714286 7400.0
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 2,824 7,604 7,900 1,110.49 3,300 6,990 8,490 9,000 1,500
mileage_km 2,824 137,867 134,308 44,882.50 125 106,298 165,000 380,000 58,702
year_model 2,824 2,017 2,017 1.35 2,014 2,016 2,018 2,024 2
age_years 2,824 8.7 9.0 1.35 2.0 8.0 10.0 12.0 2.0
km_per_year 2,824 16,161.4 15,731.2 5,726.14 17.9 12,200.0 19,600.0 54,285.7 7,400.0
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 15%, σ = 1,110)
→ Étendue : [3,300 ; 9,000] (IQR = 1,500)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 33%, σ = 44,882)
→ Étendue : [125 ; 380,000] (IQR = 58,702)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 1)
→ Étendue : [2,014 ; 2,024] (IQR = 2)
📌 age_years :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 16%, σ = 1)
→ Étendue : [2 ; 12] (IQR = 2)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 35%, σ = 5,726)
→ Étendue : [18 ; 54,286] (IQR = 7,400)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
2026-03-25 08:02:24,127 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:02:24,127 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
---------------------------------------------------------------------------
2014 53 6,972 7,200 N/A
2015 55 7,319 7,600 -5.0%
2016 805 7,296 7,500 +0.3%
2017 756 7,588 7,800 -4.0%
2018 611 7,728 7,990 -1.8%
2019 389 7,939 8,000 -2.7%
2020 122 8,232 8,500 -3.7%
2021 25 8,340 8,490 -1.3%
2022 6 8,838 8,930 -6.0%
2024 2 8,000 8,000 +9.5%
📌 Décote annuelle moyenne : -1.6%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 10 7,363 6,970 N/A
20-50k 18 8,089 8,500 +9.9%
50-80k 181 8,211 8,490 +1.5%
80-120k 867 8,001 8,000 -2.6%
120-160k 913 7,898 7,990 -1.3%
160-200k 570 7,129 7,000 -9.7%
200k+ 265 5,875 5,800 -17.6%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
2 2 8,000 N/A
4 6 8,838 +10.5%
5 25 8,340 -5.6%
6 122 8,232 -1.3%
7 389 7,939 -3.6%
8 611 7,728 -2.7%
9 756 7,588 -1.8%
10 805 7,296 -3.9%
11 55 7,319 +0.3%
12 53 6,972 -4.7%
📌 La décote ralentit significativement à 6 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
autre 3 7,630 6,990
diesel 1553 7,460 7,700
essence 1267 7,779 7,990
📌 Carburant avec prix médian le plus élevé : essence (7,990€)
📌 Carburant avec prix médian le plus bas : autre (6,990€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 1862 7,444 7,600
pro 962 7,914 7,990
📌 Test Mann-Whitney (médiane) : p = 0.0000
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +390€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (clio_4) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/clio_4/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
10k : décote -0.5% (n= 2)
20k : décote -16.5% (n= 5)
30k : décote 1.4% (n= 6)
40k : décote 13.3% (n= 7) ⚡
50k : décote -10.4% (n= 34)
60k : décote -2.8% (n= 58)
70k : décote 2.6% (n= 89)
80k : décote -0.6% (n=131)
90k : décote 0.6% (n=217)
100k : décote 2.8% (n=223)
110k : décote 0.5% (n=296)
120k : décote -2.3% (n=218)
130k : décote 1.3% (n=235)
140k : décote 0.8% (n=236)
150k : décote 2.5% (n=224)
160k : décote 3.9% (n=184)
170k : décote 1.8% (n=159)
180k : décote 4.1% (n=119)
190k : décote 4.3% (n=108)
200k : décote 6.0% (n=100)
210k : décote 2.8% (n= 52)
220k : décote -2.3% (n= 24)
230k : décote 12.3% (n= 36) ⚡
240k : décote 4.7% (n= 9)
250k : décote 0.8% (n= 17)
260k : décote 1.3% (n= 5)
270k : décote 9.9% (n= 4)
280k : décote -14.2% (n= 6)
290k : décote 16.5% (n= 6) ⚡
300k+ : décote -16.8% (n= 6)
📌 Seuils où la décote s'accélère (> 8%) :
→ 40k km : 13.3%
→ 230k km : 12.3%
→ 270k km : 9.9%
→ 290k km : 16.5%
✅ Sauvegardé : /home/ubuntu/app/stats/clio_4/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
4 ans : décote -10.5% (n= 6) 🐢 LENTE
5 ans : décote 5.6% (n= 25)
6 ans : décote 1.3% (n=122) 🐢 LENTE
7 ans : décote 3.6% (n=389)
8 ans : décote 2.7% (n=611) 🐢 LENTE
9 ans : décote 1.8% (n=756) 🐢 LENTE
10 ans : décote 3.9% (n=805)
11 ans : décote -0.3% (n= 55) 🐢 LENTE
12 ans : décote 4.7% (n= 53)
📌 Décote lente (< 5% par an) :
→ 4 ans : -10.5%
→ 6 ans : 1.3%
→ 7 ans : 3.6%
→ 8 ans : 2.7%
→ 9 ans : 1.8%
→ 10 ans : 3.9%
→ 11 ans : -0.3%
→ 12 ans : 4.7%
✅ Sauvegardé : /home/ubuntu/app/stats/clio_4/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -165.88 × âge + -0.0132 × km + 10,873
📌 R² = 0.346
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 169 ( 6.0%)
👍 Bonne affaire : 366 ( 13.0%)
📊 Prix marché : 1751 ( 62.0%)
💰 Cher : 455 ( 16.1%)
🔴 Très cher : 83 ( 2.9%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/clio_4/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3139618502] Renault Clio 4 estate accidenté
Prix: 3,300€ | Attendu: 7,810€ | Écart: -57.7% | Année: 2018 | Km: 131,159
2. [3147790884] Clio 4 phase 2
Prix: 3,500€ | Attendu: 7,825€ | Écart: -55.3% | Année: 2018 | Km: 130,000
3. [3165548491] Renault clio 4
Prix: 3,500€ | Attendu: 7,461€ | Écart: -53.1% | Année: 2017 | Km: 145,000
4. [3150016687] Clio 4
Prix: 4,000€ | Attendu: 7,785€ | Écart: -48.6% | Année: 2016 | Km: 108,000
5. [3162715888] Clio 4 2018
Prix: 4,700€ | Attendu: 9,016€ | Écart: -47.9% | Année: 2018 | Km: 40,000
6. [3154311236] Renault Clio 4 1.5 dCi 2016 – Diesel – Société – 1
Prix: 3,800€ | Attendu: 7,189€ | Écart: -47.1% | Année: 2016 | Km: 153,000
7. [3147329929] Clio 4
Prix: 4,000€ | Attendu: 7,559€ | Écart: -47.1% | Année: 2014 | Km: 100,000
8. [3144664626] Clio 4 retour de vol
Prix: 4,800€ | Attendu: 8,984€ | Écart: -46.6% | Année: 2019 | Km: 55,000
9. [3161045630] Clio 4 75ch
Prix: 4,000€ | Attendu: 6,978€ | Écart: -42.7% | Année: 2016 | Km: 169,000
2026-03-25 08:03:04,057 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 08:03:04,066 [INFO] services.llm_service — Batch 0-16: 16 résultats extraits (modèle=gpt-5-nano)
2026-03-25 08:03:04,687 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:03:04,691 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:03:04,800 [INFO] stats.exporters.to_db — referentiel_prix : 49 segments insérés
2026-03-25 08:03:04,986 [INFO] stats.exporters.to_db — ads.deal_columns : 2824 annonces mises à jour
10. [3138542846] Clio 4 essence retour vol
Prix: 4,500€ | Attendu: 7,725€ | Écart: -41.7% | Année: 2015 | Km: 100,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3147178650] 🚗 Renault Clio 4 en très bon état
Prix: 7,000€ | Attendu: 4,683€ | Écart: +49.5% | Année: 2019 | Km: 380,000
2. [3163754314] Clio 4 initiale paris
Prix: 8,900€ | Attendu: 6,567€ | Écart: +35.5% | Année: 2016 | Km: 200,000
3. [3161126708] RENAULT CLIO IV dCi 110 Initiale Paris | FULL OPTI
Prix: 8,990€ | Attendu: 6,641€ | Écart: +35.4% | Année: 2017 | Km: 207,000
4. [3144046817] Clio 5
Prix: 9,000€ | Attendu: 6,999€ | Écart: +28.6% | Année: 2019 | Km: 205,000
5. [3165923653] RENAULT CLIO IV BUSINESS dCi 90 Energy eco2 82g Bu
Prix: 8,990€ | Attendu: 7,004€ | Écart: +28.4% | Année: 2016 | Km: 166,990
6. [3136191420] Clio IV
Prix: 7,490€ | Attendu: 5,840€ | Écart: +28.2% | Année: 2018 | Km: 280,000
7. [3151967791] Clio 4 initiale Paris
Prix: 8,900€ | Attendu: 6,945€ | Écart: +28.2% | Année: 2017 | Km: 184,000
8. [3155921737] Renault CLIO IV 1.5 DCI 90CH ENERGY BUSINESS 82G 5
Prix: 8,490€ | Attendu: 6,639€ | Écart: +27.9% | Année: 2016 | Km: 194,600
9. [3155418369] Renault CLIO IV 1.5 DCI 90CH ENERGY BUSINESS 82G 5
Prix: 8,490€ | Attendu: 6,639€ | Écart: +27.9% | Année: 2016 | Km: 194,600
10. [3151279318] Clio 4 ÉDITION ONE
Prix: 8,899€ | Attendu: 7,001€ | Écart: +27.1% | Année: 2016 | Km: 167,264
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 12 annonces avec prix suspect
💾 12 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 16
Résultats extraits : 16
Évaluations insérées : 16
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 2,824 │
│ Prix moyen │ 7,604 € │
│ Prix médian │ 7,900 € │
│ Km moyen │ 137,867 km │
│ Km médian │ 134,308 km │
│ Âge moyen │ 8.7 ans │
│ Âge médian │ 9.0 ans │
│ Km/an moyen │ 16,161 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/clio_4/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~12 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (300000, 999999]
⛽ Carburant tenant le mieux sa valeur : essence (prix/âge le plus élevé)
👔 Les pros vendent 5.1% plus cher que les particuliers (médiane)
🔄 Km/an médian : 15,731 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : renault (2824)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 8,186€
(469 annonces disponibles)
• Prix médian du marché : 7,900€ → cible < 7,110€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 7,900€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 134,308 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (775 annonces) :
Prix : 3,300€ - 6,990€
Âge moyen : 9.1 ans | Km moyen : 171,597
• Milieu de gamme (1344 annonces) :
Prix : 6,999€ - 8,490€
Âge moyen : 8.7 ans | Km moyen : 131,172
• Premium (705 annonces) :
Prix : 8,499€ - 9,000€
Âge moyen : 8.2 ans | Km moyen : 113,553
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #149 créé
🔍 Modèle : clio_4
📎 2824 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.346)
✅ Référentiel prix : 49 segments
✅ Classifications deal : 2824 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 44.4 secondes
📊 2824 annonces analysées (run #149)
🔍 Modèle : clio_4
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/clio_4/figures
══════════════════════════════════════════════════════════════════════
Récupération de la page 1/2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=toyota+yaris&price=3000-9000®date=2016-max&gearbox=1&seats=5%2C4&u_car_brand=TOYOTA&order=asc&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_yaris_20260325_080305.csv réussi.
Récupération de la page 2/2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=toyota+yaris&price=3000-9000®date=2016-max&gearbox=1&seats=5%2C4&u_car_brand=TOYOTA&order=asc&page=2
→ 15 annonces récupérées (total en mémoire: 50)
Export de 50 annonces vers /home/ubuntu/app/leboncoin_ads_yaris_20260325_080305.csv réussi.
Terminé : 50 annonces au total dans /home/ubuntu/app/leboncoin_ads_yaris_20260325_080305.csv
INFO: Model override : yaris
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_yaris_20260325_080305.csv
✅ 50 lus, 50 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 50 lus, 50 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6893 annonces en base
════════════════════════════════════════════════════════════
INFO: 50 list_id lus dans le CSV.
INFO: 53 annonces actives en base pour toyota yaris.
INFO: 3 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_yaris_20260325_080305.csv
Brand : toyota | Modèle : yaris
════════════════════════════════════════════════════════════
Annonces dans le CSV : 50
Annonces actives en DB : 53
Absentes du crawl : 3
Marquées indisponibles : 3
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/yaris/figures
🔍 Modèle filtré : yaris
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 118 annonces chargées (modèle 'yaris')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 118
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 3149141739 TOYOTA YARIS 69 VVT-i Active 7490 2015 132826 essence toyota yaris pro 2026-02-22 05:48:49
1 3045595309 Toyota Yaris 69 VVT-I DYNAMIC 5P 8200 2015 110000 essence toyota yaris pro 2025-08-25 15:40:00
2 3122430376 TOYOTA YARIS 1.3 VVT-i 69 CH TENDANCE 6990 2015 134360 essence toyota yaris pro 2026-01-04 17:35:29
3 3151345668 Toyota Yaris 2500 2016 150000 diesel toyota yaris private 2026-02-25 20:06:54
4 3152706239 Toyota yaris 7700 2017 119800 diesel toyota yaris private 2026-02-28 12:41:35
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2025-06-13 15:11:00
Dernière publication : 2026-03-24 16:54:56
Durée : 284 jours
👤 Répartition par type de vendeur :
pro : 61 (51.7%)
private : 57 (48.3%)
⛽ Répartition par carburant :
essence : 101 (85.6%)
diesel : 17 (14.4%)
🏭 Top 10 marques :
toyota : 118 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 0 lignes supprimées
km_aberrants : 0 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 0 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 0
Restantes : 118 / 118
Pourcentage conservé : 100.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 2 outliers (1.7%)
Bornes IQR : [4,650 ; 11,450]
mileage_km : 3 outliers (2.5%)
Bornes IQR : [22,357 ; 218,502]
age_years : 2 outliers (1.7%)
Bornes IQR : [5 ; 13]
📌 Total d'annonces outliers (au moins 1 variable) : 6 (5.1%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 118
Dont outliers identifiés : 6
Annonces non-outliers : 112
Plages de valeurs :
price_eur : [ 2,500 ; 9,000] (moy: 7,868)
mileage_km : [ 150 ; 200,000] (moy: 118,017)
year_model : [ 2,015 ; 2,025] (moy: 2,017)
age_years : [ 1 ; 11] (moy: 9)
km_per_year : [ 15 ; 143,200] (moy: 13,965)
💾 118 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 2 signaux de suspicion détectés
km_trop_bas_essence: 2
💾 2 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 118 7867.652542 8100.000000 1221.865733 2500.0 7200.00 8900.00 9000.0 1700.00
mileage_km 118 118016.864407 120400.000000 38227.212667 150.0 95911.25 144947.50 200000.0 49036.25
year_model 118 2016.838983 2016.000000 1.585028 2015.0 2016.00 2018.00 2025.0 2.00
age_years 118 9.161017 10.000000 1.585028 1.0 8.00 10.00 11.0 2.00
km_per_year 118 13965.308967 12904.545455 12737.830919 15.0 9951.75 14976.75 143200.0 5025.00
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 118 7,868 8,100 1,221.87 2,500 7,200 8,900 9,000 1,700
mileage_km 118 118,017 120,400 38,227.21 150 95,911 144,948 200,000 49,036
year_model 118 2,017 2,016 1.59 2,015 2,016 2,018 2,025 2
age_years 118 9.2 10.0 1.59 1.0 8.0 10.0 11.0 2.0
km_per_year 118 13,965.3 12,904.5 12,737.83 15.0 9,951.8 14,976.8 143,200.0 5,025.0
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 16%, σ = 1,222)
→ Étendue : [2,500 ; 9,000] (IQR = 1,700)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 32%, σ = 38,227)
→ Étendue : [150 ; 200,000] (IQR = 49,036)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 2)
→ Étendue : [2,015 ; 2,025] (IQR = 2)
📌 age_years :
→ Distribution asymétrique GAUCHE (moyenne 9 < médiane 10)
Quelques valeurs basses tirent la moyenne vers le bas.
→ Faible dispersion (CV = 17%, σ = 2)
→ Étendue : [1 ; 11] (IQR = 2)
📌 km_per_year :
→ Distribution asymétrique DROITE (moyenne 13,965 > médiane 12,905)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ FORTE dispersion (CV = 91%, σ = 12,738)
→ Étendue : [15 ; 143,200] (IQR = 5,025)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
2026-03-25 08:03:36,721 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:03:36,722 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
---------------------------------------------------------------------------
2015 16 7,880 7,980 N/A
2016 48 7,566 7,994 +4.0%
2017 22 8,250 8,495 -9.1%
2018 15 7,950 8,500 +3.6%
2019 13 8,485 8,890 -6.7%
2020 2 8,840 8,840 -4.2%
📌 Décote annuelle moyenne : -2.5%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 3 6,950 7,000 N/A
20-50k 2 8,840 8,840 +27.2%
50-80k 13 8,724 8,990 -1.3%
80-120k 41 8,156 8,490 -6.5%
120-160k 43 7,779 7,999 -4.6%
160-200k 15 6,734 6,600 -13.4%
200k+ 1 6,500 6,500 -3.5%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
6 2 8,840 N/A
7 13 8,485 -4.0%
8 15 7,950 -6.3%
9 22 8,250 +3.8%
10 48 7,566 -8.3%
11 16 7,880 +4.2%
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 17 7,644 8,000
essence 101 7,905 8,200
📌 Carburant avec prix médian le plus élevé : essence (8,200€)
📌 Carburant avec prix médian le plus bas : diesel (8,000€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 57 7,485 7,900
pro 61 8,225 8,490
📌 Test Mann-Whitney (médiane) : p = 0.0063
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +590€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (yaris) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/yaris/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
50k : décote -26.3% (n= 2)
60k : décote 0.0% (n= 8)
70k : décote 1.0% (n= 3)
80k : décote 3.6% (n= 4)
90k : décote -1.8% (n= 12)
100k : décote 6.6% (n= 13)
110k : décote -0.6% (n= 12)
120k : décote -4.1% (n= 9)
130k : décote 3.4% (n= 10)
140k : décote 5.4% (n= 17)
150k : décote 5.7% (n= 7)
160k : décote -2.8% (n= 4)
170k : décote 11.0% (n= 9) ⚡
180k : décote 5.2% (n= 2)
📌 Seuils où la décote s'accélère (> 8%) :
→ 170k km : 11.0%
✅ Sauvegardé : /home/ubuntu/app/stats/yaris/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
7 ans : décote 4.0% (n= 13)
8 ans : décote 6.3% (n= 15)
9 ans : décote -3.8% (n= 22) 🐢 LENTE
10 ans : décote 8.3% (n= 48)
11 ans : décote -4.2% (n= 16) 🐢 LENTE
📌 Décote lente (< 5% par an) :
→ 7 ans : 4.0%
→ 9 ans : -3.8%
→ 11 ans : -4.2%
✅ Sauvegardé : /home/ubuntu/app/stats/yaris/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = 60.80 × âge + -0.0118 × km + 8,701
📌 R² = 0.130
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 10 ( 8.5%)
👍 Bonne affaire : 8 ( 6.8%)
📊 Prix marché : 74 ( 62.7%)
💰 Cher : 21 ( 17.8%)
🔴 Très cher : 5 ( 4.2%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/yaris/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3151345668] Toyota Yaris
Prix: 2,500€ | Attendu: 7,542€ | Écart: -66.9% | Année: 2016 | Km: 150,000
2. [3166982116] Toyota yaris
Prix: 3,500€ | Attendu: 7,306€ | Écart: -52.1% | Année: 2016 | Km: 170,000
3. [3152322073] Toyota Yaris 1.0 VVTI PRO EXPORT (0101261)
Prix: 5,250€ | Attendu: 8,702€ | Écart: -39.7% | Année: 2023 | Km: 15,333
4. [3157660912] Toyota Yaris
Prix: 5,500€ | Attendu: 7,903€ | Écart: -30.4% | Année: 2018 | Km: 109,000
5. [3165225181] Toyota yaris
Prix: 5,300€ | Attendu: 7,306€ | Écart: -27.5% | Année: 2016 | Km: 170,000
6. [3166534631] Toyota yaris
Prix: 5,300€ | Attendu: 7,306€ | Écart: -27.5% | Année: 2016 | Km: 170,000
7. [3157975215] Toyota yaris 2011
Prix: 5,150€ | Attendu: 7,075€ | Écart: -27.2% | Année: 2025 | Km: 143,200
8. [3161632025] Toyota Yaris III - 5P - 2016
Prix: 5,500€ | Attendu: 7,424€ | Écart: -25.9% | Année: 2016 | Km: 160,000
9. [3165747251] Toyota Yaris
Prix: 7,000€ | Attendu: 9,307€ | Écart: -24.8% | Année: 2016 | Km: 150
10. [3167175989] Toyota Aygo 1.0 VTI x-play
Prix: 5,999€ | Attendu: 7,974€ | Écart: -24.8% | Année: 2018 | Km: 103,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3157352360] Toyota Yaris III 1.5 VVT-i 110 ch – Design Y20-201
Prix: 8,900€ | Attendu: 7,065€ | Écart: +26.0% | Année: 2019 | Km: 175,000
2. [3151218398] TOYOTA Yaris 3 Phase 2 / 1.3 VVTi 16V 100 cv *Fini
Prix: 8,990€ | Attendu: 7,236€ | Écart: +24.2% | Année: 2016 | Km: 176,000
3. [3163742160] Toyota Yaris 90 D-4D Design 5p style
Prix: 8,990€ | Attendu: 7,375€ | Écart: +21.9% | Année: 2016 | Km: 164,156
4. [3153117476] Toyota Yaris 70 VVT-i France 5p MY19
Prix: 8,990€ | Attendu: 7,381€ | Écart: +21.8% | Année: 2018 | Km: 153,356
5. [3167503729] Toyota Yaris III 110cv VVT-i Design MY19
Prix: 8,990€ | Attendu: 7,421€ | Écart: +21.1% | Année: 2019 | Km: 144,790
6. [3135900987] TOYOTA YARIS RC18 110 VVT-i COLLECTION
Prix: 8,990€ | Attendu: 7,597€ | Écart: +18.3% | Année: 2018 | Km: 135,000
7. [3151923222] Toyota Yaris 110 VVT-i Design Y20 5p RC19
Prix: 8,990€ | Attendu: 7,633€ | Écart: +17.8% | Année: 2019 | Km: 126,787
8. [3006906577] Toyota Yaris III 69 VVT-i France
Prix: 8,990€ | Attendu: 7,651€ | Écart: +17.5% | Année: 2016 | Km: 140,770
9. [3150673579] Toyota yaris 100 vvt-i dynamic 5p 2016
Prix: 8,990€ | Attendu: 7,683€ | Écart: +17.0% | Année: 2016 | Km: 138,000
2026-03-25 08:03:37,776 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:03:37,779 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:03:37,832 [INFO] stats.exporters.to_db — referentiel_prix : 23 segments insérés
2026-03-25 08:03:37,844 [INFO] stats.exporters.to_db — ads.deal_columns : 118 annonces mises à jour
10. [3146935741] Toyota Yaris 1.4 D-4D 90 Business
Prix: 8,990€ | Attendu: 7,726€ | Écart: +16.4% | Année: 2017 | Km: 129,178
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 2 annonces avec prix suspect
💾 2 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 0
Toutes les annonces ont déjà été analysées.
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 118 │
│ Prix moyen │ 7,868 € │
│ Prix médian │ 8,100 € │
│ Km moyen │ 118,017 km │
│ Km médian │ 120,400 km │
│ Âge moyen │ 9.2 ans │
│ Âge médian │ 10.0 ans │
│ Km/an moyen │ 13,965 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/yaris/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~11 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (20000, 40000]
⛽ Carburant tenant le mieux sa valeur : essence (prix/âge le plus élevé)
👔 Les pros vendent 7.5% plus cher que les particuliers (médiane)
🔄 Km/an médian : 12,905 km → Profil dominant : 10-15k (Normal)
🏭 Top 3 marques = 100% du marché : toyota (118)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 8,264€
(16 annonces disponibles)
• Prix médian du marché : 8,100€ → cible < 7,290€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 8,100€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 120,400 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (31 annonces) :
Prix : 2,500€ - 7,200€
Âge moyen : 9.0 ans | Km moyen : 135,807
• Milieu de gamme (58 annonces) :
Prix : 7,299€ - 8,900€
Âge moyen : 9.4 ans | Km moyen : 114,913
• Premium (29 annonces) :
Prix : 8,950€ - 9,000€
Âge moyen : 8.9 ans | Km moyen : 105,208
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #150 créé
🔍 Modèle : yaris
📎 118 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.130)
✅ Référentiel prix : 23 segments
✅ Classifications deal : 118 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 3.8 secondes
📊 118 annonces analysées (run #150)
🔍 Modèle : yaris
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/yaris/figures
══════════════════════════════════════════════════════════════════════
Récupération de la page 1/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000®date=2016-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv réussi.
Récupération de la page 2/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000®date=2016-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv réussi.
Récupération de la page 3/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000®date=2016-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=3
→ 35 annonces récupérées (total en mémoire: 105)
Export de 105 annonces vers /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv réussi.
Récupération de la page 4/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000®date=2016-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=4
→ 16 annonces récupérées (total en mémoire: 121)
Export de 121 annonces vers /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv réussi.
Terminé : 121 annonces au total dans /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv
INFO: Model override : i20
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_i20_20260325_080338.csv
✅ 121 lus, 121 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 121 lus, 121 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6895 annonces en base
════════════════════════════════════════════════════════════
INFO: 121 list_id lus dans le CSV.
INFO: 122 annonces actives en base pour hyundai i20.
INFO: 1 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_i20_20260325_080338.csv
Brand : hyundai | Modèle : i20
════════════════════════════════════════════════════════════
Annonces dans le CSV : 121
Annonces actives en DB : 122
Absentes du crawl : 1
Marquées indisponibles : 1
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/i20/figures
🔍 Modèle filtré : i20
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 241 annonces chargées (modèle 'i20')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 241
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 3068840554 HYUNDAI i20 1.2 Initia 8990 2020 91000 essence hyundai i20 pro 2025-10-04 11:09:00
1 3150341430 Hyundai i20 1.2 75 Initia 8990 2019 93859 essence hyundai i20 pro 2026-02-24 00:06:00
2 3142118035 Hyundai i20 1.6 CRDI - 16V TURBO 7990 2016 129000 diesel hyundai i20 pro 2026-02-09 11:27:08
3 3144114421 Hyundai I20 1.0 T-GDI 100CH INTUITIVE 8490 2019 138310 essence hyundai i20 pro 2026-02-13 02:48:08
4 3143181277 GARANTIE 12 MOIS / Crit'air 1 / HYUNAI I20 8990 2015 59700 essence hyundai i20 pro 2026-02-11 10:52:53
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2025-04-14 15:12:00
Dernière publication : 2026-03-24 22:01:49
Durée : 344 jours
👤 Répartition par type de vendeur :
private : 137 (56.8%)
pro : 104 (43.2%)
⛽ Répartition par carburant :
essence : 195 (80.9%)
diesel : 45 (18.7%)
autre : 1 (0.4%)
🏭 Top 10 marques :
hyundai : 241 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 0 lignes supprimées
km_aberrants : 0 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 0 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 0
Restantes : 241 / 241
Pourcentage conservé : 100.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 6 outliers (2.5%)
Bornes IQR : [5,250 ; 10,450]
mileage_km : 7 outliers (2.9%)
Bornes IQR : [28,120 ; 216,728]
age_years : 2 outliers (0.8%)
Bornes IQR : [5 ; 13]
📌 Total d'annonces outliers (au moins 1 variable) : 13 (5.4%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 241
Dont outliers identifiés : 13
Annonces non-outliers : 228
Plages de valeurs :
price_eur : [ 3,800 ; 9,000] (moy: 7,772)
mileage_km : [ 95 ; 230,567] (moy: 121,752)
year_model : [ 2,015 ; 2,025] (moy: 2,017)
age_years : [ 1 ; 11] (moy: 9)
km_per_year : [ 12 ; 24,308] (moy: 13,408)
💾 241 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 3 signaux de suspicion détectés
km_trop_bas_diesel: 2
km_trop_bas_essence: 1
💾 3 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 241 7772.008299 7990.000000 1062.448320 3800.000 7200.0 8500.0 9000.000000 1300.0
mileage_km 241 121752.360996 125740.000000 37932.513696 95.000 98848.0 146000.0 230567.000000 47152.0
year_model 241 2016.817427 2017.000000 1.335363 2015.000 2016.0 2018.0 2025.000000 2.0
age_years 241 9.182573 9.000000 1.335363 1.000 8.0 10.0 11.000000 2.0
km_per_year 241 13408.407698 13333.333333 4290.977223 11.875 10505.9 16350.0 24308.166667 5844.1
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 241 7,772 7,990 1,062.45 3,800 7,200 8,500 9,000 1,300
mileage_km 241 121,752 125,740 37,932.51 95 98,848 146,000 230,567 47,152
year_model 241 2,017 2,017 1.34 2,015 2,016 2,018 2,025 2
age_years 241 9.2 9.0 1.34 1.0 8.0 10.0 11.0 2.0
km_per_year 241 13,408.4 13,333.3 4,290.98 11.9 10,505.9 16,350.0 24,308.2 5,844.1
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 14%, σ = 1,062)
→ Étendue : [3,800 ; 9,000] (IQR = 1,300)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 31%, σ = 37,933)
→ Étendue : [95 ; 230,567] (IQR = 47,152)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 1)
→ Étendue : [2,015 ; 2,025] (IQR = 2)
📌 age_years :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 15%, σ = 1)
→ Étendue : [1 ; 11] (IQR = 2)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 32%, σ = 4,291)
→ Étendue : [12 ; 24,308] (IQR = 5,844)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
2026-03-25 08:03:53,442 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:03:53,442 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
---------------------------------------------------------------------------
2015 25 7,574 7,800 N/A
2016 92 7,619 7,900 -0.6%
2017 63 7,663 7,900 -0.6%
2018 39 8,073 8,480 -5.3%
2019 15 8,361 8,490 -3.6%
2020 5 8,584 8,480 -2.7%
📌 Décote annuelle moyenne : -2.6%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 3 7,800 8,900 N/A
20-50k 7 8,167 7,990 +4.7%
50-80k 24 8,539 8,725 +4.6%
80-120k 74 8,160 8,490 -4.4%
120-160k 94 7,772 7,900 -4.8%
160-200k 35 6,530 6,200 -16.0%
200k+ 4 6,148 6,050 -5.9%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
6 5 8,584 N/A
7 15 8,361 -2.6%
8 39 8,073 -3.4%
9 63 7,663 -5.1%
10 92 7,619 -0.6%
11 25 7,574 -0.6%
📌 La décote ralentit significativement à 10 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 45 7,204 7,290
essence 195 7,901 7,990
📌 Carburant avec prix médian le plus élevé : essence (7,990€)
📌 Carburant avec prix médian le plus bas : diesel (7,290€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 137 7,658 7,900
pro 104 7,922 7,990
📌 Test Mann-Whitney (médiane) : p = 0.1093
❌ Différence NON significative (p >= 0.05)
📌 Écart médian Pro - Particulier : +90€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (i20) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/i20/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
20k : décote -1.3% (n= 2)
40k : décote -4.7% (n= 5)
50k : décote -5.6% (n= 2)
60k : décote 4.2% (n= 10)
70k : décote -3.3% (n= 12)
80k : décote 2.9% (n= 7)
90k : décote 0.6% (n= 22)
100k : décote 2.9% (n= 28)
110k : décote 2.1% (n= 17)
120k : décote 3.2% (n= 30)
130k : décote -1.0% (n= 28)
140k : décote -1.1% (n= 23)
150k : décote -1.4% (n= 13)
160k : décote 6.3% (n= 15)
170k : décote 23.8% (n= 13) ⚡
180k : décote -9.3% (n= 6)
200k : décote 2.4% (n= 2)
📌 Seuils où la décote s'accélère (> 8%) :
→ 170k km : 23.8%
✅ Sauvegardé : /home/ubuntu/app/stats/i20/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
7 ans : décote 2.6% (n= 15) 🐢 LENTE
8 ans : décote 3.4% (n= 39)
9 ans : décote 5.1% (n= 63)
10 ans : décote 0.6% (n= 92) 🐢 LENTE
11 ans : décote 0.6% (n= 25) 🐢 LENTE
📌 Décote lente (< 5% par an) :
→ 7 ans : 2.6%
→ 8 ans : 3.4%
→ 10 ans : 0.6%
→ 11 ans : 0.6%
✅ Sauvegardé : /home/ubuntu/app/stats/i20/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -107.87 × âge + -0.0128 × km + 10,323
📌 R² = 0.251
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 15 ( 6.2%)
👍 Bonne affaire : 34 ( 14.1%)
📊 Prix marché : 144 ( 59.8%)
💰 Cher : 44 ( 18.3%)
🔴 Très cher : 4 ( 1.7%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/i20/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3150513139] Hyundai i20 essence
Prix: 3,800€ | Attendu: 7,778€ | Écart: -51.1% | Année: 2015 | Km: 106,000
2. [3160167161] Hyundai i20 2017
Prix: 4,000€ | Attendu: 7,801€ | Écart: -48.7% | Année: 2017 | Km: 121,054
3. [3132112485] Vend ou échange
Prix: 5,500€ | Attendu: 9,133€ | Écart: -39.8% | Année: 2015 | Km: 296
4. [3146778483] HYUNDAI i20 II 5 Portes Phase 2 1.2 i 16V 84 cv
Prix: 4,990€ | Attendu: 7,281€ | Écart: -31.5% | Année: 2018 | Km: 170,000
5. [3139554030] Hyundai i20 coupe 1.2 84 cv intuitive 3 portes
Prix: 4,990€ | Attendu: 7,191€ | Écart: -30.6% | Année: 2018 | Km: 177,000
6. [3144748405] Hyundai i20 1.2 Go Klima RadioCD
Prix: 4,985€ | Attendu: 7,098€ | Écart: -29.8% | Année: 2017 | Km: 175,866
7. [3141044598] Hyundai i20
Prix: 5,600€ | Attendu: 7,942€ | Écart: -29.5% | Année: 2016 | Km: 101,653
8. [3154012812] Hyundai
Prix: 5,100€ | Attendu: 7,065€ | Écart: -27.8% | Année: 2016 | Km: 170,000
9. [3159144757] Hyundai i20 1.2 essence 2016 – CT OK – pneus neufs
Prix: 5,400€ | Attendu: 7,211€ | Écart: -25.1% | Année: 2016 | Km: 158,600
10. [3157664571] Hyundai i20 1.1 CRDI
Prix: 5,300€ | Attendu: 6,886€ | Écart: -23.0% | Année: 2016 | Km: 184,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3105795045] HYUNDAI I20 Coupé 1.0 TGDi 120 CV 03/2016 1 ERE MA
Prix: 8,990€ | Attendu: 7,129€ | Écart: +26.1% | Année: 2016 | Km: 165,000
2. [3164886925] Hyundai i20 Coupé
Prix: 9,000€ | Attendu: 7,365€ | Écart: +22.2% | Année: 2017 | Km: 155,000
3. [3158481657] Hyundai i20
Prix: 8,900€ | Attendu: 7,391€ | Écart: +20.4% | Année: 2016 | Km: 144,600
4. [3109227704] Hyundai i20 crdi 75ch edition navy
Prix: 8,900€ | Attendu: 7,402€ | Écart: +20.2% | Année: 2017 | Km: 152,154
5. [3152500439] Hyundai i20 1.0 T-GDi 100 UEFA EURO 2016
Prix: 8,489€ | Attendu: 7,240€ | Écart: +17.3% | Année: 2016 | Km: 156,400
6. [3151384014] Hyundai i20
Prix: 8,500€ | Attendu: 7,304€ | Écart: +16.4% | Année: 2015 | Km: 143,000
7. [3155001248] Vente voiture hyundai i20
Prix: 8,500€ | Attendu: 7,307€ | Écart: +16.3% | Année: 2018 | Km: 168,000
8. [2972084163] HYUNDAI I20 1.2i - 84 BERLINE Initia
2026-03-25 08:04:02,570 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 08:04:02,578 [INFO] services.llm_service — Batch 0-2: 2 résultats extraits (modèle=gpt-5-nano)
2026-03-25 08:04:02,867 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:04:02,871 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:04:02,936 [INFO] stats.exporters.to_db — referentiel_prix : 29 segments insérés
2026-03-25 08:04:02,956 [INFO] stats.exporters.to_db — ads.deal_columns : 241 annonces mises à jour
Prix: 8,990€ | Attendu: 7,739€ | Écart: +16.2% | Année: 2015 | Km: 109,000
9. [3140396976] HYUNDAI i20 1.1 CRDi 75 Intuitive
Prix: 8,900€ | Attendu: 7,693€ | Écart: +15.7% | Année: 2016 | Km: 121,000
10. [3164815335] Hyundai I20 1.2 84 GO NAVI
Prix: 8,990€ | Attendu: 7,835€ | Écart: +14.7% | Année: 2016 | Km: 109,939
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 2 annonces avec prix suspect
💾 2 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 2
Résultats extraits : 2
Évaluations insérées : 2
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 241 │
│ Prix moyen │ 7,772 € │
│ Prix médian │ 7,990 € │
│ Km moyen │ 121,752 km │
│ Km médian │ 125,740 km │
│ Âge moyen │ 9.2 ans │
│ Âge médian │ 9.0 ans │
│ Km/an moyen │ 13,408 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/i20/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~11 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (160000, 180000]
⛽ Carburant tenant le mieux sa valeur : essence (prix/âge le plus élevé)
👔 Les pros vendent 1.1% plus cher que les particuliers (médiane)
🔄 Km/an médian : 13,333 km → Profil dominant : 10-15k (Normal)
🏭 Top 3 marques = 100% du marché : hyundai (241)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 8,491€
(28 annonces disponibles)
• Prix médian du marché : 7,990€ → cible < 7,191€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 7,990€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 125,740 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (64 annonces) :
Prix : 3,800€ - 7,200€
Âge moyen : 9.5 ans | Km moyen : 145,923
• Milieu de gamme (121 annonces) :
Prix : 7,290€ - 8,500€
Âge moyen : 9.2 ans | Km moyen : 121,453
• Premium (56 annonces) :
Prix : 8,600€ - 9,000€
Âge moyen : 8.7 ans | Km moyen : 94,774
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #151 créé
🔍 Modèle : i20
📎 241 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.251)
✅ Référentiel prix : 29 segments
✅ Classifications deal : 241 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 12.2 secondes
📊 241 annonces analysées (run #151)
🔍 Modèle : i20
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/i20/figures
══════════════════════════════════════════════════════════════════════
Récupération de la page 1/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 2/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 3/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=3
→ 35 annonces récupérées (total en mémoire: 105)
Export de 105 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 4/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=4
→ 35 annonces récupérées (total en mémoire: 140)
Export de 140 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 5/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=5
→ 35 annonces récupérées (total en mémoire: 175)
Export de 175 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 6/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=6
→ 35 annonces récupérées (total en mémoire: 210)
Export de 210 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 7/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=7
→ 35 annonces récupérées (total en mémoire: 245)
Export de 245 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 8/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=8
→ 35 annonces récupérées (total en mémoire: 280)
Export de 280 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 9/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=9
→ 35 annonces récupérées (total en mémoire: 315)
Export de 315 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Récupération de la page 10/10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=10
→ 31 annonces récupérées (total en mémoire: 346)
Export de 346 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv réussi.
Terminé : 346 annonces au total dans /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv
INFO: Model override : berlingo
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_berlingo_20260325_080403.csv
✅ 346 lus, 346 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 346 lus, 346 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6899 annonces en base
════════════════════════════════════════════════════════════
INFO: 345 list_id lus dans le CSV.
INFO: 347 annonces actives en base pour citroen berlingo.
INFO: 2 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_berlingo_20260325_080403.csv
Brand : citroen | Modèle : berlingo
════════════════════════════════════════════════════════════
Annonces dans le CSV : 345
Annonces actives en DB : 347
Absentes du crawl : 2
Marquées indisponibles : 2
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/berlingo/figures
🔍 Modèle filtré : berlingo
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 557 annonces chargées (modèle 'berlingo')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 557
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 3137494988 Citroen berlingo xl 3 places 130 ch eat8 19990 ht 23988 2025 50 diesel citroen berlingo pro 2026-02-01 11:46:21
1 3127792883 CITROEN BERLINGO XL 950kg 1.5 BlueHDi 100ch Control BVM5 S&S 2pl - GARANTIE 6 MOIS MINIMUM 14990 2020 25000 diesel citroen berlingo pro 2026-01-14 15:23:00
2 3140287724 Berlingo XL 2019 12500 2019 70000 diesel citroen berlingo private 2026-02-06 10:22:45
3 3088625727 Citroën Berlingo BHDI 100 CLUB XL BVM 13990 2020 105583 diesel citroen berlingo pro 2025-11-07 09:24:00
4 3136059936 Berlingo xl 17000 2021 65000 diesel citroen berlingo private 2026-01-29 18:26:54
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2025-02-11 15:13:00
Dernière publication : 2026-03-25 07:49:20
Durée : 406 jours
👤 Répartition par type de vendeur :
pro : 452 (81.1%)
private : 105 (18.9%)
⛽ Répartition par carburant :
diesel : 542 (97.3%)
électrique : 10 (1.8%)
essence : 5 (0.9%)
🏭 Top 10 marques :
citroen : 557 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 0 lignes supprimées
km_aberrants : 2 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 15 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 17
Restantes : 540 / 557
Pourcentage conservé : 96.9%
🔍 Détection des outliers (méthode IQR)...
price_eur : 7 outliers (1.3%)
Bornes IQR : [-191 ; 28,899]
mileage_km : 4 outliers (0.7%)
Bornes IQR : [-81,738 ; 241,406]
age_years : 4 outliers (0.7%)
Bornes IQR : [-3 ; 13]
📌 Total d'annonces outliers (au moins 1 variable) : 12 (2.2%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 540
Dont outliers identifiés : 12
Annonces non-outliers : 528
Plages de valeurs :
price_eur : [ 2,800 ; 38,190] (moy: 14,778)
mileage_km : [ 1 ; 309,000] (moy: 84,013)
year_model : [ 2,009 ; 2,025] (moy: 2,021)
age_years : [ 1 ; 17] (moy: 5)
km_per_year : [ 1 ; 56,667] (moy: 14,099)
💾 540 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 5 signaux de suspicion détectés
km_trop_bas_diesel: 5
💾 5 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 540 14778.424074 13695.000000 5796.210353 2800.0 10717.500000 17990.0 38190.000000 7272.500000
mileage_km 540 84013.407407 86394.500000 57297.855677 1.0 39441.000000 120227.0 309000.000000 80786.000000
year_model 540 2020.644444 2020.000000 2.742415 2009.0 2019.000000 2023.0 2025.000000 4.000000
age_years 540 5.355556 6.000000 2.742415 1.0 3.000000 7.0 17.000000 4.000000
km_per_year 540 14098.945945 14412.833333 9125.160382 1.0 8858.424107 19402.5 56666.666667 10544.075893
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 540 14,778 13,695 5,796.21 2,800 10,718 17,990 38,190 7,272
mileage_km 540 84,013 86,394 57,297.86 1 39,441 120,227 309,000 80,786
year_model 540 2,021 2,020 2.74 2,009 2,019 2,023 2,025 4
age_years 540 5.4 6.0 2.74 1.0 3.0 7.0 17.0 4.0
km_per_year 540 14,098.9 14,412.8 9,125.16 1.0 8,858.4 19,402.5 56,666.7 10,544.1
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution asymétrique DROITE (moyenne 14,778 > médiane 13,695)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 39%, σ = 5,796)
→ Étendue : [2,800 ; 38,190] (IQR = 7,272)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ FORTE dispersion (CV = 68%, σ = 57,298)
→ Étendue : [1 ; 309,000] (IQR = 80,786)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 3)
→ Étendue : [2,009 ; 2,025] (IQR = 4)
📌 age_years :
→ Distribution asymétrique GAUCHE (moyenne 5 < médiane 6)
Quelques valeurs basses tirent la moyenne vers le bas.
→ FORTE dispersion (CV = 51%, σ = 3)
→ Étendue : [1 ; 17] (IQR = 4)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ FORTE dispersion (CV = 65%, σ = 9,125)
→ Étendue : [1 ; 56,667] (IQR = 10,544)
2026-03-25 08:04:42,270 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:04:42,270 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
---------------------------------------------------------------------------
2009 2 4,800 4,800 N/A
2013 2 6,850 6,850 -42.7%
2014 2 9,345 9,345 -36.4%
2016 12 8,057 8,200 +13.8%
2017 34 8,821 8,445 -9.5%
2018 67 10,047 9,490 -13.9%
2019 61 12,117 11,990 -20.6%
2020 98 13,115 12,695 -8.2%
2021 71 14,237 13,980 -8.6%
2022 52 14,769 14,645 -3.7%
2023 40 18,150 17,900 -22.9%
2024 21 21,164 20,480 -16.6%
2025 76 24,784 24,480 -17.1%
📌 Décote annuelle moyenne : -15.5%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 100 23,844 23,545 N/A
20-50k 55 17,363 17,760 -27.2%
50-80k 90 15,242 15,540 -12.2%
80-120k 151 12,481 12,500 -18.1%
120-160k 94 10,481 10,395 -16.0%
160-200k 37 8,556 8,500 -18.4%
200k+ 13 6,358 6,000 -25.7%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
1 76 24,784 N/A
2 21 21,164 -14.6%
3 40 18,150 -14.2%
4 52 14,769 -18.6%
5 71 14,237 -3.6%
6 98 13,115 -7.9%
7 61 12,117 -7.6%
8 67 10,047 -17.1%
9 34 8,821 -12.2%
10 12 8,057 -8.7%
12 2 9,345 +16.0%
13 2 6,850 -26.7%
17 2 4,800 -29.9%
📌 La décote ralentit significativement à 5 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 526 14,779 13,695
essence 5 11,744 9,990
électrique 9 16,439 15,990
📌 Carburant avec prix médian le plus élevé : électrique (15,990€)
📌 Carburant avec prix médian le plus bas : essence (9,990€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 104 12,194 11,650
pro 436 15,395 13,990
📌 Test Mann-Whitney (médiane) : p = 0.0000
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +2,340€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (berlingo) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/berlingo/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
10k : décote 20.7% (n= 10) ⚡
20k : décote 8.7% (n= 14)
30k : décote 0.3% (n= 23)
40k : décote 3.8% (n= 18)
50k : décote 7.9% (n= 30)
60k : décote 0.6% (n= 31)
70k : décote 5.1% (n= 29)
80k : décote 5.0% (n= 37)
90k : décote 6.9% (n= 41)
100k : décote 8.0% (n= 38)
110k : décote 8.5% (n= 35)
120k : décote 1.2% (n= 31)
130k : décote 2.6% (n= 26)
140k : décote 1.5% (n= 14)
150k : décote 2.9% (n= 23)
160k : décote 12.9% (n= 19) ⚡
170k : décote -1.7% (n= 11)
180k : décote 16.9% (n= 7) ⚡
200k : décote 7.5% (n= 5)
210k : décote -4.0% (n= 3)
300k+ : décote 32.7% (n= 2) ⚡
📌 Seuils où la décote s'accélère (> 8%) :
→ 10k km : 20.7%
→ 20k km : 8.7%
→ 100k km : 8.0%
→ 110k km : 8.5%
→ 160k km : 12.9%
→ 180k km : 16.9%
→ 300k+ km : 32.7%
✅ Sauvegardé : /home/ubuntu/app/stats/berlingo/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
2 ans : décote 14.6% (n= 21)
3 ans : décote 14.2% (n= 40)
4 ans : décote 18.6% (n= 52) ⚡ FORTE
5 ans : décote 3.6% (n= 71)
6 ans : décote 7.9% (n= 98)
7 ans : décote 7.6% (n= 61)
8 ans : décote 17.1% (n= 67) ⚡ FORTE
9 ans : décote 12.2% (n= 34)
10 ans : décote 8.7% (n= 12)
12 ans : décote -16.0% (n= 2) 🐢 LENTE
13 ans : décote 26.7% (n= 2) ⚡ FORTE
17 ans : décote 29.9% (n= 2) ⚡ FORTE
📌 Décote rapide (> 10% par an) :
→ 2 ans : 14.6%
→ 3 ans : 14.2%
→ 4 ans : 18.6%
→ 8 ans : 17.1%
→ 9 ans : 12.2%
→ 13 ans : 26.7%
→ 17 ans : 29.9%
📌 Décote lente (< 5% par an) :
→ 5 ans : 3.6%
→ 12 ans : -16.0%
✅ Sauvegardé : /home/ubuntu/app/stats/berlingo/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -912.61 × âge + -0.0511 × km + 23,957
📌 R² = 0.773
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 50 ( 9.3%)
👍 Bonne affaire : 96 ( 17.9%)
📊 Prix marché : 277 ( 51.7%)
💰 Cher : 54 ( 10.1%)
🔴 Très cher : 59 ( 11.0%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/berlingo/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3156231773] Citroën Berlingo XL BLUEHDI 100 S&S ETG6 CLUB
Prix: 3,000€ | Attendu: 9,942€ | Écart: -69.8% | Année: 2018 | Km: 131,461
2. [3166746198] Citroën Berlingo FOURGON XL BLUEHDI 100 S&S ETG6 C
Prix: 3,000€ | Attendu: 8,133€ | Écart: -63.1% | Année: 2018 | Km: 166,868
3. [3156023107] Citroën Berlingo 1.5 BLUEHDI 100 STE XL DRIVER
Prix: 8,000€ | Attendu: 16,399€ | Écart: -51.2% | Année: 2021 | Km: 58,647
4. [3144063650] Citroën Berlingo 1.5 BLUEDHI 100 STE XL DRIVER
Prix: 8,000€ | Attendu: 15,856€ | Écart: -49.5% | Année: 2022 | Km: 87,146
5. [3156192309] Citroën Berlingo FOURGON XL BLUEHDI 100 S&S ETG6 C
Prix: 2,800€ | Attendu: 5,324€ | Écart: -47.4% | Année: 2017 | Km: 203,997
6. [3156023444] Citroën Berlingo 1.5 BLUEHDI 100 STE XL DRIVER
2026-03-25 08:05:10,006 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 08:05:10,013 [INFO] services.llm_service — Batch 0-4: 4 résultats extraits (modèle=gpt-5-nano)
2026-03-25 08:05:10,307 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:05:10,311 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:05:10,427 [INFO] stats.exporters.to_db — referentiel_prix : 57 segments insérés
2026-03-25 08:05:10,467 [INFO] stats.exporters.to_db — ads.deal_columns : 540 annonces mises à jour
Prix: 8,000€ | Attendu: 15,140€ | Écart: -47.2% | Année: 2021 | Km: 83,293
7. [3157282073] Citroen berlingo xl 1.6 bluehdi 100 cv club
Prix: 5,980€ | Attendu: 11,120€ | Écart: -46.2% | Année: 2018 | Km: 108,380
8. [3163320492] Citroën Berlingo VAN XL 950 PURETECH 130 S&S EAT8
Prix: 8,250€ | Attendu: 14,978€ | Écart: -44.9% | Année: 2020 | Km: 68,597
9. [2984931973] Citroën Berlingo Electrique Taille XL Club
Prix: 8,590€ | Attendu: 15,346€ | Écart: -44.0% | Année: 2018 | Km: 25,657
10. [3156133024] Citroën berlingo xl électrique confort isotherme T
Prix: 7,990€ | Attendu: 13,745€ | Écart: -41.9% | Année: 2018 | Km: 57,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3153561957] Citroën Berlingo XL 1.6 BlueHDI 100 Cabine Approfo
Prix: 6,000€ | Attendu: 1,340€ | Écart: +347.9% | Année: 2017 | Km: 282,000
2. [3155307735] Citroën berlingo
Prix: 7,000€ | Attendu: 1,852€ | Écart: +278.0% | Année: 2013 | Km: 200,500
3. [3115315205] Citroën Jumpy CAB APPROFONDIE XL BLUEHDI 180 S&S E
Prix: 38,190€ | Attendu: 23,043€ | Écart: +65.7% | Année: 2025 | Km: 40
4. [3140204221] Citroen Berlingo Van XL BlueHDi 100 S&S Cabine App
Prix: 9,490€ | Attendu: 5,781€ | Écart: +64.2% | Année: 2018 | Km: 212,912
5. [3130621009] Citroen BERLINGO XL 1.6 HDI 90 ch CABINE APPROFOND
Prix: 11,490€ | Attendu: 7,081€ | Écart: +62.3% | Année: 2014 | Km: 116,000
6. [3148392923] CITROEN BERLINGO 1.5 BlueHDi S&S - 130 XL Feel 7 P
Prix: 19,990€ | Attendu: 12,366€ | Écart: +61.7% | Année: 2018 | Km: 84,000
7. [3097892706] Citroën Berlingo CABINE APPROFONDIE CA TAILLE XL B
Prix: 37,140€ | Attendu: 23,045€ | Écart: +61.2% | Année: 2025 | Km: 1
8. [3158708742] Berlingo XL 1.6L bluehdi aménagé
Prix: 15,000€ | Attendu: 10,016€ | Écart: +49.8% | Année: 2018 | Km: 130,000
9. [3156325212] À vendre - Citroën Berlingo rallongée - Boîte auto
Prix: 9,500€ | Attendu: 6,352€ | Écart: +49.6% | Année: 2016 | Km: 166,000
10. [3109384717] Citroen Berlingo Van XL BlueHDi 100ch S&S Cabine A
Prix: 34,212€ | Attendu: 23,044€ | Écart: +48.5% | Année: 2025 | Km: 10
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 12 annonces avec prix suspect
💾 12 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 4
Résultats extraits : 4
Évaluations insérées : 4
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 540 │
│ Prix moyen │ 14,778 € │
│ Prix médian │ 13,695 € │
│ Km moyen │ 84,013 km │
│ Km médian │ 86,394 km │
│ Âge moyen │ 5.4 ans │
│ Âge médian │ 6.0 ans │
│ Km/an moyen │ 14,099 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/berlingo/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~10 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (20000, 40000]
⛽ Carburant tenant le mieux sa valeur : électrique (prix/âge le plus élevé)
👔 Les pros vendent 20.1% plus cher que les particuliers (médiane)
🔄 Km/an médian : 14,413 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : citroen (540)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 12,948€
(165 annonces disponibles)
• Prix médian du marché : 13,695€ → cible < 12,326€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 13,695€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 86,394 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (135 annonces) :
Prix : 2,800€ - 10,500€
Âge moyen : 8.0 ans | Km moyen : 141,424
• Milieu de gamme (272 annonces) :
Prix : 10,790€ - 17,990€
Âge moyen : 5.7 ans | Km moyen : 89,276
• Premium (133 annonces) :
Prix : 18,000€ - 38,190€
Âge moyen : 2.0 ans | Km moyen : 14,976
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #152 créé
🔍 Modèle : berlingo
📎 540 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.773)
✅ Référentiel prix : 57 segments
✅ Classifications deal : 540 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 31.0 secondes
📊 540 annonces analysées (run #152)
🔍 Modèle : berlingo
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/berlingo/figures
══════════════════════════════════════════════════════════════════════
Récupération de la page 1/5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000®date=2015-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv réussi.
Récupération de la page 2/5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000®date=2015-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv réussi.
Récupération de la page 3/5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000®date=2015-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=3
→ 35 annonces récupérées (total en mémoire: 105)
Export de 105 annonces vers /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv réussi.
Récupération de la page 4/5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000®date=2015-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=4
→ 35 annonces récupérées (total en mémoire: 140)
Export de 140 annonces vers /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv réussi.
Récupération de la page 5/5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000®date=2015-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=5
→ 34 annonces récupérées (total en mémoire: 174)
Export de 174 annonces vers /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv réussi.
Terminé : 174 annonces au total dans /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv
INFO: Model override : c4
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_c4_20260325_080511.csv
✅ 174 lus, 174 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 174 lus, 174 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6900 annonces en base
════════════════════════════════════════════════════════════
INFO: 174 list_id lus dans le CSV.
INFO: 175 annonces actives en base pour citroen c4.
INFO: 1 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_c4_20260325_080511.csv
Brand : citroen | Modèle : c4
════════════════════════════════════════════════════════════
Annonces dans le CSV : 174
Annonces actives en DB : 175
Absentes du crawl : 1
Marquées indisponibles : 1
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/c4/figures
🔍 Modèle filtré : c4
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 289 annonces chargées (modèle 'c4')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 289
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 3114906971 Citroen c4 spacetourer 1.2 130cv business 9500 2019 114200 essence citroen c4 pro 2026-02-17 16:35:09
1 3120070348 Citroen GRAND C4 PICASSO BLUEHDI 120CH BUSINESS + S&S 98G 9990 2015 149515 diesel citroen c4 pro 2025-12-30 11:37:00
2 3150919595 Citroen GRAND C4 SPACETOURER PURETECH 130CH S&S BUSINESS + E6.D 10990 2019 109477 essence citroen c4 pro 2026-02-25 04:59:50
3 3067498742 CITROEN C4 SPACETOURER 1.2 130 Business EAT8 7 Places / DISTRIBUTION NEUVE 10990 2019 68000 essence citroen c4 pro 2025-10-01 09:38:00
4 3034772801 Citroen C4 Grand Picasso 1.6 BLUEHDI 120 FEEL EAT BVA START-STOP 10490 2017 143000 diesel citroen c4 pro 2025-08-04 09:52:00
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2023-11-09 04:54:09
Dernière publication : 2026-03-25 07:52:51
Durée : 867 jours
👤 Répartition par type de vendeur :
pro : 152 (52.6%)
private : 137 (47.4%)
⛽ Répartition par carburant :
diesel : 160 (55.4%)
essence : 128 (44.3%)
autre : 1 (0.3%)
🏭 Top 10 marques :
citroen : 289 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 1 lignes supprimées
km_aberrants : 0 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 0 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 1
Restantes : 288 / 289
Pourcentage conservé : 99.7%
🔍 Détection des outliers (méthode IQR)...
price_eur : 12 outliers (4.2%)
Bornes IQR : [6,138 ; 13,438]
mileage_km : 12 outliers (4.2%)
Bornes IQR : [63,500 ; 187,500]
age_years : 0 outliers (0.0%)
Bornes IQR : [2 ; 14]
📌 Total d'annonces outliers (au moins 1 variable) : 24 (8.3%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 288
Dont outliers identifiés : 24
Annonces non-outliers : 264
Plages de valeurs :
price_eur : [ 3,990 ; 11,000] (moy: 9,533)
mileage_km : [ 186 ; 150,000] (moy: 120,663)
year_model : [ 2,015 ; 2,022] (moy: 2,017)
age_years : [ 4 ; 11] (moy: 9)
km_per_year : [ 17 ; 37,387] (moy: 14,657)
💾 288 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 8 signaux de suspicion détectés
km_trop_bas_diesel: 7
km_trop_bas_essence: 1
💾 8 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 288 9533.128472 9990.00 1473.335915 3990.000000 8875.0 10700.000000 11000.00 1825.000000
mileage_km 288 120663.319444 129026.50 29462.231580 186.000000 110000.0 141000.000000 150000.00 31000.000000
year_model 288 2017.329861 2017.00 1.780325 2015.000000 2016.0 2019.000000 2022.00 3.000000
age_years 288 8.670139 9.00 1.780325 4.000000 7.0 10.000000 11.00 3.000000
km_per_year 288 14656.840847 14098.75 5088.347579 16.909091 11987.5 16666.666667 37386.75 4679.166667
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 288 9,533 9,990 1,473.34 3,990 8,875 10,700 11,000 1,825
mileage_km 288 120,663 129,026 29,462.23 186 110,000 141,000 150,000 31,000
year_model 288 2,017 2,017 1.78 2,015 2,016 2,019 2,022 3
age_years 288 8.7 9.0 1.78 4.0 7.0 10.0 11.0 3.0
km_per_year 288 14,656.8 14,098.8 5,088.35 16.9 11,987.5 16,666.7 37,386.8 4,679.2
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 15%, σ = 1,473)
→ Étendue : [3,990 ; 11,000] (IQR = 1,825)
📌 mileage_km :
→ Distribution asymétrique GAUCHE (moyenne 120,663 < médiane 129,026)
Quelques valeurs basses tirent la moyenne vers le bas.
→ Faible dispersion (CV = 24%, σ = 29,462)
→ Étendue : [186 ; 150,000] (IQR = 31,000)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 2)
→ Étendue : [2,015 ; 2,022] (IQR = 3)
📌 age_years :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 21%, σ = 2)
→ Étendue : [4 ; 11] (IQR = 3)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 35%, σ = 5,088)
→ Étendue : [17 ; 37,387] (IQR = 4,679)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
2026-03-25 08:05:30,738 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:05:30,739 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
---------------------------------------------------------------------------
2015 52 8,889 9,000 N/A
2016 58 9,027 9,495 -1.5%
2017 55 9,717 10,000 -7.6%
2018 44 9,727 9,994 -0.1%
2019 42 10,028 10,000 -3.1%
2020 21 9,876 10,490 +1.5%
2021 14 10,554 10,745 -6.9%
2022 2 10,495 10,495 +0.6%
📌 Décote annuelle moyenne : -2.5%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 7 8,527 8,500 N/A
20-50k 1 10,980 10,980 +28.8%
50-80k 16 10,216 10,474 -7.0%
80-120k 79 9,542 9,990 -6.6%
120-160k 185 9,501 9,990 -0.4%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
4 2 10,495 N/A
5 14 10,554 +0.6%
6 21 9,876 -6.4%
7 42 10,028 +1.5%
8 44 9,727 -3.0%
9 55 9,717 -0.1%
10 58 9,027 -7.1%
11 52 8,889 -1.5%
📌 La décote ralentit significativement à 7 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 159 9,942 10,000
essence 128 9,021 9,495
📌 Carburant avec prix médian le plus élevé : diesel (10,000€)
📌 Carburant avec prix médian le plus bas : essence (9,495€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 136 9,183 9,500
pro 152 9,846 9,990
📌 Test Mann-Whitney (médiane) : p = 0.0026
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +490€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (c4) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/c4/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
60k : décote -24.6% (n= 7)
70k : décote 6.6% (n= 8)
80k : décote -1.7% (n= 11)
90k : décote 8.3% (n= 20)
100k : décote -8.6% (n= 15)
110k : décote 7.2% (n= 33)
120k : décote -4.1% (n= 43)
130k : décote 0.9% (n= 61)
140k : décote 3.2% (n= 73)
150k : décote -1.5% (n= 8)
📌 Seuils où la décote s'accélère (> 8%) :
→ 90k km : 8.3%
✅ Sauvegardé : /home/ubuntu/app/stats/c4/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
5 ans : décote -0.6% (n= 14) 🐢 LENTE
6 ans : décote 6.4% (n= 21)
7 ans : décote -1.5% (n= 42) 🐢 LENTE
8 ans : décote 3.0% (n= 44)
9 ans : décote 0.1% (n= 55) 🐢 LENTE
10 ans : décote 7.1% (n= 58)
11 ans : décote 1.5% (n= 52) 🐢 LENTE
📌 Décote lente (< 5% par an) :
→ 5 ans : -0.6%
→ 7 ans : -1.5%
→ 8 ans : 3.0%
→ 9 ans : 0.1%
→ 11 ans : 1.5%
✅ Sauvegardé : /home/ubuntu/app/stats/c4/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -258.50 × âge + -0.0012 × km + 11,916
📌 R² = 0.098
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 34 ( 11.8%)
👍 Bonne affaire : 28 ( 9.7%)
📊 Prix marché : 150 ( 52.1%)
💰 Cher : 66 ( 22.9%)
🔴 Très cher : 10 ( 3.5%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/c4/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3159491862] CITROEN GRANDE C4 PICASSO 1.2 130Ch Exclusive
Prix: 3,990€ | Attendu: 9,202€ | Écart: -56.6% | Année: 2016 | Km: 110,000
2. [3144627553] Grand C4 Picasso
Prix: 4,500€ | Attendu: 8,908€ | Écart: -49.5% | Année: 2015 | Km: 140,000
3. [3148620999] C4 Picasso
Prix: 4,600€ | Attendu: 8,906€ | Écart: -48.3% | Année: 2015 | Km: 142,000
4. [3155010351] C4 Picasso
Prix: 4,600€ | Attendu: 8,906€ | Écart: -48.3% | Année: 2015 | Km: 142,000
5. [3159599228] Vends C4 Grand Picasso II 7 places
Prix: 6,000€ | Attendu: 9,690€ | Écart: -38.1% | Année: 2018 | Km: 135,000
6. [3148926526] C4 grand Picasso 2l hdi 150cv exclusive
Prix: 5,800€ | Attendu: 9,184€ | Écart: -36.8% | Année: 2016 | Km: 125,000
7. [3158296763] C4 grand Picasso 2l hdi 150 cv pack exclusive
Prix: 5,800€ | Attendu: 9,184€ | Écart: -36.8% | Année: 2016 | Km: 125,000
8. [3167394375] Citroën C4 Picasso 1.2 130
Prix: 5,900€ | Attendu: 9,222€ | Écart: -36.0% | Année: 2016 | Km: 93,250
9. [3159003549] Vends CITROEN GRAND C4 PICASSO Intensive
Prix: 5,900€ | Attendu: 9,169€ | Écart: -35.7% | Année: 2016 | Km: 138,000
10. [3162574098] Citroën c4 Picasso 7 places
Prix: 6,000€ | Attendu: 9,192€ | Écart: -34.7% | Année: 2016 | Km: 118,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3017985052] CITROEN C4 PICASSO Grand 1.6 HDi - 120 Intensive 7
Prix: 10,990€ | Attendu: 8,897€ | Écart: +23.5% | Année: 2015 | Km: 149,900
2. [3146221969] Citroen C4 Grand Picasso 7 Places - 2.0 BlueHDi 15
Prix: 10,990€ | Attendu: 8,906€ | Écart: +23.4% | Année: 2015 | Km: 142,000
3. [2934302132] Citroen Grand C4 Picasso PureTech 130ch Confort S&
Prix: 10,990€ | Attendu: 8,927€ | Écart: +23.1% | Année: 2015 | Km: 123,901
4. [3136798926] Grand C4 Picasso 120 HDI
Prix: 11,000€ | Attendu: 8,936€ | Écart: +23.1% | Année: 2015 | Km: 116,000
5. [3155706473] Citroën Grand C4 Picasso 1.6 BlueHdi 115 Intensive
Prix: 10,995€ | Attendu: 8,939€ | Écart: +23.0% | Année: 2015 | Km: 113,981
6. [3138161286] Citroën C4 PICASSO II Exclusive 2.0 BLUEHDI 150CV
2026-03-25 08:05:41,666 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 08:05:41,673 [INFO] services.llm_service — Batch 0-1: 1 résultats extraits (modèle=gpt-5-nano)
2026-03-25 08:05:41,963 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:05:41,967 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:05:42,024 [INFO] stats.exporters.to_db — referentiel_prix : 25 segments insérés
2026-03-25 08:05:42,047 [INFO] stats.exporters.to_db — ads.deal_columns : 288 annonces mises à jour
Prix: 10,990€ | Attendu: 8,947€ | Écart: +22.8% | Année: 2015 | Km: 107,256
7. [3161244489] Citroën Grand C4 Picasso e-HDi 115 Exclusive ETG6
Prix: 10,980€ | Attendu: 9,016€ | Écart: +21.8% | Année: 2015 | Km: 47,966
8. [3160469081] Grand C4 Picasso 7 places
Prix: 10,800€ | Attendu: 8,981€ | Écart: +20.3% | Année: 2015 | Km: 78,300
9. [3149154360] Grand c4
Prix: 11,000€ | Attendu: 9,159€ | Écart: +20.1% | Année: 2016 | Km: 146,230
10. [3071933719] Citroën C4 grand Picasso
Prix: 11,000€ | Attendu: 9,161€ | Écart: +20.1% | Année: 2016 | Km: 145,000
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 4 annonces avec prix suspect
💾 4 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 1
Résultats extraits : 1
Évaluations insérées : 1
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 288 │
│ Prix moyen │ 9,533 € │
│ Prix médian │ 9,990 € │
│ Km moyen │ 120,663 km │
│ Km médian │ 129,026 km │
│ Âge moyen │ 8.7 ans │
│ Âge médian │ 9.0 ans │
│ Km/an moyen │ 14,657 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/c4/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~11 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (40000, 60000]
⛽ Carburant tenant le mieux sa valeur : diesel (prix/âge le plus élevé)
👔 Les pros vendent 5.2% plus cher que les particuliers (médiane)
🔄 Km/an médian : 14,099 km → Profil dominant : 10-15k (Normal)
🏭 Top 3 marques = 100% du marché : citroen (288)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 9,948€
(48 annonces disponibles)
• Prix médian du marché : 9,990€ → cible < 8,991€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 9,990€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 129,026 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (72 annonces) :
Prix : 3,990€ - 8,800€
Âge moyen : 9.5 ans | Km moyen : 118,996
• Milieu de gamme (147 annonces) :
Prix : 8,900€ - 10,700€
Âge moyen : 8.5 ans | Km moyen : 122,973
• Premium (69 annonces) :
Prix : 10,790€ - 11,000€
Âge moyen : 8.2 ans | Km moyen : 117,482
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #153 créé
🔍 Modèle : c4
📎 288 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.098)
✅ Référentiel prix : 25 segments
✅ Classifications deal : 288 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 14.0 secondes
📊 288 annonces analysées (run #153)
🔍 Modèle : c4
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/c4/figures
══════════════════════════════════════════════════════════════════════
Récupération de la page 1/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000®date=2015-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_scenic_20260325_080542.csv réussi.
Récupération de la page 2/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000®date=2015-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_scenic_20260325_080542.csv réussi.
Récupération de la page 3/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000®date=2015-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=3
→ 31 annonces récupérées (total en mémoire: 101)
Export de 101 annonces vers /home/ubuntu/app/leboncoin_ads_scenic_20260325_080542.csv réussi.
Récupération de la page 4/4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000®date=2015-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=4
Erreur lors de l'appel à l'API: 404 Client Error: Not Found for url: https://piloterr.com/api/v2/leboncoin/search?query=https%3A%2F%2Fwww.leboncoin.fr%2Frecherche%3Fcategory%3D2%26text%3Dscenic%26price%3Dmin-11000%26regdate%3D2015-max%26mileage%3Dmin-150000%26seats%3D999999%26u_car_brand%3DRENAULT%26page%3D4
Récupération de la page 1/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 2/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 3/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=3
→ 35 annonces récupérées (total en mémoire: 105)
Export de 105 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 4/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=4
→ 35 annonces récupérées (total en mémoire: 140)
Export de 140 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 5/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=5
→ 35 annonces récupérées (total en mémoire: 175)
Export de 175 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 6/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=6
→ 35 annonces récupérées (total en mémoire: 210)
Export de 210 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 7/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=7
→ 35 annonces récupérées (total en mémoire: 245)
Export de 245 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 8/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=8
→ 35 annonces récupérées (total en mémoire: 280)
Export de 280 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 9/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=9
→ 35 annonces récupérées (total en mémoire: 315)
Export de 315 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 10/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=10
→ 35 annonces récupérées (total en mémoire: 350)
Export de 350 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 11/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=11
→ 35 annonces récupérées (total en mémoire: 385)
Export de 385 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 12/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=12
→ 35 annonces récupérées (total en mémoire: 420)
Export de 420 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 13/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=13
→ 35 annonces récupérées (total en mémoire: 455)
Export de 455 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 14/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=14
→ 35 annonces récupérées (total en mémoire: 490)
Export de 490 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 15/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=15
→ 35 annonces récupérées (total en mémoire: 525)
Export de 525 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 16/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=16
→ 35 annonces récupérées (total en mémoire: 560)
Export de 560 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 17/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=17
→ 35 annonces récupérées (total en mémoire: 595)
Export de 595 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 18/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=18
→ 35 annonces récupérées (total en mémoire: 630)
Export de 630 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 19/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=19
→ 35 annonces récupérées (total en mémoire: 665)
Export de 665 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 20/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=20
→ 35 annonces récupérées (total en mémoire: 700)
Export de 700 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 21/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=21
→ 35 annonces récupérées (total en mémoire: 735)
Export de 735 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 22/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=22
→ 35 annonces récupérées (total en mémoire: 770)
Export de 770 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 23/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=23
→ 35 annonces récupérées (total en mémoire: 805)
Export de 805 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 24/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=24
→ 35 annonces récupérées (total en mémoire: 840)
Export de 840 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 25/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=25
→ 35 annonces récupérées (total en mémoire: 875)
Export de 875 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 26/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=26
→ 35 annonces récupérées (total en mémoire: 910)
Export de 910 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 27/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=27
→ 35 annonces récupérées (total en mémoire: 945)
Export de 945 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 28/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=28
→ 35 annonces récupérées (total en mémoire: 980)
Export de 980 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 29/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=29
→ 35 annonces récupérées (total en mémoire: 1015)
Export de 1015 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 30/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=30
→ 35 annonces récupérées (total en mémoire: 1050)
Export de 1050 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Récupération de la page 31/31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=31
→ 13 annonces récupérées (total en mémoire: 1063)
Export de 1063 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv réussi.
Terminé : 1063 annonces au total dans /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv
INFO: Model override : 5008
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_5008_20260325_080554.csv
✅ 1063 lus, 1063 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 1063 lus, 1063 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6908 annonces en base
════════════════════════════════════════════════════════════
INFO: 1049 list_id lus dans le CSV.
INFO: 1072 annonces actives en base pour peugeot 5008.
INFO: 23 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_5008_20260325_080554.csv
Brand : peugeot | Modèle : 5008
════════════════════════════════════════════════════════════
Annonces dans le CSV : 1049
Annonces actives en DB : 1072
Absentes du crawl : 23
Marquées indisponibles : 23
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/5008/figures
🔍 Modèle filtré : 5008
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 1728 annonces chargées (modèle '5008')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 1728
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 3105496930 Peugeot 5008 1.6 HDI 115 ALLURE 7PL 9990 2016 145460 diesel peugeot 5008 pro 2025-12-03 14:49:00
1 3150966962 PEUGEOT 5008 1.6 BlueHDi 120ch SS BVM6 Allure 10990 2015 131475 diesel peugeot 5008 pro 2026-02-25 09:13:36
2 3076705800 PEUGEOT 5008 1.6 HDi 120ch BVM6 Style - SUIVI COMPLET 8990 2015 142500 diesel peugeot 5008 pro 2025-10-18 09:09:00
3 3035013147 Peugeot 5008 1.6 HDI 115CH FAP ALLURE 7 PLACES 8990 2015 144500 diesel peugeot 5008 pro 2025-08-04 18:43:00
4 3138259074 Peugeot 5008 GENERATION-II 1.2 PURETECH 130 ALLURE START-STOP 5990 2016 105000 essence peugeot 5008 pro 2026-02-02 14:34:28
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2024-06-06 10:10:00
Dernière publication : 2026-03-25 08:00:51
Durée : 656 jours
👤 Répartition par type de vendeur :
private : 1125 (65.1%)
pro : 603 (34.9%)
⛽ Répartition par carburant :
diesel : 1587 (91.8%)
essence : 140 (8.1%)
hybride : 1 (0.1%)
🏭 Top 10 marques :
peugeot : 1728 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 2 lignes supprimées
km_aberrants : 0 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 0 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 2
Restantes : 1726 / 1728
Pourcentage conservé : 99.9%
🔍 Détection des outliers (méthode IQR)...
price_eur : 0 outliers (0.0%)
Bornes IQR : [-506 ; 12,844]
mileage_km : 35 outliers (2.0%)
Bornes IQR : [60,446 ; 350,256]
age_years : 1 outliers (0.1%)
Bornes IQR : [5 ; 21]
📌 Total d'annonces outliers (au moins 1 variable) : 36 (2.1%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 1726
Dont outliers identifiés : 36
Annonces non-outliers : 1690
Plages de valeurs :
price_eur : [ 700 ; 11,000] (moy: 6,261)
mileage_km : [ 1 ; 410,000] (moy: 206,559)
year_model : [ 2,009 ; 2,022] (moy: 2,013)
age_years : [ 4 ; 17] (moy: 13)
km_per_year : [ 0 ; 53,776] (moy: 16,261)
💾 1726 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 19 signaux de suspicion détectés
km_trop_bas_essence: 1
km_trop_bas_diesel: 18
💾 19 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 1726 6260.955968 5990.000000 2322.587208 700.000000 4500.000000 7837.500000 11000.000000 3337.50000
mileage_km 1726 206559.294322 207500.000000 56868.245623 1.000000 169125.000000 241577.500000 410000.000000 72452.50000
year_model 1726 2012.971611 2012.000000 2.486789 2009.000000 2011.000000 2015.000000 2022.000000 4.00000
age_years 1726 13.028389 14.000000 2.486789 4.000000 11.000000 15.000000 17.000000 4.00000
km_per_year 1726 16260.907406 15777.472527 5007.331916 0.111111 13333.333333 18522.058824 53776.166667 5188.72549
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 1,726 6,261 5,990 2,322.59 700 4,500 7,838 11,000 3,338
mileage_km 1,726 206,559 207,500 56,868.25 1 169,125 241,578 410,000 72,452
year_model 1,726 2,013 2,012 2.49 2,009 2,011 2,015 2,022 4
age_years 1,726 13.0 14.0 2.49 4.0 11.0 15.0 17.0 4.0
km_per_year 1,726 16,260.9 15,777.5 5,007.33 0.1 13,333.3 18,522.1 53,776.2 5,188.7
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 37%, σ = 2,323)
→ Étendue : [700 ; 11,000] (IQR = 3,338)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 28%, σ = 56,868)
→ Étendue : [1 ; 410,000] (IQR = 72,452)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 2)
→ Étendue : [2,009 ; 2,022] (IQR = 4)
📌 age_years :
→ Distribution asymétrique GAUCHE (moyenne 13 < médiane 14)
Quelques valeurs basses tirent la moyenne vers le bas.
→ Faible dispersion (CV = 19%, σ = 2)
→ Étendue : [4 ; 17] (IQR = 4)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 31%, σ = 5,007)
→ Étendue : [0 ; 53,776] (IQR = 5,189)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
2026-03-25 08:07:45,023 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:07:45,024 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
---------------------------------------------------------------------------
2009 31 4,509 4,300 N/A
2010 263 4,502 4,490 +0.2%
2011 299 4,882 4,990 -8.4%
2012 284 5,468 5,494 -12.0%
2013 212 5,882 5,500 -7.6%
2014 165 6,986 6,990 -18.8%
2015 144 7,922 7,990 -13.4%
2016 171 8,057 7,990 -1.7%
2017 66 9,674 10,000 -20.1%
2018 48 9,903 10,490 -2.4%
2019 28 10,465 10,495 -5.7%
2020 13 9,558 9,990 +8.7%
📌 Décote annuelle moyenne : -7.4%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 12 5,712 4,775 N/A
20-50k 7 6,867 5,800 +20.2%
50-80k 7 9,153 9,450 +33.3%
80-120k 53 8,663 9,400 -5.4%
120-160k 253 8,537 8,990 -1.5%
160-200k 431 7,088 6,990 -17.0%
200k+ 963 5,142 4,990 -27.5%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
6 13 9,558 N/A
7 28 10,465 +9.5%
8 48 9,903 -5.4%
9 66 9,674 -2.3%
10 171 8,057 -16.7%
11 144 7,922 -1.7%
12 165 6,986 -11.8%
13 212 5,882 -15.8%
14 284 5,468 -7.0%
15 299 4,882 -10.7%
16 263 4,502 -7.8%
17 31 4,509 +0.2%
📌 La décote ralentit significativement à 9 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 1586 6,121 5,900
essence 139 7,831 8,800
📌 Carburant avec prix médian le plus élevé : essence (8,800€)
📌 Carburant avec prix médian le plus bas : diesel (5,900€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 1124 5,838 5,500
pro 602 7,050 6,490
📌 Test Mann-Whitney (médiane) : p = 0.0000
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +990€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (5008) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/5008/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
20k : décote -18.4% (n= 3)
30k : décote 15.1% (n= 3) ⚡
50k : décote -62.9% (n= 2)
60k : décote -13.1% (n= 2)
70k : décote 26.8% (n= 3) ⚡
80k : décote -12.1% (n= 4)
90k : décote -0.7% (n= 11)
100k : décote 0.5% (n= 15)
110k : décote 4.7% (n= 23)
120k : décote -10.9% (n= 41)
130k : décote -0.7% (n= 52)
140k : décote 12.6% (n= 75) ⚡
150k : décote 3.8% (n= 85)
160k : décote 0.9% (n=104)
170k : décote 5.2% (n=113)
180k : décote 10.6% (n=108) ⚡
190k : décote 2.5% (n=106)
200k : décote 4.1% (n=123)
210k : décote 2.7% (n=127)
220k : décote 6.1% (n=133)
230k : décote 6.4% (n=113)
240k : décote -1.3% (n=119)
250k : décote 8.2% (n= 70)
260k : décote 10.0% (n= 69) ⚡
270k : décote 9.0% (n= 52)
280k : décote -18.4% (n= 34)
290k : décote 27.2% (n= 30) ⚡
300k+ : décote 6.6% (n= 93)
📌 Seuils où la décote s'accélère (> 8%) :
→ 30k km : 15.1%
→ 70k km : 26.8%
→ 140k km : 12.6%
→ 180k km : 10.6%
→ 250k km : 8.2%
→ 260k km : 10.0%
→ 270k km : 9.0%
→ 290k km : 27.2%
✅ Sauvegardé : /home/ubuntu/app/stats/5008/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
7 ans : décote -9.5% (n= 28) 🐢 LENTE
8 ans : décote 5.4% (n= 48)
9 ans : décote 2.3% (n= 66) 🐢 LENTE
10 ans : décote 16.7% (n=171) ⚡ FORTE
11 ans : décote 1.7% (n=144) 🐢 LENTE
12 ans : décote 11.8% (n=165)
13 ans : décote 15.8% (n=212) ⚡ FORTE
14 ans : décote 7.0% (n=284)
15 ans : décote 10.7% (n=299)
16 ans : décote 7.8% (n=263)
17 ans : décote -0.2% (n= 31) 🐢 LENTE
📌 Décote rapide (> 10% par an) :
→ 10 ans : 16.7%
→ 12 ans : 11.8%
→ 13 ans : 15.8%
→ 15 ans : 10.7%
📌 Décote lente (< 5% par an) :
→ 7 ans : -9.5%
→ 9 ans : 2.3%
→ 11 ans : 1.7%
→ 17 ans : -0.2%
✅ Sauvegardé : /home/ubuntu/app/stats/5008/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -524.25 × âge + -0.0172 × km + 16,649
📌 R² = 0.654
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 265 ( 15.4%)
👍 Bonne affaire : 246 ( 14.3%)
📊 Prix marché : 675 ( 39.1%)
💰 Cher : 230 ( 13.3%)
🔴 Très cher : 310 ( 18.0%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/5008/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3163345953] Peugeot 5008 1.6, 120cv B.hdi
Prix: 1,000€ | Attendu: 5,707€ | Écart: -82.5% | Année: 2014 | Km: 270,000
2. [3166827215] Voiture entiere avec moteur qui claque
Prix: 900€ | Attendu: 4,437€ | Écart: -79.7% | Année: 2010 | Km: 222,000
3. [3098662962] Peugeot 5008 hdi
Prix: 1,900€ | Attendu: 8,721€ | Écart: -78.2% | Année: 2016 | Km: 155,900
4. [3163979849] Opel Corsa 2009 232000km
Prix: 1,900€ | Attendu: 8,459€ | Écart: -77.5% | Année: 2018 | Km: 232,000
5. [3161987772] 5008 7 places
Prix: 1,000€ | Attendu: 4,135€ | Écart: -75.8% | Année: 2011 | Km: 270,000
6. [3154103448] Vend Peugeot 5008 dans l etat
Prix: 1,000€ | Attendu: 4,041€ | Écart: -75.3% | Année: 2010 | Km: 245,000
7. [3145452074] Peugeot 5008
2026-03-25 08:08:06,161 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 08:08:06,168 [INFO] services.llm_service — Batch 0-8: 8 résultats extraits (modèle=gpt-5-nano)
2026-03-25 08:08:06,496 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:08:06,500 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:08:06,639 [INFO] stats.exporters.to_db — referentiel_prix : 67 segments insérés
2026-03-25 08:08:06,750 [INFO] stats.exporters.to_db — ads.deal_columns : 1726 annonces mises à jour
Prix: 1,000€ | Attendu: 3,677€ | Écart: -72.8% | Année: 2012 | Km: 327,000
8. [3151017355] Vends Peugeot 5008 a spécialiste
Prix: 1,500€ | Attendu: 5,348€ | Écart: -72.0% | Année: 2012 | Km: 230,000
9. [3154289763] 5008 essence sur l'état
Prix: 1,700€ | Attendu: 6,035€ | Écart: -71.8% | Année: 2011 | Km: 159,660
10. [3162529124] Peugeot 5008
Prix: 1,500€ | Attendu: 5,114€ | Écart: -70.7% | Année: 2013 | Km: 274,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3146000438] 5008 hdi
Prix: 7,500€ | Attendu: 3,706€ | Écart: +102.4% | Année: 2009 | Km: 234,000
2. [3152738100] Peugeot 5008 2l hdi 150cv
Prix: 8,000€ | Attendu: 4,341€ | Écart: +84.3% | Année: 2010 | Km: 227,600
3. [3126969597] Peugeot 5008
Prix: 4,200€ | Attendu: 2,311€ | Écart: +81.7% | Année: 2009 | Km: 315,000
4. [3157618424] Peugeot 5008
Prix: 3,500€ | Attendu: 1,974€ | Écart: +77.3% | Année: 2010 | Km: 365,000
5. [3165438627] Vend peugeot 5008 1l6 hdi année 2009
Caroserie 31
Prix: 4,000€ | Attendu: 2,259€ | Écart: +77.0% | Année: 2009 | Km: 318,000
6. [3126598226] Peugeot 5008 1.6 hdi fap confort pack 7pl
Prix: 7,990€ | Attendu: 4,532€ | Écart: +76.3% | Année: 2010 | Km: 216,500
7. [3155918327] Peugeot 5008
Prix: 6,500€ | Attendu: 3,706€ | Écart: +75.4% | Année: 2009 | Km: 234,000
8. [3147840406] Peugeot 5008 1.6 HDi Premium 7Places
Prix: 6,990€ | Attendu: 4,024€ | Écart: +73.7% | Année: 2010 | Km: 246,000
9. [3159646980] PEUGEOT 5008 2.0 HDI 163cv
Prix: 7,500€ | Attendu: 4,400€ | Écart: +70.4% | Année: 2012 | Km: 285,000
10. [3129737643] 🚗 Peugeot 5008 1.6 HDi 110 Premium – 7 places
Prix: 10,000€ | Attendu: 5,884€ | Écart: +70.0% | Année: 2010 | Km: 138,000
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 84 annonces avec prix suspect
💾 84 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 8
Résultats extraits : 8
Évaluations insérées : 8
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 1,726 │
│ Prix moyen │ 6,261 € │
│ Prix médian │ 5,990 € │
│ Km moyen │ 206,559 km │
│ Km médian │ 207,500 km │
│ Âge moyen │ 13.0 ans │
│ Âge médian │ 14.0 ans │
│ Km/an moyen │ 16,261 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/5008/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~17 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (40000, 60000]
⛽ Carburant tenant le mieux sa valeur : essence (prix/âge le plus élevé)
👔 Les pros vendent 18.0% plus cher que les particuliers (médiane)
🔄 Km/an médian : 15,777 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : peugeot (1726)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 9,858€
(8 annonces disponibles)
• Prix médian du marché : 5,990€ → cible < 5,391€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 5,990€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 207,500 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (440 annonces) :
Prix : 700€ - 4,500€
Âge moyen : 14.8 ans | Km moyen : 255,597
• Milieu de gamme (854 annonces) :
Prix : 4,590€ - 7,800€
Âge moyen : 13.4 ans | Km moyen : 204,533
• Premium (432 annonces) :
Prix : 7,850€ - 11,000€
Âge moyen : 10.4 ans | Km moyen : 160,620
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #154 créé
🔍 Modèle : 5008
📎 1726 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.654)
✅ Référentiel prix : 67 segments
✅ Classifications deal : 1726 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 24.6 secondes
📊 1726 annonces analysées (run #154)
🔍 Modèle : 5008
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/5008/figures
══════════════════════════════════════════════════════════════════════
Récupération de la page 1/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 2/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 3/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=3
→ 35 annonces récupérées (total en mémoire: 105)
Export de 105 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 4/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=4
→ 35 annonces récupérées (total en mémoire: 140)
Export de 140 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 5/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=5
→ 35 annonces récupérées (total en mémoire: 175)
Export de 175 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 6/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=6
→ 35 annonces récupérées (total en mémoire: 210)
Export de 210 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 7/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=7
→ 35 annonces récupérées (total en mémoire: 245)
Export de 245 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 8/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=8
→ 35 annonces récupérées (total en mémoire: 280)
Export de 280 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 9/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=9
→ 35 annonces récupérées (total en mémoire: 315)
Export de 315 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 10/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=10
→ 35 annonces récupérées (total en mémoire: 350)
Export de 350 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 11/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=11
→ 35 annonces récupérées (total en mémoire: 385)
Export de 385 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 12/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=12
→ 35 annonces récupérées (total en mémoire: 420)
Export de 420 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 13/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=13
→ 35 annonces récupérées (total en mémoire: 455)
Export de 455 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 14/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=14
→ 35 annonces récupérées (total en mémoire: 490)
Export de 490 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 15/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=15
→ 35 annonces récupérées (total en mémoire: 525)
Export de 525 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 16/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=16
→ 35 annonces récupérées (total en mémoire: 560)
Export de 560 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 17/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=17
→ 35 annonces récupérées (total en mémoire: 595)
Export de 595 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 18/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=18
→ 35 annonces récupérées (total en mémoire: 630)
Export de 630 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 19/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=19
→ 35 annonces récupérées (total en mémoire: 665)
Export de 665 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 20/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=20
→ 35 annonces récupérées (total en mémoire: 700)
Export de 700 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 21/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=21
→ 35 annonces récupérées (total en mémoire: 735)
Export de 735 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 22/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=22
→ 35 annonces récupérées (total en mémoire: 770)
Export de 770 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 23/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=23
→ 35 annonces récupérées (total en mémoire: 805)
Export de 805 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 24/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=24
→ 35 annonces récupérées (total en mémoire: 840)
Export de 840 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 25/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=25
→ 35 annonces récupérées (total en mémoire: 875)
Export de 875 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 26/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=26
→ 35 annonces récupérées (total en mémoire: 910)
Export de 910 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 27/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=27
→ 35 annonces récupérées (total en mémoire: 945)
Export de 945 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 28/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=28
→ 35 annonces récupérées (total en mémoire: 980)
Export de 980 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 29/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=29
→ 35 annonces récupérées (total en mémoire: 1015)
Export de 1015 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 30/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=30
→ 35 annonces récupérées (total en mémoire: 1050)
Export de 1050 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 31/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=31
→ 35 annonces récupérées (total en mémoire: 1085)
Export de 1085 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 32/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=32
→ 35 annonces récupérées (total en mémoire: 1120)
Export de 1120 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 33/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=33
→ 35 annonces récupérées (total en mémoire: 1155)
Export de 1155 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 34/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=34
→ 35 annonces récupérées (total en mémoire: 1190)
Export de 1190 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 35/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=35
→ 35 annonces récupérées (total en mémoire: 1225)
Export de 1225 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 36/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=36
→ 35 annonces récupérées (total en mémoire: 1260)
Export de 1260 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 37/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=37
→ 35 annonces récupérées (total en mémoire: 1295)
Export de 1295 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 38/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=38
→ 35 annonces récupérées (total en mémoire: 1330)
Export de 1330 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 39/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=39
→ 35 annonces récupérées (total en mémoire: 1365)
Export de 1365 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 40/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=40
→ 35 annonces récupérées (total en mémoire: 1400)
Export de 1400 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 41/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=41
→ 35 annonces récupérées (total en mémoire: 1435)
Export de 1435 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 42/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=42
→ 35 annonces récupérées (total en mémoire: 1470)
Export de 1470 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 43/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=43
→ 20 annonces récupérées (total en mémoire: 1490)
Export de 1490 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_080807.csv réussi.
Récupération de la page 44/44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000®date=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=44
Erreur lors de l'appel à l'API: 404 Client Error: Not Found for url: https://piloterr.com/api/v2/leboncoin/search?query=https%3A%2F%2Fwww.leboncoin.fr%2Frecherche%3Fcategory%3D2%26text%3Dford%2Bfiesta%26price%3D3000-10000%26regdate%3D2014-max%26u_car_brand%3DFORD%26fuel%3D1%252C2%26u_car_model%3DFORD_Fiesta%26page%3D44
Récupération de la page 1/3 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=1
→ 35 annonces récupérées (total en mémoire: 35)
Export de 35 annonces vers /home/ubuntu/app/leboncoin_ads_nv200_20260325_081032.csv réussi.
Récupération de la page 2/3 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=2
→ 35 annonces récupérées (total en mémoire: 70)
Export de 70 annonces vers /home/ubuntu/app/leboncoin_ads_nv200_20260325_081032.csv réussi.
Récupération de la page 3/3 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=3
→ 30 annonces récupérées (total en mémoire: 100)
Export de 100 annonces vers /home/ubuntu/app/leboncoin_ads_nv200_20260325_081032.csv réussi.
Terminé : 100 annonces au total dans /home/ubuntu/app/leboncoin_ads_nv200_20260325_081032.csv
INFO: Model override : nv200
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_nv200_20260325_081032.csv
✅ 100 lus, 100 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 100 lus, 100 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6908 annonces en base
════════════════════════════════════════════════════════════
INFO: 100 list_id lus dans le CSV.
INFO: 101 annonces actives en base pour nissan nv200.
INFO: 1 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_nv200_20260325_081032.csv
Brand : nissan | Modèle : nv200
════════════════════════════════════════════════════════════
Annonces dans le CSV : 100
Annonces actives en DB : 101
Absentes du crawl : 1
Marquées indisponibles : 1
════════════════════════════════════════════════════════════
Vérification :
SELECT list_id, available, unavailable_detected_at FROM ads WHERE available = 0;
══════════════════════════════════════════════════════════════════════
🚗 ANALYSEUR LEBONCOIN - Analyses Descriptives Véhicules
══════════════════════════════════════════════════════════════════════
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Dossier figures : /home/ubuntu/app/stats/nv200/figures
🔍 Modèle filtré : nv200
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 191 annonces chargées (modèle 'nv200')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 191
📋 Premières lignes (colonnes parsées) :
list_id subject price_eur year_model mileage_km fuel brand model owner_type first_publication_date
0 2859214095 Nissan NV200 N CONNNECTA 90CV 12990 2017 94500 diesel nissan nv200 pro 2024-10-05 17:02:00
1 3139983877 Nissan NV200 1,5L dCi 90ch Acenta 11990 2013 106800 diesel nissan nv200 pro 2026-02-05 16:52:21
2 3083668151 Nissan NV200 1.5 DCI 90CH VAN AMENAGE 14999 2014 121041 diesel nissan nv200 pro 2025-10-29 21:10:00
3 3131716141 Nissan NV200 1.5 DCI 110 N-CONNECTA 9890 2016 194000 diesel nissan nv200 pro 2026-01-21 20:45:17
4 3131492774 Nissan NV200 Fourgon 1.5 dCi 110cv 1ère Main N-Connecta 8990 2017 187000 diesel nissan nv200 pro 2026-01-21 14:43:24
❓ Valeurs manquantes par colonne clé :
list_id : 0 manquantes (0.0%)
subject : 0 manquantes (0.0%)
price_eur : 0 manquantes (0.0%)
year_model : 0 manquantes (0.0%)
mileage_km : 0 manquantes (0.0%)
fuel : 0 manquantes (0.0%)
brand : 0 manquantes (0.0%)
model : 0 manquantes (0.0%)
owner_type : 0 manquantes (0.0%)
first_publication_date : 0 manquantes (0.0%)
📅 Période couverte :
Première publication : 2024-09-27 22:07:00
Dernière publication : 2026-03-24 19:52:20
Durée : 542 jours
👤 Répartition par type de vendeur :
private : 133 (69.6%)
pro : 58 (30.4%)
⛽ Répartition par carburant :
diesel : 191 (100.0%)
🏭 Top 10 marques :
nissan : 191 (100.0%)
🧮 Création des colonnes calculées...
✅ Colonnes ajoutées : age_years, km_per_year, price_per_km
🧹 Nettoyage des données...
📊 Rapport de nettoyage :
prix_aberrants : 0 lignes supprimées
km_aberrants : 0 lignes supprimées
annee_aberrante : 0 lignes supprimées
age_negatif : 0 lignes supprimées
─────────────────────────────────────────────
Total supprimé : 0
Restantes : 191 / 191
Pourcentage conservé : 100.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 1 outliers (0.5%)
Bornes IQR : [-2,735 ; 19,225]
mileage_km : 1 outliers (0.5%)
Bornes IQR : [-39,123 ; 365,521]
age_years : 0 outliers (0.0%)
Bornes IQR : [3 ; 19]
📌 Total d'annonces outliers (au moins 1 variable) : 2 (1.0%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 191
Dont outliers identifiés : 2
Annonces non-outliers : 189
Plages de valeurs :
price_eur : [ 2,000 ; 19,990] (moy: 8,582)
mileage_km : [ 1 ; 420,000] (moy: 164,612)
year_model : [ 2,009 ; 2,019] (moy: 2,015)
age_years : [ 7 ; 17] (moy: 11)
km_per_year : [ 0 ; 30,000] (moy: 14,820)
💾 191 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 5 signaux de suspicion détectés
km_trop_bas_diesel: 5
💾 5 signaux persistés dans SQLite
======================================================================
📊 STATISTIQUES DESCRIPTIVES GLOBALES
======================================================================
📊 Tableau récapitulatif (valeurs brutes) :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 191 8582.424084 8000.000000 3695.386045 2000.000000 5500.000000 10990.000000 19990.0 5490.000000
mileage_km 191 164611.832461 153000.000000 70530.213065 1.000000 112618.500000 213779.500000 420000.0 101161.000000
year_model 191 2014.748691 2015.000000 2.710542 2009.000000 2013.000000 2017.000000 2019.0 4.000000
age_years 191 11.251309 11.000000 2.710542 7.000000 9.000000 13.000000 17.0 4.000000
km_per_year 191 14820.254536 13533.333333 5902.879931 0.066667 10352.832386 18478.644231 30000.0 8125.811844
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 191 8,582 8,000 3,695.39 2,000 5,500 10,990 19,990 5,490
mileage_km 191 164,612 153,000 70,530.21 1 112,618 213,780 420,000 101,161
year_model 191 2,015 2,015 2.71 2,009 2,013 2,017 2,019 4
age_years 191 11.3 11.0 2.71 7.0 9.0 13.0 17.0 4.0
km_per_year 191 14,820.3 13,533.3 5,902.88 0.1 10,352.8 18,478.6 30,000.0 8,125.8
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution asymétrique DROITE (moyenne 8,582 > médiane 8,000)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 43%, σ = 3,695)
→ Étendue : [2,000 ; 19,990] (IQR = 5,490)
📌 mileage_km :
→ Distribution asymétrique DROITE (moyenne 164,612 > médiane 153,000)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 43%, σ = 70,530)
→ Étendue : [1 ; 420,000] (IQR = 101,161)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 3)
→ Étendue : [2,009 ; 2,019] (IQR = 4)
📌 age_years :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 24%, σ = 3)
→ Étendue : [7 ; 17] (IQR = 4)
📌 km_per_year :
→ Distribution asymétrique DROITE (moyenne 14,820 > médiane 13,533)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 40%, σ = 5,903)
→ Étendue : [0 ; 30,000] (IQR = 8,126)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
2026-03-25 08:10:43,134 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-03-25 08:10:43,135 [INFO] matplotlib.category — Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
======================================================================
📊 Prix moyen par année modèle...
📋 Table : Prix par année modèle
---------------------------------------------------------------------------
Année Nb Prix moy Prix méd Décote %
---------------------------------------------------------------------------
2009 2 3,600 3,600 N/A
2010 9 4,764 4,200 -32.3%
2011 19 5,121 4,900 -7.5%
2012 14 6,616 5,595 -29.2%
2013 24 7,259 7,690 -9.7%
2014 24 8,824 8,740 -21.6%
2015 13 8,429 9,000 +4.5%
2016 26 8,906 8,000 -5.7%
2017 22 10,629 9,895 -19.3%
2018 23 11,722 12,000 -10.3%
2019 15 11,246 10,990 +4.1%
📌 Décote annuelle moyenne : -12.7%
📊 Prix moyen par tranche de kilométrage...
📋 Table : Prix par tranche de km
----------------------------------------------------------------------
Tranche Nb Prix moy Prix méd Var %
----------------------------------------------------------------------
0-20k 1 2,000 2,000 N/A
20-50k 5 13,656 12,800 +582.8%
50-80k 11 13,577 13,000 -0.6%
80-120k 38 11,555 10,940 -14.9%
120-160k 46 9,656 9,500 -16.4%
160-200k 33 6,849 6,750 -29.1%
200k+ 57 5,445 5,200 -20.5%
📊 Prix moyen par âge...
📋 Table : Prix par âge
-----------------------------------------------------------------
Âge Nb Prix moy Décote %
-----------------------------------------------------------------
7 15 11,246 N/A
8 23 11,722 +4.2%
9 22 10,629 -9.3%
10 26 8,906 -16.2%
11 13 8,429 -5.4%
12 24 8,824 +4.7%
13 24 7,259 -17.7%
14 14 6,616 -8.9%
15 19 5,121 -22.6%
16 9 4,764 -7.0%
17 2 3,600 -24.4%
📌 La décote ralentit significativement à 11 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 191 8,582 8,000
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 133 8,009 7,500
pro 58 9,897 9,935
📌 Test Mann-Whitney (médiane) : p = 0.0006
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +2,435€
📊 Prix par modèle de véhicule...
ℹ️ Un seul modèle détecté (nv200) — comparaison non applicable
✅ Toutes les distributions par catégorie sauvegardées dans /home/ubuntu/app/stats/nv200/figures
======================================================================
📊 ANALYSES AVANCÉES - SEUILS PSYCHOLOGIQUES
======================================================================
📊 Analyse des seuils de kilométrage...
📋 Taux de décote par tranche de 10k km :
--------------------------------------------------
50k : décote -11.8% (n= 3)
60k : décote 15.9% (n= 2) ⚡
70k : décote 1.3% (n= 6)
80k : décote 4.6% (n= 9)
90k : décote -0.2% (n= 10)
100k : décote 5.9% (n= 8)
110k : décote 10.4% (n= 11) ⚡
120k : décote -14.4% (n= 11)
130k : décote 12.1% (n= 13) ⚡
140k : décote 14.7% (n= 13) ⚡
150k : décote 20.3% (n= 9) ⚡
160k : décote -13.9% (n= 6)
170k : décote 29.5% (n= 8) ⚡
180k : décote -12.2% (n= 6)
190k : décote -13.8% (n= 13)
200k : décote -2.1% (n= 5)
210k : décote 21.0% (n= 7) ⚡
220k : décote 0.8% (n= 8)
230k : décote -0.4% (n= 7)
240k : décote -3.3% (n= 9)
250k : décote 24.4% (n= 5) ⚡
260k : décote 15.2% (n= 2) ⚡
290k : décote -21.6% (n= 6)
300k+ : décote 15.3% (n= 6) ⚡
📌 Seuils où la décote s'accélère (> 8%) :
→ 60k km : 15.9%
→ 110k km : 10.4%
→ 130k km : 12.1%
→ 140k km : 14.7%
→ 150k km : 20.3%
→ 170k km : 29.5%
→ 210k km : 21.0%
→ 250k km : 24.4%
→ 260k km : 15.2%
→ 300k+ km : 15.3%
✅ Sauvegardé : /home/ubuntu/app/stats/nv200/figures/seuils_km.png
📊 Analyse des seuils d'âge...
📋 Taux de décote par année d'âge :
---------------------------------------------
8 ans : décote -4.2% (n= 23) 🐢 LENTE
9 ans : décote 9.3% (n= 22)
10 ans : décote 16.2% (n= 26) ⚡ FORTE
11 ans : décote 5.4% (n= 13)
12 ans : décote -4.7% (n= 24) 🐢 LENTE
13 ans : décote 17.7% (n= 24) ⚡ FORTE
14 ans : décote 8.9% (n= 14)
15 ans : décote 22.6% (n= 19) ⚡ FORTE
16 ans : décote 7.0% (n= 9)
17 ans : décote 24.4% (n= 2) ⚡ FORTE
📌 Décote rapide (> 10% par an) :
→ 10 ans : 16.2%
→ 13 ans : 17.7%
→ 15 ans : 22.6%
→ 17 ans : 24.4%
📌 Décote lente (< 5% par an) :
→ 8 ans : -4.2%
→ 12 ans : -4.7%
✅ Sauvegardé : /home/ubuntu/app/stats/nv200/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -458.94 × âge + -0.0299 × km + 18,660
📌 R² = 0.604
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 36 ( 18.9%)
👍 Bonne affaire : 35 ( 18.4%)
📊 Prix marché : 65 ( 34.2%)
💰 Cher : 24 ( 12.6%)
🔴 Très cher : 30 ( 15.8%)
📊 Graphique : Distribution des écarts de prix...
✅ Sauvegardé : /home/ubuntu/app/stats/nv200/figures/ecarts_prix.png
🌟 TOP 10 MEILLEURES AFFAIRES (écart le plus négatif) :
====================================================================================================
1. [3138843536] Vehicule camionnette nissan nv200
Prix: 2,000€ | Attendu: 11,776€ | Écart: -83.0% | Année: 2011 | Km: 1
2. [3159812831] Vend utilitaires nv200 nissan
Prix: 2,000€ | Attendu: 6,701€ | Écart: -70.2% | Année: 2011 | Km: 170,000
3. [3160668277] Nissan nv 200
Prix: 3,000€ | Attendu: 7,082€ | Écart: -57.6% | Année: 2013 | Km: 188,000
4. [3164906877] Nissan
Prix: 3,500€ | Attendu: 6,608€ | Écart: -47.0% | Année: 2016 | Km: 250,000
5. [3109648143] Nissan nv200 1.5 dci turbo
Prix: 3,990€ | Attendu: 6,981€ | Écart: -42.8% | Année: 2012 | Km: 176,000
6. [3154995725] Nissan NV200 Fourgon 1.5 DCi 110ch BVM5 Optima - 2
Prix: 4,000€ | Attendu: 6,768€ | Écart: -40.9% | Année: 2014 | Km: 213,880
7. [3116605709] Nissan NV200
Prix: 4,500€ | Attendu: 7,597€ | Écart: -40.8% | Année: 2011 | Km: 140,000
8. [3127367839] Nissan NV200 1.5 DCI
Prix: 5,490€ | Attendu: 8,797€ | Écart: -37.6% | Année: 2014 | Km: 145,899
9. [3142568361] Nissan nv 200 1.5 90ch
Prix: 5,200€ | Attendu: 8,309€ | Écart: -37.4% | Année: 2016 | Km: 193,000
10. [3167556865] Utilitaire camionnette
2026-03-25 08:10:44,250 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 08:10:44,254 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 08:10:44,346 [INFO] stats.exporters.to_db — referentiel_prix : 45 segments insérés
2026-03-25 08:10:44,363 [INFO] stats.exporters.to_db — ads.deal_columns : 191 annonces mises à jour
Prix: 4,700€ | Attendu: 7,209€ | Écart: -34.8% | Année: 2011 | Km: 153,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
====================================================================================================
1. [3156635875] Nissan NV200
Prix: 3,500€ | Attendu: 540€ | Écart: +548.0% | Année: 2010 | Km: 361,000
2. [3154023820] Camion
Prix: 3,500€ | Attendu: 719€ | Écart: +386.6% | Année: 2010 | Km: 355,000
3. [3153372541] Nissan nv 200
Prix: 10,500€ | Attendu: 5,529€ | Écart: +89.9% | Année: 2013 | Km: 240,000
4. [3114600758] Van
Prix: 18,500€ | Attendu: 10,227€ | Écart: +80.9% | Année: 2014 | Km: 98,000
5. [3156516616] 🚐 Nissan NV200 aménagé – Prêt à voyager
Prix: 9,300€ | Attendu: 5,716€ | Écart: +62.7% | Année: 2011 | Km: 203,000
6. [3158536730] Véhicule aménagé
Prix: 13,500€ | Attendu: 8,354€ | Écart: +61.6% | Année: 2012 | Km: 130,000
7. [3083668151] Nissan NV200 1.5 DCI 90CH VAN AMENAGE
Prix: 14,999€ | Attendu: 9,540€ | Écart: +57.2% | Année: 2014 | Km: 121,041
8. [3163982347] Utilitaire aménagé Van NV200 2016 84000 km
Prix: 17,900€ | Attendu: 11,563€ | Écart: +54.8% | Année: 2016 | Km: 84,000
9. [3155364135] Utilitaire Van Nissan NV200 2016
Prix: 17,900€ | Attendu: 11,593€ | Écart: +54.4% | Année: 2016 | Km: 83,000
10. [3150255673] Van aménagé Nissan NV200
Prix: 8,500€ | Attendu: 5,585€ | Écart: +52.2% | Année: 2010 | Km: 192,000
🔎 Détection des prix suspects (seuil: -40%)...
⚠️ 7 annonces avec prix suspect
💾 7 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 0
Toutes les annonces ont déjà été analysées.
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 191 │
│ Prix moyen │ 8,582 € │
│ Prix médian │ 8,000 € │
│ Km moyen │ 164,612 km │
│ Km médian │ 153,000 km │
│ Âge moyen │ 11.3 ans │
│ Âge médian │ 11.0 ans │
│ Km/an moyen │ 14,820 km/an │
└──────────────────────────────────────────────────┘
✅ Sauvegardé : /home/ubuntu/app/stats/nv200/figures/dashboard_kpis.png
======================================================================
💡 INSIGHTS PRINCIPAUX
======================================================================
🎯 Âge optimal d'achat : ~16 ans (meilleur rapport prix/ancienneté)
⚡ Seuil km critique : la décote s'accélère le plus autour de (20000, 40000]
👔 Les pros vendent 32.5% plus cher que les particuliers (médiane)
🔄 Km/an médian : 13,533 km → Profil dominant : 10-15k (Normal)
🏭 Top 3 marques = 100% du marché : nissan (191)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 11,942€
(16 annonces disponibles)
• Prix médian du marché : 8,000€ → cible < 7,200€ pour une bonne affaire
• Privilégier les annonces de particuliers si budget serré
• Vérifier le km/an : < 15 000 km/an = usage normal
💰 POUR UN VENDEUR :
--------------------------------------------------
• Prix médian du marché : 8,000€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 153,000 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (52 annonces) :
Prix : 2,000€ - 5,500€
Âge moyen : 13.6 ans | Km moyen : 233,188
• Milieu de gamme (93 annonces) :
Prix : 5,800€ - 10,990€
Âge moyen : 10.9 ans | Km moyen : 159,192
• Premium (46 annonces) :
Prix : 11,000€ - 19,990€
Âge moyen : 9.4 ans | Km moyen : 98,048
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #155 créé
🔍 Modèle : nv200
📎 191 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.604)
✅ Référentiel prix : 45 segments
✅ Classifications deal : 191 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 4.0 secondes
📊 191 annonces analysées (run #155)
🔍 Modèle : nv200
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/nv200/figures
══════════════════════════════════════════════════════════════════════
2026-03-25 08:10:52,916 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 08:10:52,925 [INFO] services.llm_service — Batch 0-1: 1 résultats extraits (modèle=gpt-5-nano)
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 1
Résultats extraits : 1
Évaluations insérées : 1
============================================================
CRAWL ALL — 9 modèle(s)
============================================================
[1/9] CLIO_4 (brand=renault, pages=41)
URL: https://www.leboncoin.fr/recherche?category=2&text=clio%204&price=3000-9000®d...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 41 --model clio_4
CSV : leboncoin_ads_clio_4_20260325_080001.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv --db /home/ubuntu/app/db/lbc.sqlite --model clio_4
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_clio_4_20260325_080001.csv --brand renault --model clio_4 --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model clio_4 --skip-plots
[2/9] YARIS (brand=toyota, pages=2)
URL: https://www.leboncoin.fr/recherche?category=2&text=toyota%20yaris&price=3000-900...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 2 --model yaris
CSV : leboncoin_ads_yaris_20260325_080305.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_yaris_20260325_080305.csv --db /home/ubuntu/app/db/lbc.sqlite --model yaris
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_yaris_20260325_080305.csv --brand toyota --model yaris --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model yaris --skip-plots
[3/9] I20 (brand=hyundai, pages=4)
URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000®date=2...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 4 --model i20
CSV : leboncoin_ads_i20_20260325_080338.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv --db /home/ubuntu/app/db/lbc.sqlite --model i20
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_i20_20260325_080338.csv --brand hyundai --model i20 --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model i20 --skip-plots
[4/9] BERLINGO (brand=citroen, pages=10)
URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=C...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 10 --model berlingo
CSV : leboncoin_ads_berlingo_20260325_080403.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv --db /home/ubuntu/app/db/lbc.sqlite --model berlingo
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_berlingo_20260325_080403.csv --brand citroen --model berlingo --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model berlingo --skip-plots
[5/9] C4 (brand=citroen, pages=5)
URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000®date=20...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 5 --model c4
CSV : leboncoin_ads_c4_20260325_080511.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv --db /home/ubuntu/app/db/lbc.sqlite --model c4
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_c4_20260325_080511.csv --brand citroen --model c4 --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model c4 --skip-plots
[6/9] SCENIC (brand=renault, pages=4)
URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000®dat...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 4 --model scenic
ERREUR : crawler échoué pour scenic
[7/9] 5008 (brand=peugeot, pages=31)
URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_br...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 31 --model 5008
CSV : leboncoin_ads_5008_20260325_080554.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv --db /home/ubuntu/app/db/lbc.sqlite --model 5008
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_5008_20260325_080554.csv --brand peugeot --model 5008 --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model 5008 --skip-plots
[8/9] FIESTA (brand=ford, pages=44)
URL: https://www.leboncoin.fr/recherche?category=2&text=ford%20fiesta&price=3000-1000...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 44 --model fiesta
ERREUR : crawler échoué pour fiesta
[9/9] NV200 (brand=nissan, pages=3)
URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&...
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --pages 3 --model nv200
CSV : leboncoin_ads_nv200_20260325_081032.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_nv200_20260325_081032.csv --db /home/ubuntu/app/db/lbc.sqlite --model nv200
$ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_nv200_20260325_081032.csv --brand nissan --model nv200 --db /home/ubuntu/app/db/lbc.sqlite
$ /home/ubuntu/app/.venv/bin/python -m stats.main --model nv200 --skip-plots
.env restauré
============================================================
LLM — Extraction des titres (toutes les annonces)
============================================================
$ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis
============================================================
RÉSUMÉ
============================================================
✓ clio_4 → OK
✓ yaris → OK
✓ i20 → OK
✓ berlingo → OK
✓ c4 → OK
✗ scenic → ERREUR crawler
✓ 5008 → OK
✗ fiesta → ERREUR crawler
✓ nv200 → OK
============================================================
============================================================
Finished: 2026-03-25T08:10:53.248402
Duration: 653.2s
STATUS:SUCCESS