Comparer des zones de chalandise
zone_compareCompare de 2 à 10 zones de chalandise en un seul appel et mesure leur cannibalisation. Pour chaque zone, rend exactement ce que zone_stats rend (population, menages, niveau_de_vie_moyen, ages, sexe, menages_profil, logements, csp, potentiel_depense, immobilier, activites, carreaux, source, attribution — voir cet outil pour le sens de chaque bloc), plus id et exclusif : la population, les ménages et le potentiel que la zone est SEULE à couvrir, calculés comme « la zone moins l'union de toutes les autres » — jamais « total moins les paires », qui à trois zones et plus retrancherait deux fois un triple recouvrement ; exclusif.part_population en pour cent de la population de la zone. Entre zones : chevauchements, une entrée par paire qui se recouvre (population, ménages et potentiel comptés deux fois ; une paire disjointe n'apparaît pas), et classement, tous les identifiants triés sur rank_by décroissant : population (défaut), exclusive_population, theoretical_potential ou exclusive_potential — ces deux derniers exigent coefficient. Chaque élément de zones se décrit comme sur zone_stats : un centre (address, un nom de commune suffit, OU lat+lon WGS84, jamais les deux) et UNE portée, soit minutes (1 à 30) avec mode car (défaut), walking ou cycling et, en voiture, traffic free (défaut) ou peak (heure de pointe du matin, vitesses modélisées, pas de trafic temps réel — refusé à pied et à vélo, et pouvant répondre « indisponible » si la plateforme ne l'a pas encore ouvert), soit radius_km (1 à 50) à vol d'oiseau ; plus un id optionnel (1 à 40 caractères, lettres, chiffres, _, -, unique dans l'appel) repris dans la réponse, le classement et les erreurs — sans id, la position à partir de 1. reference : france (défaut) ou department — UN réglage pour DEUX blocs : l'indice de chaque poste CSP et celui de chaque poste d'activites sont alors rapportés au département qui pèse le plus dans la zone (csp.reference.code, activites.reference.code, et leurs libellés respectifs csp.reference.libelle / activites.reference.libelle, null en référence France). coefficient (0 exclu à 1) : la part du revenu disponible que le secteur capte, appliquée à toutes les zones, à leurs exclusifs et aux paires ; il déclenche potentiel_theorique = revenu disponible estimé × coefficient — une estimation, un potentiel théorique, pas une prévision de chiffre d'affaires ; sans coefficient il vaut null, une valeur qui ne s'invente pas. Le guide « Zone de chalandise » donne des repères par fonction de consommation (restauration ≈ 0,048). La CSP est elle aussi une estimation : aucun indice n'est exploitable sur une zone dont csp.fiabilite.indices_fiables est faux. Comme sur zone_stats, un poste dont la part est inférieure à csp.fiabilite.part_min (0,5 %) rend indice: null — un refus de servir, pas une donnée manquante ; effectif et part restent valides — ne jamais reconstituer l'indice à partir de leur rapport avec reference_part non plus. reference_part donne la part du même poste sur la référence : citer les deux parts côte à côte plutôt qu'un écart — un indice de 82 est un écart de 18 %, pas de 18 points. Le bloc activites est rendu pour chaque zone, identique à celui de zone_stats : c'est un PLANCHER d'établissements actifs et géolocalisés — ne jamais le présenter comme exhaustif, ni appeler ces établissements des concurrents ; d'une zone à l'autre, comparer les indice plutôt que les effectifs, le sous-compte s'y annulant en grande partie. exclusif et chevauchements ne portent PAS d'établissements : population, ménages et potentiel seulement. Une zone inatteignable (isochrone sans contour) rend des zéros, n'entre dans aucune paire et se classe dernière ; plafond de surface 10 000 km² par zone. Plan minimum : Growth ; un appel compté quel que soit le nombre de zones ; dix isochrones prennent une à deux secondes. attribution accompagne tout chiffre cité (INSEE Filosofi et Recensement de la population ; IGN Contours IRIS ; SIRENE (INSEE) pour les établissements du bloc activites ; DGFiP DVF pour les prix immobiliers ; OpenStreetMap ODbL dès qu'une zone est une isochrone).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| zones | Yes | De 2 à 10 zones, chacune avec les arguments de zone_stats (centre + `minutes` ou `radius_km`) et un `id` optionnel. | |
| rank_by | No | Critère du classement : `population` (défaut), `exclusive_population`, `theoretical_potential` ou `exclusive_potential` — ces deux derniers exigent `coefficient`. | |
| reference | No | Référentiel des indices de chaque zone — UN réglage pour DEUX blocs, `csp` et `activites` : `france` (défaut) ou `department`. | |
| coefficient | No | Part du revenu disponible que le secteur capte (0 exclu à 1), appliquée à toutes les zones, exclusifs et paires ; requis par les critères de potentiel. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||