Administration
← Retour
Log : 20260325_140000
=== CRAWL 20260325_140000 ===
Trigger: scheduled
Started: 2026-03-25T14:00:00.000256
============================================================
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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.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_140000.csv réussi.
Terminé : 1435 annonces au total dans /home/ubuntu/app/leboncoin_ads_clio_4_20260325_140000.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_140000.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
📌 6936 annonces en base
════════════════════════════════════════════════════════════
INFO: 1420 list_id lus dans le CSV.
INFO: 1471 annonces actives en base pour renault clio_4.
INFO: 51 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_clio_4_20260325_140000.csv
Brand : renault | Modèle : clio_4
════════════════════════════════════════════════════════════
Annonces dans le CSV : 1420
Annonces actives en DB : 1471
Absentes du crawl : 51
Marquées indisponibles : 51
════════════════════════════════════════════════════════════
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
✅ 2853 annonces chargées (modèle 'clio_4')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 2853
📋 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 14:58:18
Durée : 719 jours
👤 Répartition par type de vendeur :
private : 1883 (66.0%)
pro : 970 (34.0%)
⛽ Répartition par carburant :
diesel : 1569 (55.0%)
essence : 1280 (44.9%)
autre : 3 (0.1%)
gpl : 1 (0.0%)
🏭 Top 10 marques :
renault : 2853 (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 : 2852 / 2853
Pourcentage conservé : 100.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 48 outliers (1.7%)
Bornes IQR : [4,740 ; 10,740]
mileage_km : 46 outliers (1.6%)
Bornes IQR : [18,584 ; 252,909]
age_years : 8 outliers (0.3%)
Bornes IQR : [5 ; 13]
📌 Total d'annonces outliers (au moins 1 variable) : 85 (3.0%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 2852
Dont outliers identifiés : 85
Annonces non-outliers : 2767
Plages de valeurs :
price_eur : [ 3,300 ; 9,000] (moy: 7,596)
mileage_km : [ 125 ; 380,000] (moy: 137,972)
year_model : [ 2,014 ; 2,024] (moy: 2,017)
age_years : [ 2 ; 12] (moy: 9)
km_per_year : [ 18 ; 54,286] (moy: 16,173)
💾 2852 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 2852 7596.459327 7895.0 1114.846125 3300.000000 6990.000000 8490.0 9000.000000 1500.000000
mileage_km 2852 137972.159888 134500.0 44939.521062 125.000000 106456.250000 165037.5 380000.000000 58581.250000
year_model 2852 2017.293478 2017.0 1.353038 2014.000000 2016.000000 2018.0 2024.000000 2.000000
age_years 2852 8.706522 9.0 1.353038 2.000000 8.000000 10.0 12.000000 2.000000
km_per_year 2852 16173.169645 15750.0 5728.825176 17.857143 12208.333333 19600.0 54285.714286 7391.666667
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 2,852 7,596 7,895 1,114.85 3,300 6,990 8,490 9,000 1,500
mileage_km 2,852 137,972 134,500 44,939.52 125 106,456 165,038 380,000 58,581
year_model 2,852 2,017 2,017 1.35 2,014 2,016 2,018 2,024 2
age_years 2,852 8.7 9.0 1.35 2.0 8.0 10.0 12.0 2.0
km_per_year 2,852 16,173.2 15,750.0 5,728.83 17.9 12,208.3 19,600.0 54,285.7 7,391.7
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 15%, σ = 1,115)
→ Étendue : [3,300 ; 9,000] (IQR = 1,500)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 33%, σ = 44,940)
→ Étendue : [125 ; 380,000] (IQR = 58,581)
📌 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,729)
→ Étendue : [18 ; 54,286] (IQR = 7,392)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
2026-03-25 14:02:40,025 [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 14:02:40,026 [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 813 7,286 7,500 +0.5%
2017 764 7,573 7,795 -3.9%
2018 617 7,732 7,990 -2.1%
2019 394 7,927 8,000 -2.5%
2020 122 8,232 8,500 -3.8%
2021 26 8,322 8,490 -1.1%
2022 6 8,838 8,930 -6.2%
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 19 8,078 8,500 +9.7%
50-80k 183 8,212 8,490 +1.7%
80-120k 873 7,996 8,000 -2.6%
120-160k 922 7,892 7,990 -1.3%
160-200k 575 7,120 7,000 -9.8%
200k+ 270 5,868 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 26 8,322 -5.8%
6 122 8,232 -1.1%
7 394 7,927 -3.7%
8 617 7,732 -2.5%
9 764 7,573 -2.1%
10 813 7,286 -3.8%
11 55 7,319 +0.5%
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 1569 7,449 7,700
essence 1279 7,777 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 1882 7,437 7,600
pro 970 7,906 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 2.4% (n= 7)
40k : décote 12.4% (n= 7) ⚡
50k : décote -10.4% (n= 34)
60k : décote -2.7% (n= 58)
70k : décote 2.4% (n= 91)
80k : décote -0.5% (n=132)
90k : décote 0.6% (n=218)
100k : décote 2.8% (n=223)
110k : décote 0.6% (n=300)
120k : décote -2.4% (n=219)
130k : décote 1.2% (n=237)
140k : décote 0.9% (n=239)
150k : décote 2.5% (n=227)
160k : décote 3.8% (n=184)
170k : décote 1.9% (n=160)
180k : décote 4.3% (n=121)
190k : décote 4.2% (n=110)
200k : décote 6.0% (n=101)
210k : décote 2.9% (n= 55)
220k : décote -2.6% (n= 24)
230k : décote 12.3% (n= 36) ⚡
240k : décote 4.7% (n= 9)
250k : décote 1.1% (n= 18)
260k : décote 1.0% (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 : 12.4%
→ 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.8% (n= 26)
6 ans : décote 1.1% (n=122) 🐢 LENTE
7 ans : décote 3.7% (n=394)
8 ans : décote 2.5% (n=617) 🐢 LENTE
9 ans : décote 2.1% (n=764) 🐢 LENTE
10 ans : décote 3.8% (n=813)
11 ans : décote -0.5% (n= 55) 🐢 LENTE
12 ans : décote 4.7% (n= 53)
📌 Décote lente (< 5% par an) :
→ 4 ans : -10.5%
→ 6 ans : 1.1%
→ 7 ans : 3.7%
→ 8 ans : 2.5%
→ 9 ans : 2.1%
→ 10 ans : 3.8%
→ 11 ans : -0.5%
→ 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.66 × âge + -0.0133 × km + 10,873
📌 R² = 0.348
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 172 ( 6.0%)
👍 Bonne affaire : 373 ( 13.1%)
📊 Prix marché : 1761 ( 61.7%)
💰 Cher : 459 ( 16.1%)
🔴 Très cher : 87 ( 3.1%)
📊 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,804€ | Écart: -57.7% | Année: 2018 | Km: 131,159
2. [3147790884] Clio 4 phase 2
Prix: 3,500€ | Attendu: 7,819€ | Écart: -55.2% | Année: 2018 | Km: 130,000
3. [3165548491] Renault clio 4
Prix: 3,500€ | Attendu: 7,454€ | Écart: -53.0% | Année: 2017 | Km: 145,000
4. [3150016687] Clio 4
Prix: 4,000€ | Attendu: 7,781€ | É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,182€ | Écart: -47.1% | Année: 2016 | Km: 153,000
7. [3147329929] Clio 4
Prix: 4,000€ | Attendu: 7,556€ | Écart: -47.1% | Année: 2014 | Km: 100,000
8. [3144664626] Clio 4 retour de vol
Prix: 4,800€ | Attendu: 8,982€ | Écart: -46.6% | Année: 2019 | Km: 55,000
9. [3161045630] Clio 4 75ch
Prix: 4,000€ | Attendu: 6,970€ | Écart: -42.6% | Année: 2016 | Km: 169,000
2026-03-25 14:03:53,735 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 14:03:53,744 [INFO] services.llm_service — Batch 0-28: 28 résultats extraits (modèle=gpt-5-nano)
2026-03-25 14:03:54,147 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:03:54,149 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:03:54,256 [INFO] stats.exporters.to_db — referentiel_prix : 49 segments insérés
2026-03-25 14:03:54,434 [INFO] stats.exporters.to_db — ads.deal_columns : 2852 annonces mises à jour
10. [3138542846] Clio 4 essence retour vol
Prix: 4,500€ | Attendu: 7,721€ | É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,661€ | Écart: +50.2% | Année: 2019 | Km: 380,000
2. [3163754314] Clio 4 initiale paris
Prix: 8,900€ | Attendu: 6,557€ | Écart: +35.7% | Année: 2016 | Km: 200,000
3. [3161126708] RENAULT CLIO IV dCi 110 Initiale Paris | FULL OPTI
Prix: 8,990€ | Attendu: 6,630€ | Écart: +35.6% | Année: 2017 | Km: 207,000
4. [3144046817] Clio 5
Prix: 9,000€ | Attendu: 6,988€ | Écart: +28.8% | Année: 2019 | Km: 205,000
5. [3136191420] Clio IV
Prix: 7,490€ | Attendu: 5,825€ | Écart: +28.6% | Année: 2018 | Km: 280,000
6. [3165923653] RENAULT CLIO IV BUSINESS dCi 90 Energy eco2 82g Bu
Prix: 8,990€ | Attendu: 6,996€ | Écart: +28.5% | Année: 2016 | Km: 166,990
7. [3151967791] Clio 4 initiale Paris
Prix: 8,900€ | Attendu: 6,936€ | Écart: +28.3% | Année: 2017 | Km: 184,000
8. [3155921737] Renault CLIO IV 1.5 DCI 90CH ENERGY BUSINESS 82G 5
Prix: 8,490€ | Attendu: 6,629€ | Écart: +28.1% | Année: 2016 | Km: 194,600
9. [3155418369] Renault CLIO IV 1.5 DCI 90CH ENERGY BUSINESS 82G 5
Prix: 8,490€ | Attendu: 6,629€ | Écart: +28.1% | Année: 2016 | Km: 194,600
10. [3151279318] Clio 4 ÉDITION ONE
Prix: 8,899€ | Attendu: 6,993€ | Écart: +27.3% | 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 : 28
Résultats extraits : 28
Évaluations insérées : 28
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 2,852 │
│ Prix moyen │ 7,596 € │
│ Prix médian │ 7,895 € │
│ Km moyen │ 137,972 km │
│ Km médian │ 134,500 km │
│ Âge moyen │ 8.7 ans │
│ Âge médian │ 9.0 ans │
│ Km/an moyen │ 16,173 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,750 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : renault (2852)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 8,185€
(474 annonces disponibles)
• Prix médian du marché : 7,895€ → cible < 7,106€ 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,895€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 134,500 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (790 annonces) :
Prix : 3,300€ - 6,990€
Âge moyen : 9.1 ans | Km moyen : 171,809
• Milieu de gamme (1356 annonces) :
Prix : 6,999€ - 8,490€
Âge moyen : 8.7 ans | Km moyen : 130,960
• Premium (706 annonces) :
Prix : 8,499€ - 9,000€
Âge moyen : 8.2 ans | Km moyen : 113,578
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #156 créé
🔍 Modèle : clio_4
📎 2852 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.348)
✅ Référentiel prix : 49 segments
✅ Classifications deal : 2852 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 77.4 secondes
📊 2852 annonces analysées (run #156)
🔍 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_140355.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
→ 14 annonces récupérées (total en mémoire: 49)
Export de 49 annonces vers /home/ubuntu/app/leboncoin_ads_yaris_20260325_140355.csv réussi.
Terminé : 49 annonces au total dans /home/ubuntu/app/leboncoin_ads_yaris_20260325_140355.csv
INFO: Model override : yaris
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_yaris_20260325_140355.csv
✅ 49 lus, 49 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 49 lus, 49 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6936 annonces en base
════════════════════════════════════════════════════════════
INFO: 49 list_id lus dans le CSV.
INFO: 50 annonces actives en base pour toyota yaris.
INFO: 1 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_yaris_20260325_140355.csv
Brand : toyota | Modèle : yaris
════════════════════════════════════════════════════════════
Annonces dans le CSV : 49
Annonces actives en DB : 50
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/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,863)
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 7863.415254 8000.000000 1220.555326 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,863 8,000 1,220.56 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,221)
→ É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 14:04:03,847 [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 14:04:03,847 [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,228 8,490 -8.8%
2018 15 7,950 8,500 +3.4%
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,144 8,490 -6.6%
120-160k 43 7,779 7,999 -4.5%
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,228 +3.5%
10 48 7,566 -8.0%
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,900 8,000
📌 Carburant avec prix médian le plus élevé : diesel (8,000€)
📌 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,217 8,490
📌 Test Mann-Whitney (médiane) : p = 0.0072
✅ 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 5.0% (n= 4)
90k : décote -3.4% (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.5% (n= 22) 🐢 LENTE
10 ans : décote 8.0% (n= 48)
11 ans : décote -4.2% (n= 16) 🐢 LENTE
📌 Décote lente (< 5% par an) :
→ 7 ans : 4.0%
→ 9 ans : -3.5%
→ 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.54 × âge + -0.0117 × km + 8,686
📌 R² = 0.128
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 10 ( 8.5%)
👍 Bonne affaire : 8 ( 6.8%)
📊 Prix marché : 73 ( 61.9%)
💰 Cher : 22 ( 18.6%)
🔴 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,541€ | Écart: -66.8% | Année: 2016 | Km: 150,000
2. [3166982116] Toyota yaris
Prix: 3,500€ | Attendu: 7,307€ | Écart: -52.1% | Année: 2016 | Km: 170,000
3. [3152322073] Toyota Yaris 1.0 VVTI PRO EXPORT (0101261)
Prix: 5,250€ | Attendu: 8,689€ | Écart: -39.6% | Année: 2023 | Km: 15,333
4. [3157660912] Toyota Yaris
Prix: 5,500€ | Attendu: 7,898€ | Écart: -30.4% | Année: 2018 | Km: 109,000
5. [3165225181] Toyota yaris
Prix: 5,300€ | Attendu: 7,307€ | Écart: -27.5% | Année: 2016 | Km: 170,000
6. [3166534631] Toyota yaris
Prix: 5,300€ | Attendu: 7,307€ | É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. [3167175989] Toyota Aygo 1.0 VTI x-play
Prix: 5,999€ | Attendu: 7,968€ | Écart: -24.7% | Année: 2018 | Km: 103,000
10. [3165747251] Toyota Yaris
Prix: 7,000€ | Attendu: 9,290€ | Écart: -24.6% | Année: 2016 | Km: 150
🔴 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,068€ | Écart: +25.9% | 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,237€ | Écart: +24.2% | Année: 2016 | Km: 176,000
3. [3163742160] Toyota Yaris 90 D-4D Design 5p style
Prix: 8,990€ | Attendu: 7,376€ | É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,420€ | Écart: +21.2% | Année: 2019 | Km: 144,790
6. [3135900987] TOYOTA YARIS RC18 110 VVT-i COLLECTION
Prix: 8,990€ | Attendu: 7,595€ | Écart: +18.4% | Année: 2018 | Km: 135,000
7. [3151923222] Toyota Yaris 110 VVT-i Design Y20 5p RC19
Prix: 8,990€ | Attendu: 7,630€ | Écart: +17.8% | Année: 2019 | Km: 126,787
8. [3006906577] Toyota Yaris III 69 VVT-i France
Prix: 8,990€ | Attendu: 7,649€ | Écart: +17.5% | Année: 2016 | Km: 140,770
9. [3150673579] Toyota yaris 100 vvt-i dynamic 5p 2016
Prix: 8,990€ | Attendu: 7,681€ | Écart: +17.0% | Année: 2016 | Km: 138,000
2026-03-25 14:04:04,897 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:04:04,901 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:04:04,953 [INFO] stats.exporters.to_db — referentiel_prix : 23 segments insérés
2026-03-25 14:04:04,965 [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,723€ | É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,863 € │
│ Prix médian │ 8,000 € │
│ 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,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 < 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 #157 créé
🔍 Modèle : yaris
📎 118 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.128)
✅ 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 #157)
🔍 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_140405.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_140405.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_140405.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
→ 17 annonces récupérées (total en mémoire: 122)
Export de 122 annonces vers /home/ubuntu/app/leboncoin_ads_i20_20260325_140405.csv réussi.
Terminé : 122 annonces au total dans /home/ubuntu/app/leboncoin_ads_i20_20260325_140405.csv
INFO: Model override : i20
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_i20_20260325_140405.csv
✅ 122 lus, 122 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 122 lus, 122 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6939 annonces en base
════════════════════════════════════════════════════════════
INFO: 122 list_id lus dans le CSV.
INFO: 124 annonces actives en base pour hyundai i20.
INFO: 2 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_i20_20260325_140405.csv
Brand : hyundai | Modèle : i20
════════════════════════════════════════════════════════════
Annonces dans le CSV : 122
Annonces actives en DB : 124
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/i20/figures
🔍 Modèle filtré : i20
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 244 annonces chargées (modèle 'i20')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 244
📋 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-25 14:02:20
Durée : 344 jours
👤 Répartition par type de vendeur :
private : 140 (57.4%)
pro : 104 (42.6%)
⛽ Répartition par carburant :
essence : 199 (81.6%)
diesel : 45 (18.4%)
🏭 Top 10 marques :
hyundai : 244 (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 : 244 / 244
Pourcentage conservé : 100.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 6 outliers (2.5%)
Bornes IQR : [5,125 ; 10,525]
mileage_km : 7 outliers (2.9%)
Bornes IQR : [27,715 ; 216,971]
age_years : 7 outliers (2.9%)
Bornes IQR : [7 ; 12]
📌 Total d'annonces outliers (au moins 1 variable) : 18 (7.4%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 244
Dont outliers identifiés : 18
Annonces non-outliers : 226
Plages de valeurs :
price_eur : [ 3,800 ; 9,000] (moy: 7,768)
mileage_km : [ 95 ; 230,567] (moy: 121,595)
year_model : [ 2,015 ; 2,025] (moy: 2,017)
age_years : [ 1 ; 11] (moy: 9)
km_per_year : [ 12 ; 24,308] (moy: 13,378)
💾 244 annonces enrichies persistées dans SQLite
🔎 Détection des annonces suspectes...
⚠️ 3 signaux de suspicion détectés
km_trop_bas_essence: 1
km_trop_bas_diesel: 2
💾 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 244 7768.254098 7990.000000 1059.144138 3800.000 7150.000 8500.00 9000.000000 1350.000
mileage_km 244 121595.045082 125370.000000 37940.582820 95.000 98686.000 146000.00 230567.000000 47314.000
year_model 244 2016.807377 2017.000000 1.330161 2015.000 2016.000 2017.25 2025.000000 1.250
age_years 244 9.192623 9.000000 1.330161 1.000 8.750 10.00 11.000000 1.250
km_per_year 244 13377.514161 13333.333333 4292.546530 11.875 10479.425 16312.50 24308.166667 5833.075
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 244 7,768 7,990 1,059.14 3,800 7,150 8,500 9,000 1,350
mileage_km 244 121,595 125,370 37,940.58 95 98,686 146,000 230,567 47,314
year_model 244 2,017 2,017 1.33 2,015 2,016 2,017 2,025 1
age_years 244 9.2 9.0 1.33 1.0 8.8 10.0 11.0 1.2
km_per_year 244 13,377.5 13,333.3 4,292.55 11.9 10,479.4 16,312.5 24,308.2 5,833.1
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 14%, σ = 1,059)
→ Étendue : [3,800 ; 9,000] (IQR = 1,350)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 31%, σ = 37,941)
→ Étendue : [95 ; 230,567] (IQR = 47,314)
📌 year_model :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 0%, σ = 1)
→ Étendue : [2,015 ; 2,025] (IQR = 1)
📌 age_years :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 14%, σ = 1)
→ Étendue : [1 ; 11] (IQR = 1)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 32%, σ = 4,293)
→ Étendue : [12 ; 24,308] (IQR = 5,833)
======================================================================
📊 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 14:04:20,284 [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 14:04:20,284 [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 95 7,614 7,900 -0.5%
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 25 8,514 8,700 +4.2%
80-120k 75 8,158 8,490 -4.2%
120-160k 95 7,759 7,900 -4.9%
160-200k 35 6,530 6,200 -15.8%
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 95 7,614 -0.6%
11 25 7,574 -0.5%
📌 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 199 7,896 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 140 7,654 7,900
pro 104 7,922 7,990
📌 Test Mann-Whitney (médiane) : p = 0.0944
❌ 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.7% (n= 11)
70k : décote -3.9% (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.0% (n= 18)
120k : décote 3.3% (n= 30)
130k : décote -1.0% (n= 28)
140k : décote -0.4% (n= 24)
150k : décote -2.1% (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= 95) 🐢 LENTE
11 ans : décote 0.5% (n= 25) 🐢 LENTE
📌 Décote lente (< 5% par an) :
→ 7 ans : 2.6%
→ 8 ans : 3.4%
→ 10 ans : 0.6%
→ 11 ans : 0.5%
✅ Sauvegardé : /home/ubuntu/app/stats/i20/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -110.25 × âge + -0.0128 × km + 10,335
📌 R² = 0.252
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 15 ( 6.1%)
👍 Bonne affaire : 35 ( 14.3%)
📊 Prix marché : 146 ( 59.8%)
💰 Cher : 44 ( 18.0%)
🔴 Très cher : 4 ( 1.6%)
📊 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,768€ | Écart: -51.1% | Année: 2015 | Km: 106,000
2. [3160167161] Hyundai i20 2017
Prix: 4,000€ | Attendu: 7,796€ | Écart: -48.7% | Année: 2017 | Km: 121,054
3. [3132112485] Vend ou échange
Prix: 5,500€ | Attendu: 9,119€ | Écart: -39.7% | 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,192€ | Écart: -30.6% | Année: 2018 | Km: 177,000
6. [3144748405] Hyundai i20 1.2 Go Klima RadioCD
Prix: 4,985€ | Attendu: 7,096€ | Écart: -29.8% | Année: 2017 | Km: 175,866
7. [3141044598] Hyundai i20
Prix: 5,600€ | Attendu: 7,934€ | Écart: -29.4% | Année: 2016 | Km: 101,653
8. [3154012812] Hyundai
Prix: 5,100€ | Attendu: 7,061€ | É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,206€ | Écart: -25.1% | Année: 2016 | Km: 158,600
10. [3157664571] Hyundai i20 1.1 CRDI
Prix: 5,300€ | Attendu: 6,882€ | É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,125€ | Écart: +26.2% | Année: 2016 | Km: 165,000
2. [3164886925] Hyundai i20 Coupé
Prix: 9,000€ | Attendu: 7,363€ | Écart: +22.2% | Année: 2017 | Km: 155,000
3. [3158481657] Hyundai i20
Prix: 8,900€ | Attendu: 7,385€ | Écart: +20.5% | Année: 2016 | Km: 144,600
4. [3109227704] Hyundai i20 crdi 75ch edition navy
Prix: 8,900€ | Attendu: 7,399€ | Écart: +20.3% | Année: 2017 | Km: 152,154
5. [3152500439] Hyundai i20 1.0 T-GDi 100 UEFA EURO 2016
Prix: 8,489€ | Attendu: 7,235€ | Écart: +17.3% | Année: 2016 | Km: 156,400
6. [3151384014] Hyundai i20
Prix: 8,500€ | Attendu: 7,296€ | Écart: +16.5% | 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
Prix: 8,990€ | Attendu: 7,730€ | Écart: +16.3% | Année: 2015 | Km: 109,000
9. [3140396976] HYUNDAI i20 1.1 CRDi 75 Intuitive
2026-03-25 14:04:42,102 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 14:04:42,109 [INFO] services.llm_service — Batch 0-3: 3 résultats extraits (modèle=gpt-5-nano)
2026-03-25 14:04:42,398 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:04:42,401 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:04:42,465 [INFO] stats.exporters.to_db — referentiel_prix : 29 segments insérés
2026-03-25 14:04:42,485 [INFO] stats.exporters.to_db — ads.deal_columns : 244 annonces mises à jour
Prix: 8,900€ | Attendu: 7,687€ | Écart: +15.8% | Année: 2016 | Km: 121,000
10. [3164815335] Hyundai I20 1.2 84 GO NAVI
Prix: 8,990€ | Attendu: 7,828€ | Écart: +14.8% | 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 : 3
Résultats extraits : 3
Évaluations insérées : 3
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 244 │
│ Prix moyen │ 7,768 € │
│ Prix médian │ 7,990 € │
│ Km moyen │ 121,595 km │
│ Km médian │ 125,370 km │
│ Âge moyen │ 9.2 ans │
│ Âge médian │ 9.0 ans │
│ Km/an moyen │ 13,378 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 (244)
======================================================================
💡 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,370 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (61 annonces) :
Prix : 3,800€ - 7,000€
Âge moyen : 9.5 ans | Km moyen : 147,237
• Milieu de gamme (127 annonces) :
Prix : 7,200€ - 8,500€
Âge moyen : 9.2 ans | Km moyen : 121,105
• 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 #158 créé
🔍 Modèle : i20
📎 244 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.252)
✅ Référentiel prix : 29 segments
✅ Classifications deal : 244 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 24.9 secondes
📊 244 annonces analysées (run #158)
🔍 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_140443.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_140443.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_140443.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_140443.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_140443.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_140443.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_140443.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_140443.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_140443.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
→ 32 annonces récupérées (total en mémoire: 347)
Export de 347 annonces vers /home/ubuntu/app/leboncoin_ads_berlingo_20260325_140443.csv réussi.
Terminé : 347 annonces au total dans /home/ubuntu/app/leboncoin_ads_berlingo_20260325_140443.csv
INFO: Model override : berlingo
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_berlingo_20260325_140443.csv
✅ 347 lus, 347 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 347 lus, 347 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6941 annonces en base
════════════════════════════════════════════════════════════
INFO: 347 list_id lus dans le CSV.
INFO: 349 annonces actives en base pour citroen berlingo.
INFO: 2 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_berlingo_20260325_140443.csv
Brand : citroen | Modèle : berlingo
════════════════════════════════════════════════════════════
Annonces dans le CSV : 347
Annonces actives en DB : 349
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
✅ 559 annonces chargées (modèle 'berlingo')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 559
📋 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 14:22:57
Durée : 406 jours
👤 Répartition par type de vendeur :
pro : 453 (81.0%)
private : 106 (19.0%)
⛽ Répartition par carburant :
diesel : 544 (97.3%)
électrique : 10 (1.8%)
essence : 5 (0.9%)
🏭 Top 10 marques :
citroen : 559 (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 : 542 / 559
Pourcentage conservé : 97.0%
🔍 Détection des outliers (méthode IQR)...
price_eur : 7 outliers (1.3%)
Bornes IQR : [-4 ; 28,786]
mileage_km : 4 outliers (0.7%)
Bornes IQR : [-82,232 ; 241,339]
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 : 542
Dont outliers identifiés : 12
Annonces non-outliers : 530
Plages de valeurs :
price_eur : [ 2,800 ; 38,190] (moy: 14,816)
mileage_km : [ 1 ; 309,000] (moy: 83,686)
year_model : [ 2,009 ; 2,025] (moy: 2,021)
age_years : [ 1 ; 17] (moy: 5)
km_per_year : [ 1 ; 56,667] (moy: 14,054)
💾 542 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 542 14815.570111 13800.00 5822.196903 2800.0 10792.500000 17990.00000 38190.000000 7197.500000
mileage_km 542 83686.195572 86180.00 57388.284461 1.0 39107.250000 120000.00000 309000.000000 80892.750000
year_model 542 2020.660517 2020.00 2.744692 2009.0 2019.000000 2023.00000 2025.000000 4.000000
age_years 542 5.339483 6.00 2.744692 1.0 3.000000 7.00000 17.000000 4.000000
km_per_year 542 14053.608916 14406.25 9137.938515 1.0 8623.714286 19368.21875 56666.666667 10744.504464
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 542 14,816 13,800 5,822.20 2,800 10,792 17,990 38,190 7,198
mileage_km 542 83,686 86,180 57,388.28 1 39,107 120,000 309,000 80,893
year_model 542 2,021 2,020 2.74 2,009 2,019 2,023 2,025 4
age_years 542 5.3 6.0 2.74 1.0 3.0 7.0 17.0 4.0
km_per_year 542 14,053.6 14,406.2 9,137.94 1.0 8,623.7 19,368.2 56,666.7 10,744.5
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution asymétrique DROITE (moyenne 14,816 > médiane 13,800)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 39%, σ = 5,822)
→ Étendue : [2,800 ; 38,190] (IQR = 7,198)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ FORTE dispersion (CV = 69%, σ = 57,388)
→ Étendue : [1 ; 309,000] (IQR = 80,893)
📌 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,138)
→ Étendue : [1 ; 56,667] (IQR = 10,745)
2026-03-25 14:05:18,709 [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 14:05:18,709 [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 11 8,126 8,950 +13.0%
2017 35 8,768 8,400 -7.9%
2018 67 10,047 9,490 -14.6%
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 22 21,202 20,735 -16.8%
2025 77 24,825 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 102 23,867 23,545 N/A
20-50k 55 17,363 17,760 -27.3%
50-80k 90 15,242 15,540 -12.2%
80-120k 151 12,480 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 77 24,825 N/A
2 22 21,202 -14.6%
3 40 18,150 -14.4%
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 35 8,768 -12.7%
10 11 8,126 -7.3%
12 2 9,345 +15.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 528 14,817 13,800
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 105 12,288 11,800
pro 437 15,423 13,990
📌 Test Mann-Whitney (médiane) : p = 0.0000
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +2,190€
📊 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 9.0% (n= 39)
110k : décote 6.6% (n= 34)
120k : décote 2.1% (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 : 9.0%
→ 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= 22)
3 ans : décote 14.4% (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.7% (n= 35)
10 ans : décote 7.3% (n= 11)
12 ans : décote -15.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.4%
→ 4 ans : 18.6%
→ 8 ans : 17.1%
→ 9 ans : 12.7%
→ 13 ans : 26.7%
→ 17 ans : 29.9%
📌 Décote lente (< 5% par an) :
→ 5 ans : 3.6%
→ 12 ans : -15.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 = -919.83 × âge + -0.0511 × km + 24,000
📌 R² = 0.774
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 51 ( 9.5%)
👍 Bonne affaire : 94 ( 17.5%)
📊 Prix marché : 279 ( 51.9%)
💰 Cher : 54 ( 10.0%)
🔴 Très cher : 60 ( 11.2%)
📊 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,929€ | É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,121€ | É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,406€ | É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,871€ | Écart: -49.6% | Année: 2022 | Km: 87,146
5. [3156192309] Citroën Berlingo FOURGON XL BLUEHDI 100 S&S ETG6 C
Prix: 2,800€ | Attendu: 5,306€ | Écart: -47.2% | Année: 2017 | Km: 203,997
6. [3156023444] Citroën Berlingo 1.5 BLUEHDI 100 STE XL DRIVER
2026-03-25 14:05:40,298 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 14:05:40,305 [INFO] services.llm_service — Batch 0-2: 2 résultats extraits (modèle=gpt-5-nano)
2026-03-25 14:05:40,594 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:05:40,597 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:05:40,714 [INFO] stats.exporters.to_db — referentiel_prix : 57 segments insérés
2026-03-25 14:05:40,752 [INFO] stats.exporters.to_db — ads.deal_columns : 542 annonces mises à jour
Prix: 8,000€ | Attendu: 15,148€ | É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,108€ | É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,331€ | Écart: -44.0% | Année: 2018 | Km: 25,657
10. [3156133024] Citroën berlingo xl électrique confort isotherme T
Prix: 7,990€ | Attendu: 13,731€ | Écart: -41.8% | 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,323€ | Écart: +353.5% | Année: 2017 | Km: 282,000
2. [3155307735] Citroën berlingo
Prix: 7,000€ | Attendu: 1,805€ | Écart: +287.8% | Année: 2013 | Km: 200,500
3. [3115315205] Citroën Jumpy CAB APPROFONDIE XL BLUEHDI 180 S&S E
Prix: 38,190€ | Attendu: 23,078€ | Écart: +65.5% | Année: 2025 | Km: 40
4. [3140204221] Citroen Berlingo Van XL BlueHDi 100 S&S Cabine App
Prix: 9,490€ | Attendu: 5,770€ | Écart: +64.5% | Année: 2018 | Km: 212,912
5. [3130621009] Citroen BERLINGO XL 1.6 HDI 90 ch CABINE APPROFOND
Prix: 11,490€ | Attendu: 7,039€ | Écart: +63.2% | 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,352€ | Écart: +61.8% | Année: 2018 | Km: 84,000
7. [3097892706] Citroën Berlingo CABINE APPROFONDIE CA TAILLE XL B
Prix: 37,140€ | Attendu: 23,080€ | Écart: +60.9% | Année: 2025 | Km: 1
8. [3156325212] À vendre - Citroën Berlingo rallongée - Boîte auto
Prix: 9,500€ | Attendu: 6,326€ | Écart: +50.2% | Année: 2016 | Km: 166,000
9. [3158708742] Berlingo XL 1.6L bluehdi aménagé
Prix: 15,000€ | Attendu: 10,004€ | Écart: +49.9% | Année: 2018 | Km: 130,000
10. [3109384717] Citroen Berlingo Van XL BlueHDi 100ch S&S Cabine A
Prix: 34,212€ | Attendu: 23,080€ | Écart: +48.2% | 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 : 2
Résultats extraits : 2
Évaluations insérées : 2
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 542 │
│ Prix moyen │ 14,816 € │
│ Prix médian │ 13,800 € │
│ Km moyen │ 83,686 km │
│ Km médian │ 86,180 km │
│ Âge moyen │ 5.3 ans │
│ Âge médian │ 6.0 ans │
│ Km/an moyen │ 14,054 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 18.6% plus cher que les particuliers (médiane)
🔄 Km/an médian : 14,406 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : citroen (542)
======================================================================
💡 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,800€ → cible < 12,420€ 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,800€
• Positionner légèrement sous le marché pour vendre vite (-5% à -10%)
• Les véhicules < 86,180 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (136 annonces) :
Prix : 2,800€ - 10,790€
Âge moyen : 8.0 ans | Km moyen : 140,634
• Milieu de gamme (271 annonces) :
Prix : 10,800€ - 17,990€
Âge moyen : 5.7 ans | Km moyen : 89,422
• Premium (135 annonces) :
Prix : 18,000€ - 38,190€
Âge moyen : 2.0 ans | Km moyen : 14,803
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #159 créé
🔍 Modèle : berlingo
📎 542 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.774)
✅ Référentiel prix : 57 segments
✅ Classifications deal : 542 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 24.9 secondes
📊 542 annonces analysées (run #159)
🔍 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_140541.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_140541.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_140541.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_140541.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
→ 35 annonces récupérées (total en mémoire: 175)
Export de 175 annonces vers /home/ubuntu/app/leboncoin_ads_c4_20260325_140541.csv réussi.
Terminé : 175 annonces au total dans /home/ubuntu/app/leboncoin_ads_c4_20260325_140541.csv
INFO: Model override : c4
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_c4_20260325_140541.csv
✅ 175 lus, 175 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 175 lus, 175 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6947 annonces en base
════════════════════════════════════════════════════════════
INFO: 175 list_id lus dans le CSV.
INFO: 180 annonces actives en base pour citroen c4.
INFO: 5 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_c4_20260325_140541.csv
Brand : citroen | Modèle : c4
════════════════════════════════════════════════════════════
Annonces dans le CSV : 175
Annonces actives en DB : 180
Absentes du crawl : 5
Marquées indisponibles : 5
════════════════════════════════════════════════════════════
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
✅ 295 annonces chargées (modèle 'c4')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 295
📋 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 13:22:24
Durée : 867 jours
👤 Répartition par type de vendeur :
pro : 153 (51.9%)
private : 142 (48.1%)
⛽ Répartition par carburant :
diesel : 164 (55.6%)
essence : 130 (44.1%)
autre : 1 (0.3%)
🏭 Top 10 marques :
citroen : 295 (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 : 294 / 295
Pourcentage conservé : 99.7%
🔍 Détection des outliers (méthode IQR)...
price_eur : 14 outliers (4.8%)
Bornes IQR : [6,219 ; 13,369]
mileage_km : 13 outliers (4.4%)
Bornes IQR : [64,125 ; 187,125]
age_years : 0 outliers (0.0%)
Bornes IQR : [2 ; 14]
📌 Total d'annonces outliers (au moins 1 variable) : 27 (9.2%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 294
Dont outliers identifiés : 27
Annonces non-outliers : 267
Plages de valeurs :
price_eur : [ 3,990 ; 11,000] (moy: 9,528)
mileage_km : [ 186 ; 150,000] (moy: 120,926)
year_model : [ 2,015 ; 2,022] (moy: 2,017)
age_years : [ 4 ; 11] (moy: 9)
km_per_year : [ 17 ; 37,387] (moy: 14,654)
💾 294 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 294 9527.996599 9990.00 1481.872272 3990.000000 8900.0 10687.500000 11000.00 1787.500000
mileage_km 294 120926.312925 129317.50 29259.657038 186.000000 110250.0 141000.000000 150000.00 30750.000000
year_model 294 2017.312925 2017.00 1.780834 2015.000000 2016.0 2019.000000 2022.00 3.000000
age_years 294 8.687075 9.00 1.780834 4.000000 7.0 10.000000 11.00 3.000000
km_per_year 294 14653.896662 14048.75 5051.773040 16.909091 12000.0 16666.666667 37386.75 4666.666667
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 294 9,528 9,990 1,481.87 3,990 8,900 10,688 11,000 1,788
mileage_km 294 120,926 129,318 29,259.66 186 110,250 141,000 150,000 30,750
year_model 294 2,017 2,017 1.78 2,015 2,016 2,019 2,022 3
age_years 294 8.7 9.0 1.78 4.0 7.0 10.0 11.0 3.0
km_per_year 294 14,653.9 14,048.8 5,051.77 16.9 12,000.0 16,666.7 37,386.8 4,666.7
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Faible dispersion (CV = 16%, σ = 1,482)
→ Étendue : [3,990 ; 11,000] (IQR = 1,788)
📌 mileage_km :
→ Distribution asymétrique GAUCHE (moyenne 120,926 < médiane 129,318)
Quelques valeurs basses tirent la moyenne vers le bas.
→ Faible dispersion (CV = 24%, σ = 29,260)
→ Étendue : [186 ; 150,000] (IQR = 30,750)
📌 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 = 20%, σ = 2)
→ Étendue : [4 ; 11] (IQR = 3)
📌 km_per_year :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 34%, σ = 5,052)
→ Étendue : [17 ; 37,387] (IQR = 4,667)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
2026-03-25 14:06:04,706 [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 14:06:04,707 [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 53 8,890 8,999 N/A
2016 62 9,030 9,495 -1.6%
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 22 9,904 10,495 +1.2%
2021 14 10,554 10,745 -6.6%
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 80 9,534 9,990 -6.7%
120-160k 190 9,497 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 22 9,904 -6.2%
7 42 10,028 +1.3%
8 44 9,727 -3.0%
9 55 9,717 -0.1%
10 62 9,030 -7.1%
11 53 8,890 -1.6%
📌 La décote ralentit significativement à 7 ans
📊 Prix par type de carburant...
📋 Table : Prix par carburant
----------------------------------------------------------------------
Carburant Nb Prix moy Prix méd
----------------------------------------------------------------------
diesel 163 9,948 10,000
essence 130 8,998 9,490
📌 Carburant avec prix médian le plus élevé : diesel (10,000€)
📌 Carburant avec prix médian le plus bas : essence (9,490€)
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 141 9,185 9,500
pro 153 9,844 9,990
📌 Test Mann-Whitney (médiane) : p = 0.0037
✅ 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.3% (n= 34)
120k : décote -4.4% (n= 44)
130k : décote 1.1% (n= 62)
140k : décote 3.2% (n= 76)
150k : décote -1.7% (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.2% (n= 22)
7 ans : décote -1.3% (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= 62)
11 ans : décote 1.6% (n= 53) 🐢 LENTE
📌 Décote lente (< 5% par an) :
→ 5 ans : -0.6%
→ 7 ans : -1.3%
→ 8 ans : 3.0%
→ 9 ans : 0.1%
→ 11 ans : 1.6%
✅ Sauvegardé : /home/ubuntu/app/stats/c4/figures/seuils_age.png
======================================================================
📊 IDENTIFICATION DES BONNES AFFAIRES
======================================================================
📊 Construction du modèle de prix attendu...
📌 Modèle : prix = -259.93 × âge + -0.0013 × km + 11,940
📌 R² = 0.098
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 35 ( 11.9%)
👍 Bonne affaire : 28 ( 9.5%)
📊 Prix marché : 153 ( 52.0%)
💰 Cher : 65 ( 22.1%)
🔴 Très cher : 13 ( 4.4%)
📊 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,201€ | Écart: -56.6% | Année: 2016 | Km: 110,000
2. [3144627553] Grand C4 Picasso
Prix: 4,500€ | Attendu: 8,903€ | Écart: -49.5% | Année: 2015 | Km: 140,000
3. [3148620999] C4 Picasso
Prix: 4,600€ | Attendu: 8,900€ | Écart: -48.3% | Année: 2015 | Km: 142,000
4. [3155010351] C4 Picasso
Prix: 4,600€ | Attendu: 8,900€ | Écart: -48.3% | Année: 2015 | Km: 142,000
5. [3167907041] Grand C4 Picasso
Prix: 5,600€ | Attendu: 9,156€ | Écart: -38.8% | Année: 2016 | Km: 144,800
6. [3159599228] Vends C4 Grand Picasso II 7 places
Prix: 6,000€ | Attendu: 9,689€ | Écart: -38.1% | Année: 2018 | Km: 135,000
7. [3148926526] C4 grand Picasso 2l hdi 150cv exclusive
Prix: 5,800€ | Attendu: 9,182€ | Écart: -36.8% | Année: 2016 | Km: 125,000
8. [3158296763] C4 grand Picasso 2l hdi 150 cv pack exclusive
Prix: 5,800€ | Attendu: 9,182€ | Écart: -36.8% | Année: 2016 | Km: 125,000
9. [3167394375] Citroën C4 Picasso 1.2 130
Prix: 5,900€ | Attendu: 9,222€ | Écart: -36.0% | Année: 2016 | Km: 93,250
10. [3159003549] Vends CITROEN GRAND C4 PICASSO Intensive
Prix: 5,900€ | Attendu: 9,165€ | Écart: -35.6% | Année: 2016 | Km: 138,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,890€ | Écart: +23.6% | Année: 2015 | Km: 149,900
2. [3146221969] Citroen C4 Grand Picasso 7 Places - 2.0 BlueHDi 15
Prix: 10,990€ | Attendu: 8,900€ | Écart: +23.5% | Année: 2015 | Km: 142,000
3. [2934302132] Citroen Grand C4 Picasso PureTech 130ch Confort S&
Prix: 10,990€ | Attendu: 8,923€ | Écart: +23.2% | Année: 2015 | Km: 123,901
4. [3136798926] Grand C4 Picasso 120 HDI
Prix: 11,000€ | Attendu: 8,933€ | É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,936€ | Écart: +23.0% | Année: 2015 | Km: 113,981
6. [3138161286] Citroën C4 PICASSO II Exclusive 2.0 BLUEHDI 150CV
2026-03-25 14:06:22,964 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 14:06:22,971 [INFO] services.llm_service — Batch 0-6: 6 résultats extraits (modèle=gpt-5-nano)
2026-03-25 14:06:23,268 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:06:23,272 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:06:23,328 [INFO] stats.exporters.to_db — referentiel_prix : 25 segments insérés
2026-03-25 14:06:23,352 [INFO] stats.exporters.to_db — ads.deal_columns : 294 annonces mises à jour
Prix: 10,990€ | Attendu: 8,944€ | Écart: +22.9% | Année: 2015 | Km: 107,256
7. [3161244489] Citroën Grand C4 Picasso e-HDi 115 Exclusive ETG6
Prix: 10,980€ | Attendu: 9,020€ | Écart: +21.7% | 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,155€ | Écart: +20.2% | Année: 2016 | Km: 146,230
10. [3071933719] Citroën C4 grand Picasso
Prix: 11,000€ | Attendu: 9,156€ | É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 : 6
Résultats extraits : 6
Évaluations insérées : 6
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 294 │
│ Prix moyen │ 9,528 € │
│ Prix médian │ 9,990 € │
│ Km moyen │ 120,926 km │
│ Km médian │ 129,318 km │
│ Âge moyen │ 8.7 ans │
│ Âge médian │ 9.0 ans │
│ Km/an moyen │ 14,654 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,049 km → Profil dominant : 10-15k (Normal)
🏭 Top 3 marques = 100% du marché : citroen (294)
======================================================================
💡 RECOMMANDATIONS
======================================================================
🛒 POUR UN ACHETEUR :
--------------------------------------------------
• Sweet spot : véhicules de 5-8 ans, 60-120k km
Prix moyen dans cette fourchette : 9,959€
(49 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,318 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (75 annonces) :
Prix : 3,990€ - 8,900€
Âge moyen : 9.5 ans | Km moyen : 119,580
• Milieu de gamme (145 annonces) :
Prix : 8,980€ - 10,650€
Âge moyen : 8.4 ans | Km moyen : 122,756
• Premium (74 annonces) :
Prix : 10,700€ - 11,000€
Âge moyen : 8.3 ans | Km moyen : 118,706
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #160 créé
🔍 Modèle : c4
📎 294 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 : 294 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 21.4 secondes
📊 294 annonces analysées (run #160)
🔍 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_140624.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_140624.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_140624.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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_140636.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
→ 15 annonces récupérées (total en mémoire: 1065)
Export de 1065 annonces vers /home/ubuntu/app/leboncoin_ads_5008_20260325_140636.csv réussi.
Terminé : 1065 annonces au total dans /home/ubuntu/app/leboncoin_ads_5008_20260325_140636.csv
INFO: Model override : 5008
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_5008_20260325_140636.csv
✅ 1065 lus, 1065 insérés, 0 ignorés, 0 erreurs
────────────────────────────────────────────────────────────
📊 TOTAL : 1065 lus, 1065 insérés
💾 Base : /home/ubuntu/app/db/lbc.sqlite
📌 6961 annonces en base
════════════════════════════════════════════════════════════
INFO: 1047 list_id lus dans le CSV.
INFO: 1078 annonces actives en base pour peugeot 5008.
INFO: 31 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_5008_20260325_140636.csv
Brand : peugeot | Modèle : 5008
════════════════════════════════════════════════════════════
Annonces dans le CSV : 1047
Annonces actives en DB : 1078
Absentes du crawl : 31
Marquées indisponibles : 31
════════════════════════════════════════════════════════════
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
✅ 1742 annonces chargées (modèle '5008')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 1742
📋 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 14:56:20
Durée : 657 jours
👤 Répartition par type de vendeur :
private : 1136 (65.2%)
pro : 606 (34.8%)
⛽ Répartition par carburant :
diesel : 1600 (91.8%)
essence : 141 (8.1%)
hybride : 1 (0.1%)
🏭 Top 10 marques :
peugeot : 1742 (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 : 1740 / 1742
Pourcentage conservé : 99.9%
🔍 Détection des outliers (méthode IQR)...
price_eur : 0 outliers (0.0%)
Bornes IQR : [-469 ; 12,781]
mileage_km : 37 outliers (2.1%)
Bornes IQR : [62,659 ; 348,312]
age_years : 1 outliers (0.1%)
Bornes IQR : [5 ; 21]
📌 Total d'annonces outliers (au moins 1 variable) : 38 (2.2%)
⚠️ Les outliers sont identifiés mais NON supprimés.
======================================================================
📊 RÉSUMÉ APRÈS NETTOYAGE
======================================================================
Nombre d'annonces restantes : 1740
Dont outliers identifiés : 38
Annonces non-outliers : 1702
Plages de valeurs :
price_eur : [ 700 ; 11,000] (moy: 6,259)
mileage_km : [ 1 ; 410,000] (moy: 206,680)
year_model : [ 2,009 ; 2,022] (moy: 2,013)
age_years : [ 4 ; 17] (moy: 13)
km_per_year : [ 0 ; 53,776] (moy: 16,280)
💾 1740 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 1740 6259.189080 5990.000000 2322.544523 700.000000 4500.000000 7812.500000 11000.000000 3312.50
mileage_km 1740 206680.128736 208000.000000 56758.436014 1.000000 169779.250000 241192.500000 410000.000000 71413.25
year_model 1740 2012.977011 2012.000000 2.490128 2009.000000 2011.000000 2015.000000 2022.000000 4.00
age_years 1740 13.022989 14.000000 2.490128 4.000000 11.000000 15.000000 17.000000 4.00
km_per_year 1740 16280.285552 15792.857143 5008.667384 0.111111 13338.333333 18533.333333 53776.166667 5195.00
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 1,740 6,259 5,990 2,322.54 700 4,500 7,812 11,000 3,312
mileage_km 1,740 206,680 208,000 56,758.44 1 169,779 241,192 410,000 71,413
year_model 1,740 2,013 2,012 2.49 2,009 2,011 2,015 2,022 4
age_years 1,740 13.0 14.0 2.49 4.0 11.0 15.0 17.0 4.0
km_per_year 1,740 16,280.3 15,792.9 5,008.67 0.1 13,338.3 18,533.3 53,776.2 5,195.0
📝 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,312)
📌 mileage_km :
→ Distribution relativement SYMÉTRIQUE (moyenne ≈ médiane)
→ Dispersion MODÉRÉE (CV = 27%, σ = 56,758)
→ Étendue : [1 ; 410,000] (IQR = 71,413)
📌 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,009)
→ Étendue : [0 ; 53,776] (IQR = 5,195)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
======================================================================
2026-03-25 14:08:34,628 [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 14:08:34,629 [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 265 4,499 4,470 +0.2%
2011 301 4,884 4,990 -8.5%
2012 286 5,460 5,494 -11.8%
2013 214 5,877 5,500 -7.6%
2014 165 6,986 6,990 -18.9%
2015 146 7,886 7,990 -12.9%
2016 173 8,049 7,990 -2.1%
2017 66 9,674 10,000 -20.2%
2018 49 9,909 10,490 -2.4%
2019 29 10,483 10,500 -5.8%
2020 13 9,558 9,990 +8.8%
📌 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 254 8,536 8,990 -1.5%
160-200k 433 7,094 6,990 -16.9%
200k+ 974 5,145 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 29 10,483 +9.7%
8 49 9,909 -5.5%
9 66 9,674 -2.4%
10 173 8,049 -16.8%
11 146 7,886 -2.0%
12 165 6,986 -11.4%
13 214 5,877 -15.9%
14 286 5,460 -7.1%
15 301 4,884 -10.6%
16 265 4,499 -7.9%
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 1599 6,118 5,900
essence 140 7,848 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 1135 5,838 5,500
pro 605 7,049 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= 76) ⚡
150k : décote 3.8% (n= 85)
160k : décote 1.0% (n=104)
170k : décote 4.8% (n=114)
180k : décote 10.9% (n=109) ⚡
190k : décote 2.5% (n=106)
200k : décote 4.1% (n=124)
210k : décote 2.5% (n=131)
220k : décote 6.2% (n=134)
230k : décote 6.3% (n=114)
240k : décote -1.0% (n=120)
250k : décote 8.4% (n= 71)
260k : décote 9.8% (n= 69)
270k : décote 8.7% (n= 53)
280k : décote -17.9% (n= 34)
290k : décote 27.2% (n= 30) ⚡
300k+ : décote 6.9% (n= 94)
📌 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.9%
→ 250k km : 8.4%
→ 260k km : 9.8%
→ 270k km : 8.7%
→ 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.7% (n= 29) 🐢 LENTE
8 ans : décote 5.5% (n= 49)
9 ans : décote 2.4% (n= 66) 🐢 LENTE
10 ans : décote 16.8% (n=173) ⚡ FORTE
11 ans : décote 2.0% (n=146) 🐢 LENTE
12 ans : décote 11.4% (n=165)
13 ans : décote 15.9% (n=214) ⚡ FORTE
14 ans : décote 7.1% (n=286)
15 ans : décote 10.6% (n=301)
16 ans : décote 7.9% (n=265)
17 ans : décote -0.2% (n= 31) 🐢 LENTE
📌 Décote rapide (> 10% par an) :
→ 10 ans : 16.8%
→ 12 ans : 11.4%
→ 13 ans : 15.9%
→ 15 ans : 10.6%
📌 Décote lente (< 5% par an) :
→ 7 ans : -9.7%
→ 9 ans : 2.4%
→ 11 ans : 2.0%
→ 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.13 × âge + -0.0173 × km + 16,651
📌 R² = 0.655
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 268 ( 15.4%)
👍 Bonne affaire : 247 ( 14.2%)
📊 Prix marché : 680 ( 39.1%)
💰 Cher : 231 ( 13.3%)
🔴 Très cher : 314 ( 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,703€ | Écart: -82.5% | Année: 2014 | Km: 270,000
2. [3166827215] Voiture entiere avec moteur qui claque
Prix: 900€ | Attendu: 4,435€ | Écart: -79.7% | Année: 2010 | Km: 222,000
3. [3098662962] Peugeot 5008 hdi
Prix: 1,900€ | Attendu: 8,720€ | Écart: -78.2% | Année: 2016 | Km: 155,900
4. [3163979849] Opel Corsa 2009 232000km
Prix: 1,900€ | Attendu: 8,455€ | Écart: -77.5% | Année: 2018 | Km: 232,000
5. [3161987772] 5008 7 places
Prix: 1,000€ | Attendu: 4,130€ | Écart: -75.8% | Année: 2011 | Km: 270,000
6. [3154103448] Vend Peugeot 5008 dans l etat
Prix: 1,000€ | Attendu: 4,038€ | Écart: -75.2% | Année: 2010 | Km: 245,000
7. [3145452074] Peugeot 5008
Prix: 1,000€ | Attendu: 3,671€ | Écart: -72.8% | Année: 2012 | Km: 327,000
2026-03-25 14:09:28,119 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 14:09:28,126 [INFO] services.llm_service — Batch 0-14: 14 résultats extraits (modèle=gpt-5-nano)
2026-03-25 14:09:28,476 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:09:28,479 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:09:28,617 [INFO] stats.exporters.to_db — referentiel_prix : 67 segments insérés
2026-03-25 14:09:28,727 [INFO] stats.exporters.to_db — ads.deal_columns : 1740 annonces mises à jour
8. [3151017355] Vends Peugeot 5008 a spécialiste
Prix: 1,500€ | Attendu: 5,345€ | Écart: -71.9% | Année: 2012 | Km: 230,000
9. [3154289763] 5008 essence sur l'état
Prix: 1,700€ | Attendu: 6,034€ | Écart: -71.8% | Année: 2011 | Km: 159,660
10. [3162529124] Peugeot 5008
Prix: 1,500€ | Attendu: 5,110€ | Écart: -70.6% | 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,703€ | Écart: +102.5% | Année: 2009 | Km: 234,000
2. [3152738100] Peugeot 5008 2l hdi 150cv
Prix: 8,000€ | Attendu: 4,338€ | Écart: +84.4% | Année: 2010 | Km: 227,600
3. [3126969597] Peugeot 5008
Prix: 4,200€ | Attendu: 2,306€ | Écart: +82.2% | Année: 2009 | Km: 315,000
4. [3157618424] Peugeot 5008
Prix: 3,500€ | Attendu: 1,967€ | Écart: +77.9% | Année: 2010 | Km: 365,000
5. [3165438627] Vend peugeot 5008 1l6 hdi année 2009
Caroserie 31
Prix: 4,000€ | Attendu: 2,254€ | Écart: +77.5% | Année: 2009 | Km: 318,000
6. [3126598226] Peugeot 5008 1.6 hdi fap confort pack 7pl
Prix: 7,990€ | Attendu: 4,529€ | Écart: +76.4% | Année: 2010 | Km: 216,500
7. [3155918327] Peugeot 5008
Prix: 6,500€ | Attendu: 3,703€ | Écart: +75.5% | Année: 2009 | Km: 234,000
8. [3147840406] Peugeot 5008 1.6 HDi Premium 7Places
Prix: 6,990€ | Attendu: 4,020€ | Écart: +73.9% | Année: 2010 | Km: 246,000
9. [3159646980] PEUGEOT 5008 2.0 HDI 163cv
Prix: 7,500€ | Attendu: 4,396€ | Écart: +70.6% | 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%)...
⚠️ 85 annonces avec prix suspect
💾 85 signaux prix persistés dans SQLite
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 14
Résultats extraits : 14
Évaluations insérées : 14
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 1,740 │
│ Prix moyen │ 6,259 € │
│ Prix médian │ 5,990 € │
│ Km moyen │ 206,680 km │
│ Km médian │ 208,000 km │
│ Âge moyen │ 13.0 ans │
│ Âge médian │ 14.0 ans │
│ Km/an moyen │ 16,280 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,793 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : peugeot (1740)
======================================================================
💡 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 < 208,000 km se vendent mieux
• Mettre en avant un faible km/an si applicable
🎯 SEGMENTS DE MARCHÉ :
--------------------------------------------------
• Budget (443 annonces) :
Prix : 700€ - 4,500€
Âge moyen : 14.8 ans | Km moyen : 255,600
• Milieu de gamme (862 annonces) :
Prix : 4,590€ - 7,800€
Âge moyen : 13.4 ans | Km moyen : 204,722
• Premium (435 annonces) :
Prix : 7,850€ - 11,000€
Âge moyen : 10.4 ans | Km moyen : 160,741
======================================================================
💾 EXPORT DES RÉSULTATS EN BASE SQLite
======================================================================
📌 Run #161 créé
🔍 Modèle : 5008
📎 1740 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.655)
✅ Référentiel prix : 67 segments
✅ Classifications deal : 1740 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 57.0 secondes
📊 1740 annonces analysées (run #161)
🔍 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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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_140929.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
→ 16 annonces récupérées (total en mémoire: 1486)
Export de 1486 annonces vers /home/ubuntu/app/leboncoin_ads_fiesta_20260325_140929.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_141207.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_141207.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_141207.csv réussi.
Terminé : 100 annonces au total dans /home/ubuntu/app/leboncoin_ads_nv200_20260325_141207.csv
INFO: Model override : nv200
INFO: Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
════════════════════════════════════════════════════════════
📦 MIGRATION CSV → SQLite unifié
════════════════════════════════════════════════════════════
📂 leboncoin_ads_nv200_20260325_141207.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
📌 6963 annonces en base
════════════════════════════════════════════════════════════
INFO: 100 list_id lus dans le CSV.
INFO: 102 annonces actives en base pour nissan nv200.
INFO: 2 annonce(s) marquées indisponibles.
════════════════════════════════════════════════════════════
CHECK DISPONIBILITÉ
CSV : leboncoin_ads_nv200_20260325_141207.csv
Brand : nissan | Modèle : nv200
════════════════════════════════════════════════════════════
Annonces dans le CSV : 100
Annonces actives en DB : 102
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/nv200/figures
🔍 Modèle filtré : nv200
📊 Graphiques : Non
══════════════════════════════════════════════════════════════════════
📂 Chargement depuis SQLite : /home/ubuntu/app/db/lbc.sqlite
✅ 193 annonces chargées (modèle 'nv200')
======================================================================
📊 EXPLORATION DES DONNÉES BRUTES
======================================================================
📌 Nombre total d'annonces : 193
📋 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-25 11:27:38
Durée : 543 jours
👤 Répartition par type de vendeur :
private : 134 (69.4%)
pro : 59 (30.6%)
⛽ Répartition par carburant :
diesel : 193 (100.0%)
🏭 Top 10 marques :
nissan : 193 (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 : 193 / 193
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 : [-38,676 ; 365,092]
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 : 193
Dont outliers identifiés : 2
Annonces non-outliers : 191
Plages de valeurs :
price_eur : [ 2,000 ; 19,990] (moy: 8,573)
mileage_km : [ 1 ; 420,000] (moy: 165,025)
year_model : [ 2,009 ; 2,019] (moy: 2,015)
age_years : [ 7 ; 17] (moy: 11)
km_per_year : [ 0 ; 30,000] (moy: 14,861)
💾 193 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 193 8572.709845 8000.0 3679.209741 2000.000000 5500.0000 10990.00 19990.0 5490.0000
mileage_km 193 165025.181347 154000.0 70280.195831 1.000000 112737.0000 213679.00 420000.0 100942.0000
year_model 193 2014.751295 2015.0 2.698439 2009.000000 2013.0000 2017.00 2019.0 4.0000
age_years 193 11.248705 11.0 2.698439 7.000000 9.0000 13.00 17.0 4.0000
km_per_year 193 14860.545508 13800.0 5886.786135 0.066667 10432.9375 18495.75 30000.0 8062.8125
📊 Tableau formaté :
Variable Count Mean Median Std Min Q1 Q3 Max IQR
price_eur 193 8,573 8,000 3,679.21 2,000 5,500 10,990 19,990 5,490
mileage_km 193 165,025 154,000 70,280.20 1 112,737 213,679 420,000 100,942
year_model 193 2,015 2,015 2.70 2,009 2,013 2,017 2,019 4
age_years 193 11.2 11.0 2.70 7.0 9.0 13.0 17.0 4.0
km_per_year 193 14,860.5 13,800.0 5,886.79 0.1 10,432.9 18,495.8 30,000.0 8,062.8
📝 INTERPRÉTATION DES STATISTIQUES :
--------------------------------------------------
📌 price_eur :
→ Distribution asymétrique DROITE (moyenne 8,573 > médiane 8,000)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 43%, σ = 3,679)
→ Étendue : [2,000 ; 19,990] (IQR = 5,490)
📌 mileage_km :
→ Distribution asymétrique DROITE (moyenne 165,025 > médiane 154,000)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 43%, σ = 70,280)
→ Étendue : [1 ; 420,000] (IQR = 100,942)
📌 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,861 > médiane 13,800)
Quelques valeurs élevées tirent la moyenne vers le haut.
→ Dispersion MODÉRÉE (CV = 40%, σ = 5,887)
→ Étendue : [0 ; 30,000] (IQR = 8,063)
======================================================================
📊 DISTRIBUTIONS PAR CATÉGORIES
======================================================================
📊 Prix moyen par année modèle...
2026-03-25 14:12:18,141 [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 14:12:18,142 [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.
📋 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 25 8,823 8,800 -21.5%
2015 13 8,429 9,000 +4.5%
2016 27 8,817 8,000 -4.6%
2017 22 10,629 9,895 -20.6%
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+ 59 5,519 5,200 -19.4%
📊 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 27 8,817 -17.0%
11 13 8,429 -4.4%
12 25 8,823 +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 193 8,573 8,000
📊 Prix par type de vendeur...
📋 Table : Prix par type de vendeur
------------------------------------------------------------
Type Nb Prix moy Prix méd
------------------------------------------------------------
private 134 8,015 7,500
pro 59 9,839 9,890
📌 Test Mann-Whitney (médiane) : p = 0.0008
✅ Différence SIGNIFICATIVE (p < 0.05)
📌 Écart médian Pro - Particulier : +2,390€
📊 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 -3.1% (n= 7)
210k : décote 21.8% (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.8%
→ 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 17.0% (n= 27) ⚡ FORTE
11 ans : décote 4.4% (n= 13)
12 ans : décote -4.7% (n= 25) 🐢 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 : 17.0%
→ 13 ans : 17.7%
→ 15 ans : 22.6%
→ 17 ans : 24.4%
📌 Décote lente (< 5% par an) :
→ 8 ans : -4.2%
→ 11 ans : 4.4%
→ 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 = -456.32 × âge + -0.0299 × km + 18,635
📌 R² = 0.602
📊 Calcul des écarts de prix...
📋 Classification des annonces :
🌟 Excellente affaire : 36 ( 18.8%)
👍 Bonne affaire : 36 ( 18.8%)
📊 Prix marché : 65 ( 33.9%)
💰 Cher : 23 ( 12.0%)
🔴 Très cher : 32 ( 16.7%)
📊 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,790€ | Écart: -83.0% | Année: 2011 | Km: 1
2. [3159812831] Vend utilitaires nv200 nissan
Prix: 2,000€ | Attendu: 6,712€ | Écart: -70.2% | Année: 2011 | Km: 170,000
3. [3160668277] Nissan nv 200
Prix: 3,000€ | Attendu: 7,087€ | Écart: -57.7% | Année: 2013 | Km: 188,000
4. [3164906877] Nissan
Prix: 3,500€ | Attendu: 6,604€ | Écart: -47.0% | Année: 2016 | Km: 250,000
5. [3109648143] Nissan nv200 1.5 dci turbo
Prix: 3,990€ | Attendu: 6,989€ | Écart: -42.9% | Année: 2012 | Km: 176,000
6. [3154995725] Nissan NV200 Fourgon 1.5 DCi 110ch BVM5 Optima - 2
Prix: 4,000€ | Attendu: 6,771€ | Écart: -40.9% | Année: 2014 | Km: 213,880
7. [3116605709] Nissan NV200
Prix: 4,500€ | Attendu: 7,608€ | Écart: -40.9% | Année: 2011 | Km: 140,000
8. [3127367839] Nissan NV200 1.5 DCI
Prix: 5,490€ | Attendu: 8,801€ | Écart: -37.6% | Année: 2014 | Km: 145,899
9. [3142568361] Nissan nv 200 1.5 90ch
Prix: 5,200€ | Attendu: 8,307€ | Écart: -37.4% | Année: 2016 | Km: 193,000
10. [3167556865] Utilitaire camionnette
Prix: 4,700€ | Attendu: 7,220€ | Écart: -34.9% | Année: 2011 | Km: 153,000
🔴 TOP 10 ANNONCES SURÉVALUÉES (écart le plus positif) :
2026-03-25 14:12:33,078 [INFO] httpx — HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-03-25 14:12:33,086 [INFO] services.llm_service — Batch 0-2: 2 résultats extraits (modèle=gpt-5-nano)
2026-03-25 14:12:33,384 [INFO] stats.exporters.to_db — stats_descriptives : 5 lignes insérées
2026-03-25 14:12:33,387 [INFO] stats.exporters.to_db — modele_regression : 2 lignes insérées
2026-03-25 14:12:33,488 [INFO] stats.exporters.to_db — referentiel_prix : 45 segments insérés
2026-03-25 14:12:33,507 [INFO] stats.exporters.to_db — ads.deal_columns : 193 annonces mises à jour
====================================================================================================
1. [3156635875] Nissan NV200
Prix: 3,500€ | Attendu: 551€ | Écart: +535.2% | Année: 2010 | Km: 361,000
2. [3154023820] Camion
Prix: 3,500€ | Attendu: 730€ | Écart: +379.3% | Année: 2010 | Km: 355,000
3. [3153372541] Nissan nv 200
Prix: 10,500€ | Attendu: 5,534€ | Écart: +89.7% | Année: 2013 | Km: 240,000
4. [3114600758] Van
Prix: 18,500€ | Attendu: 10,232€ | Écart: +80.8% | Année: 2014 | Km: 98,000
5. [3156516616] 🚐 Nissan NV200 aménagé – Prêt à voyager
Prix: 9,300€ | Attendu: 5,727€ | Écart: +62.4% | Année: 2011 | Km: 203,000
6. [3158536730] Véhicule aménagé
Prix: 13,500€ | Attendu: 8,363€ | Écart: +61.4% | Année: 2012 | Km: 130,000
7. [3083668151] Nissan NV200 1.5 DCI 90CH VAN AMENAGE
Prix: 14,999€ | Attendu: 9,544€ | É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,599€ | Écart: +51.8% | 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 : 2
Résultats extraits : 2
Évaluations insérées : 2
======================================================================
📊 TABLEAU DE BORD RÉCAPITULATIF
======================================================================
┌──────────────────────────────────────────────────┐
│ Nombre total d'annonces │ 193 │
│ Prix moyen │ 8,573 € │
│ Prix médian │ 8,000 € │
│ Km moyen │ 165,025 km │
│ Km médian │ 154,000 km │
│ Âge moyen │ 11.2 ans │
│ Âge médian │ 11.0 ans │
│ Km/an moyen │ 14,861 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 31.9% plus cher que les particuliers (médiane)
🔄 Km/an médian : 13,800 km → Profil dominant : 15-25k (Intensif)
🏭 Top 3 marques = 100% du marché : nissan (193)
======================================================================
💡 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 < 154,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 (95 annonces) :
Prix : 5,800€ - 10,990€
Âge moyen : 10.9 ans | Km moyen : 160,146
• 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 #162 créé
🔍 Modèle : nv200
📎 193 annonces liées au run
✅ Stats descriptives : 5 variables
✅ Modèle régression : 2 coefficients (R²=0.602)
✅ Référentiel prix : 45 segments
✅ Classifications deal : 193 annonces
💾 Tout exporté dans /home/ubuntu/app/db/lbc.sqlite
══════════════════════════════════════════════════════════════════════
✅ ANALYSE TERMINÉE en 18.1 secondes
📊 193 annonces analysées (run #162)
🔍 Modèle : nv200
💾 Base SQLite : /home/ubuntu/app/db/lbc.sqlite
📁 Figures : /home/ubuntu/app/stats/nv200/figures
══════════════════════════════════════════════════════════════════════
======================================================================
M05 — Extraction LLM des titres (GPT-5 Nano)
======================================================================
Annonces sans évaluation LLM : 0
Toutes les annonces ont déjà été analysées.
============================================================
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_140000.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_clio_4_20260325_140000.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_140000.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_140355.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_yaris_20260325_140355.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_140355.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_140405.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_i20_20260325_140405.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_140405.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_140443.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_berlingo_20260325_140443.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_140443.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_140541.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_c4_20260325_140541.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_140541.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_140636.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_5008_20260325_140636.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_140636.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_141207.csv
$ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_nv200_20260325_141207.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_141207.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-25T14:12:34.614194
Duration: 754.6s
STATUS:SUCCESS