Résultats
—
D'où viennent ces données
Deux exports bruts, un script, un fichier embarqué — rien d'autre
1 · Deux exports
age_et_perspectives_stats-01_08_26_TO_31_08_26.csv — 42 Mo,
213 525 événements du parcours SVI (12 colonnes, enregistrements séparés
par \r).
statistiques_appels_20260801_20260831.xlsx — 84 Mo,
25 752 lignes du journal des groupes d'appel du CX (22 colonnes).
2 · tools/build_data.py
Regroupe les événements par ID_COM pour reconstituer un appel,
classe l'issue, normalise les numéros, puis rapproche les deux sources par les
numéros (switch_did d'un groupe public ↔ entrée SVI d'une agence).
- 25 752 → 25 745 lignes de journal : 7 lignes du groupe « Coordinatrices » sur le 04 58 17 02 87 sont écartées, ce numéro n'étant rattaché à aucune agence.
- aucun appel SVI n'est perdu.
3 · data/data.js
Un seul objet window.ORDAGO_DATA (~1,5 Mo), chargé par
<script> : pas de requête réseau, pas de base. Les tables ne
stockent que des entiers — chaque libellé est rangé une fois dans une
nomenclature.
Volumétrie embarquée
Comment les tables se relient
Une flèche = un index stocké dans la table de départ ; cliquer une boîte ouvre son dictionnaire
Trait plein rouge : table de faits (une ligne = un événement réel).
Trait pointillé gris : référentiel (liste de libellés ou d'entités).
Il n'y a aucune clé littérale dans le modèle : tout est une position dans un
tableau (calls[i][2] = 7 signifie « l'agence agences[7] »),
et −1 tient lieu de valeur absente.
Contrôles de cohérence
—
Ces contrôles sont rejoués dans le navigateur à chaque ouverture de la page, sur l'intégralité des lignes embarquées — ce ne sont pas des résultats figés.
Les colonnes des exports bruts
Ce que contiennent les deux fichiers d'origine, et ce qui en est retenu
| Source | Colonne | Contenu | Retenu ? |
|---|---|---|---|
| CSV SVI | ID | identifiant de l'événement, croissant — sert à ordonner le parcours | tri |
| CSV SVI | HORODATAGE / T0 | date-heure de l'événement | oui → calls.jour, calls.minute |
| CSV SVI | ENTREE | nœud du parcours (Init_Lorient, Coord_…, CLIENT…) | oui → agence, type, rôle des numéros |
| CSV SVI | SORTIE | transition empruntée (goto, gotoCD, <transfert>…) | oui → détection des transferts |
| CSV SVI | PARAM | cible de la transition : numéro composé, ou cause d'échec (NO_ANSWER) | oui → legs |
| CSV SVI | APPELANT | numéro de l'appelant | non — écarté (donnée personnelle, inutile aux agrégats) |
| CSV SVI | SDA | numéro composé par l'appelant | oui → calls.entrée |
| CSV SVI | DUREE / DUREE_CUMULEE | durée de l'étape / depuis le début de l'appel | oui → sonnerie, conversation, durée totale |
| CSV SVI | ID_COM | identifiant de communication — la clé de regroupement | oui (non conservé dans data.js) |
| CSV SVI | ACTIVITE | type d'étape (CallTransfer, Voicemail, VocalMenu…) | oui → issue de l'appel |
| XLSX CX | Date / Heure | présentation de l'appel au groupe | oui → cg.jour, cg.minute |
| XLSX CX | Numéro appelant / Nom appelant | appelant | non — écarté |
| XLSX CX | Numéro d'entrée | numéro sur lequel le groupe est présenté | oui → cg.idxNuméro |
| XLSX CX | Nom | nom du groupe d'appel (PE_Lorient, Coordinatrices…) | oui → numbers.cg |
| XLSX CX | Temps d'attente / communication (s) | file d'attente, puis conversation | oui → cg.attenteSec, cg.convSec |
| XLSX CX | Statut | answered · missed · missed_no_contact_attempt | oui → cg.statut |
| XLSX CX | Agent | agent ayant traité l'appel | oui → cg.idxAgent |
| XLSX CX | Groupes d'appel JSON | détail du routage, dont switch_did (numéro de renvoi) | oui → numbers.via, rattachement des numéros publics |
| XLSX CX | Timestamp, Type, Sortie, Destination, Durée totale, Temps SVI, Temps transfert, Complément statut, Type d'entrée, Chemin JSON, Données complètes JSON | colonnes restantes | non — redondantes avec les précédentes ou constantes |
Le dictionnaire, table par table
Déplier une table pour voir chaque champ, sa provenance, ses valeurs réelles, et parcourir les lignes