Aller au contenu

Les classifications

Une classification enrichit une dimension avec des attributs venus d’ailleurs, sans rien changer à la collecte : la gamme et la marge de chaque produit, l’agence et le budget de chaque campagne, la rubrique et l’auteur de chaque page. Elle devient une vue analytics.cls_<nom>, qu’eodia insights joint aux autres.

DimensionCe qu’on classeJointure
pathles pageskey = page_views.path (ou sessions.entry_path)
utm_campaignles campagneskey = sessions.campaign (ou attribution.campaign)
utm_source, utm_medium, utm_content, utm_termles sources, supports, contenus, termeskey = sessions.source, medium, content, term
item_idles produitskey = commerce_items.item_id
eventles noms d’événementskey = events.name
propertyles valeurs d’une propriété d’événementkey = event_properties.value_text

Chaque jointure se fait aussi sur site_id : une classification appartient à un site.

Dans l’onglet Métadonnées du site, section Classifications :

  • un nom technique, en minuscules (catalogue) : la vue s’appellera cls_catalogue ;
  • un libellé et une description, qui arrivent en commentaires dans insights ;
  • la dimension décrite ;
  • des attributs typés — texte, nombre ou date —, 40 au plus : gamme, marge, fournisseur.

Un CSV de 10 Mo au plus, séparé par des virgules, des points-virgules ou des tabulations (le séparateur est deviné) :

item_id;gamme;marge;fournisseur
KA2;Audio;0.38;Kerys
PL-ROUGE;Maison;0.52;Tissages d’Arvor
PL-BLEU;Maison;0.52;Tissages d’Arvor

L’écran montre un aperçu des premières lignes, demande la colonne clé et propose un type pour chaque colonne, que vous corrigez. Puis :

  • Remplacer efface les lignes existantes et charge le fichier ;
  • Fusionner ajoute les nouvelles clés et met à jour celles qui existent.

Pour tenir une classification à jour depuis un catalogue, avec un jeton d’intégration eoa_… :

Fenêtre de terminal
curl -X PUT https://stats.exemple.fr/api/v1/sites/$SITE_ID/classifications/$CLS_ID/rows \
-H "Authorization: Bearer $EODIA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "merge",
"rows": [
{ "key": "KA2", "values": { "gamme": "Audio", "marge": 0.38, "fournisseur": "Kerys" } }
]
}'

POST …/classifications/:cls/import accepte aussi le CSV lui-même. La référence complète est dans la documentation de l’API, dans l’application (Documentation).

ColonneContenu
site_idle site
keyla valeur classée
un attribut par colonnetypée : texte, nombre ou date ; son libellé en commentaire

Le commentaire de la vue dit la dimension et la jointure à faire : l’assistant d’insights le lit.

-- Marge brute par gamme, à partir des articles commandés
SELECT c.gamme, sum(i.revenue * c.marge) AS marge_brute
FROM analytics.commerce_items i
JOIN analytics.cls_catalogue c ON c.site_id = i.site_id AND c.key = i.item_id
WHERE i.step = 'purchase'
GROUP BY c.gamme

La vue est régénérée à chaque changement de la classification ; un import ne change que ses lignes.

eodia analytics est un logiciel libre d’Eodia.