Ordago · Les données

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

    SourceColonneContenuRetenu ?
    CSV SVIIDidentifiant de l'événement, croissant — sert à ordonner le parcourstri
    CSV SVIHORODATAGE / T0date-heure de l'événementoui → calls.jour, calls.minute
    CSV SVIENTREEnœud du parcours (Init_Lorient, Coord_…, CLIENT…)oui → agence, type, rôle des numéros
    CSV SVISORTIEtransition empruntée (goto, gotoCD, <transfert>…)oui → détection des transferts
    CSV SVIPARAMcible de la transition : numéro composé, ou cause d'échec (NO_ANSWER)oui → legs
    CSV SVIAPPELANTnuméro de l'appelantnon — écarté (donnée personnelle, inutile aux agrégats)
    CSV SVISDAnuméro composé par l'appelantoui → calls.entrée
    CSV SVIDUREE / DUREE_CUMULEEdurée de l'étape / depuis le début de l'appeloui → sonnerie, conversation, durée totale
    CSV SVIID_COMidentifiant de communication — la clé de regroupementoui (non conservé dans data.js)
    CSV SVIACTIVITEtype d'étape (CallTransfer, Voicemail, VocalMenu…)oui → issue de l'appel
    XLSX CXDate / Heureprésentation de l'appel au groupeoui → cg.jour, cg.minute
    XLSX CXNuméro appelant / Nom appelantappelantnon — écarté
    XLSX CXNuméro d'entréenuméro sur lequel le groupe est présentéoui → cg.idxNuméro
    XLSX CXNomnom du groupe d'appel (PE_Lorient, Coordinatrices…)oui → numbers.cg
    XLSX CXTemps d'attente / communication (s)file d'attente, puis conversationoui → cg.attenteSec, cg.convSec
    XLSX CXStatutanswered · missed · missed_no_contact_attemptoui → cg.statut
    XLSX CXAgentagent ayant traité l'appeloui → cg.idxAgent
    XLSX CXGroupes d'appel JSONdétail du routage, dont switch_did (numéro de renvoi)oui → numbers.via, rattachement des numéros publics
    XLSX CXTimestamp, Type, Sortie, Destination, Durée totale, Temps SVI, Temps transfert, Complément statut, Type d'entrée, Chemin JSON, Données complètes JSONcolonnes restantesnon — 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