French
IT/Données

Un modèle de données prêt pour le retail.

Aurélien


Le détaillant


Un détaillant sport de 16 magasins avec un entrepôt Snowflake et des analystes qui font des acrobaties SQL.

Notre détaillant opère 16 magasins en France dans le segment spécialiste multimarque sport — running, fitness, vêtements techniques. L’équipe achat est structurée : 3 personnes côté achat, plus un allocateur dédié, avec environ 7 000 SKU en saison.

Le stack est classique pour le secteur — Ginkoia comme cœur du pilotage retail, Shopify pour l’e-commerce, et Excel comme tissu conjonctif entre le reste. Plus un entrepôt Snowflake déployé deux ans plus tôt.

« Nous avions un entrepôt de données. Il n’était tout simplement pas conçu pour le retail. Chaque analyse commençait par restructurer les données. »

— Responsable des opérations



Contexte


Un entrepôt de données générique qui ne connaissait rien au retail.

2024. Le détaillant sport avait investi dans un entrepôt Snowflake deux ans plus tôt. Les données arrivaient depuis Ginkoia, Shopify et le système d’entrepôt. L’équipe pouvait interroger l’ensemble — mais chaque requête commençait par la même étape pénible : reformater les tables brutes en quelque chose d’adapté au retail.

Qu’est-ce qu’une « transaction » entre le magasin et l’online ? Qu’est-ce qu’un « magasin » quand un site combine vente physique et click-and-collect ? Qu’est-ce qu’une « saison » sur des catégories aux rythmes différents ? Chaque requête répondait à ces questions au cas par cas, et trois analystes donnaient trois réponses différentes.

L’entrepôt stockait tout. Il ne représentait rien.

Sans Solya · warehouse Snowflake
Chaque question retail = gymnastique SQL.
?
"Comment se vend la catégorie Outerwear ?"
outerwear_sales_query.sql
142 lignes
-- réorganiser la table des ventes WITH tx_unified AS ( SELECT tx_id, store_id, channel FROM raw_pos.transactions UNION ALL SELECT order_id, store_pickup_id, 'web' FROM raw_shopify.orders ), -- puis joindre la taxonomie produit... SELECT ... -- 130 lignes de plus
sales
products
stores
customers
transactions
returns
inventory
channels
Temps de transformation
2h 30m
À chaque question, systématiquement
Lignes SQL
142
Rien que pour définir "transaction"
A
Analyste 1
62%
B
Analyste 2
71%
C
Analyste 3
58%
Le problème


L'entrepôt était techniquement juste et opérationnellement faux.

Snowflake a donné à l'équipe de la flexibilité — chaque table de chaque source, disponible, requêtable, قابل?

Solya · Modèle de données retail
Entités natives · Jour 1
5 entités retail de premier rang
SKU
attributs
ventes
stock
historique
Magasin
physique
digital
niveau
capacité
Transaction
en magasin
en ligne
click & collect
unifié
Client
profil
omnicanal
historique
segment
Saison
lancements
cycle de vie
courbes
natif
Question retail
Comment se vend la catégorie Outerwear ?
Même réponse · 0,2 s
64% sell-through
A
Analyste 64%
B
Achats 64%
D
Tableau de bord 64%
M
Modèle IA 64%
Comment nous l'avons fait


Dans la boucle.

Le modèle prêt pour le retail fonctionnait sur la Data Layer, avec les entités canoniques encodées une seule fois et utilisées partout. Voici comment le système fonctionne, de bout en bout.

01 — Définir les entités canoniques.
Le modèle retail de Solya a défini SKU, magasin, transaction, client, saison comme des entités de premier ordre — avec tous leurs attributs et leurs relations.

02 — Cartographier les systèmes sources.
Ginkoia, Shopify et le système d'entrepôt de données ont été mappés au modèle canonique. Chaque enregistrement brut est devenu partie intégrante d'une entité retail.

03 — Normaliser le cross-channel.
Les transactions en magasin, en ligne et en click-and-collect ont été unifiées sous un seul concept. L'attribution cross-channel a été gérée automatiquement.

04 — Accessible à tous les consommateurs.
Les outils d'analytics, les modèles d'IA, les tableaux de bord et les exports consommaient tous le même modèle retail. Même définition, même réponse, à chaque fois.

05 — Maintenir dans le temps.
Quand les systèmes sources évoluaient, les mappings s'ajustaient. Quand de nouvelles entités apparaissaient (drops, collections capsule), elles enrichissaient le modèle proprement.

L'entrepôt de données est resté en arrière-plan. Le modèle retail est devenu la couche de travail.



Les impacts


Un modèle qui parle retail.

Une fois le modèle retail canonique mis en production, les analystes ont cessé de restructurer les données pour commencer à les analyser. Les outils d'IA et de BI consommaient tous la même source de vérité retail.

  • Jour 1 — Utilisable pour l'analytics et l'IA.

  • Natif — Des concepts retail, pas des tables génériques.

  • 1 modèle — En remplacement d'un entrepôt de données générique.

  • Toutes les équipes — Posant des requêtes avec le même vocabulaire retail.

"Nos analystes ont commencé à formuler des questions retail au lieu de faire des acrobaties SQL."

— Responsable des opérations

Dans la boucle
Des acrobaties SQL aux questions retail.
01
Définir
02
Cartographier
03
Normaliser
04
Ouvrir
05
Maintenir
Jour 1
Utilisable pour l’analytics + l’IA
Natif
Concepts retail
1 modèle
Remplacement du data warehouse
Toutes les équipes
Même vocabulaire retail

Tous droits réservés © 2026

Tous droits réservés © 2026

Tous droits réservés © 2026