Tri algorithmique : Python rencontre Liquid
Aller au-delà du « Trier par date ». Comment nous construisons des pipelines d'apprentissage actif pour reclasser les collections en fonction de leur vitesse en temps réel.
Les options de tri par défaut de Shopify (Nom A-Z, Meilleure vente, Plus récent) sont statiques. « Meilleures ventes » est un indicateur retardé. Cela crée une boucle de rétroaction dans laquelle les anciens gagnants restent en tête et les nouveaux succès potentiels sont enterrés en bas.
Le pipeline de données
Nous avons construit un “Merchandising Brain” externe en utilisant Python.
1. Extraction (ETL)
Chaque nuit, une tâche cron génère :
- Données de ventes (API Shopify)
- Nombre de vues (API Google Analytics)
- Taux de retour (ERP)
- Profondeur de l’inventaire (IMS)
2. Le calcul du score
Nous utilisons Pandas et NumPy pour calculer un « Heat Score » pour chaque produit.
def calculate_heat (vues, ventes, jours_live) :
conversion_rate = ventes / vues
fraîcheur = 1 / (days_live + 1)
# Fraîcheur pondérée plus élevée pour les marques de mode
retour (conversion_rate * 0,7) + (fraîcheur * 0,3)
3. L’injection
Le script génère un nouvel ordre de tri manuel. Il renvoie cette commande à Shopify Collections via l’API GraphQL, mettant à jour les positions de 5 000 produits en quelques secondes.
Ajustements en temps réel
Pour les clients avancés, nous l’intégrons aux API Météo. Si la prévision pour Londres est « Pluie », le script place les « Trenchs » et les « Parapluies » en tête de la collection pour les visiteurs britanniques utilisant l’injection de géolocalisation Cloudflare Worker. Il s’agit d’un contrôle dynamique et programmatique de l’étagère.