Promotions¶
Vue d'ensemble¶
Le module Promotions est responsable de la représentation normalisée des informations promotionnelles associées à un produit.
Son objectif est de fournir une vision cohérente des promotions, indépendamment du marchand d'origine, du format du feed ou de la verticale concernée.
Le Domain Core ne cherche pas à savoir si une promotion est intéressante d'un point de vue commercial. Il fournit simplement une représentation fiable, stable et réutilisable des informations disponibles.
Comme tous les composants du Domain Core, ce module est entièrement indépendant des verticales métier.
Pourquoi un module Promotions ?¶
Chaque marchand décrit les promotions selon son propre modèle.
Certains fournissent :
- un ancien prix ;
- un prix barré ;
- un montant économisé ;
- un pourcentage de réduction ;
- une date de début ;
- une date de fin ;
- un libellé marketing.
D'autres ne fournissent qu'un prix actuel.
Sans normalisation, chaque consommateur de ces données devrait gérer ces différences.
Le rôle du module Promotions est d'offrir une représentation commune afin que le reste de la Platform manipule toujours les mêmes concepts.
Position dans l'architecture¶
Les informations promotionnelles sont intégrées après la normalisation des données marchandes.
Feed marchand
│
▼
Normalisation
│
▼
Canonical Identity
│
▼
Promotions
│
▼
Projection
│
▼
Frontend
Le module prépare les informations.
La manière de les afficher appartient au Frontend.
Responsabilités¶
Le module est responsable de la normalisation des informations liées aux promotions.
Il peut notamment exposer :
- le prix actuel ;
- le prix de référence ;
- le montant économisé ;
- le pourcentage de réduction ;
- les informations de validité ;
- les métadonnées promotionnelles disponibles.
Toutes ces informations sont exprimées selon un modèle unique.
Les principaux concepts¶
Prix actuel¶
Le prix actuel correspond au montant auquel le produit est proposé au moment du traitement.
Il constitue la référence principale utilisée par la Platform.
Prix de référence¶
Lorsqu'il est disponible, le prix de référence permet d'évaluer l'existence d'une réduction.
Son origine dépend du marchand.
Le Domain Core ne cherche pas à interpréter cette origine.
Il se contente de représenter cette information de manière homogène.
Économie réalisée¶
Le montant économisé représente la différence entre le prix actuel et le prix de référence.
Lorsque cette valeur peut être calculée de manière fiable, elle est normalisée afin d'être réutilisable dans toute la Platform.
Pourcentage de réduction¶
Le pourcentage de réduction est une représentation normalisée de la différence entre les deux prix.
Cette valeur reste purement descriptive.
Le module ne décide jamais si cette réduction est suffisamment importante pour être mise en avant.
Métadonnées promotionnelles¶
Certaines informations complémentaires peuvent également être conservées.
Par exemple :
- période de validité ;
- libellé promotionnel ;
- identifiant de campagne ;
- informations spécifiques au marchand.
Ces données restent optionnelles.
Ce que le module ne fait jamais¶
Le module Promotions n'est pas responsable :
- du calcul du meilleur marchand ;
- du classement des offres ;
- de la comparaison entre plusieurs vendeurs ;
- de l'affichage graphique des promotions ;
- de la génération des badges marketing ;
- de la stratégie commerciale.
Toutes ces responsabilités appartiennent à d'autres couches de la Platform.
Invariants¶
Neutralité¶
Le module décrit les promotions.
Il ne les interprète pas.
Une réduction de 5 % et une réduction de 60 % sont traitées exactement selon les mêmes règles.
L'interprétation appartient aux consommateurs.
Aucune connaissance métier¶
Le module ignore complètement les spécificités des verticales.
Une promotion fonctionne exactement de la même manière pour :
- un smartphone ;
- un appareil photo ;
- une imprimante ;
- un téléviseur ;
- un jouet ;
- une montre connectée.
Déterminisme¶
À partir des mêmes informations tarifaires, le résultat doit toujours être identique.
Aucun calcul ne dépend du contexte d'exécution.
Lecture seule¶
Le module ne modifie jamais les prix.
Il construit uniquement une représentation normalisée.
Utilisation dans CMonChoix¶
Les projections produites par la Platform peuvent ensuite utiliser ces informations pour afficher, par exemple :
- un prix barré ;
- un montant économisé ;
- un pourcentage de réduction ;
- une mention promotionnelle.
Toutes ces représentations reposent sur les mêmes données normalisées.
Ainsi, une évolution de la logique de normalisation bénéficie automatiquement à l'ensemble des interfaces qui consomment les projections.
Exemple¶
Deux marchands commercialisent le même smartphone.
Le premier fournit :
- Prix : 799 €
- Ancien prix : 999 €
Le second fournit uniquement :
- Prix : 805 €
Le module Promotions normalise ces deux représentations.
La Projection peut ensuite présenter ces informations de manière cohérente sans connaître le format d'origine des feeds.
Évolution¶
À mesure que de nouveaux marchands seront intégrés, le module continuera d'absorber les différences de représentation afin de préserver un modèle promotionnel unique.
À terme, il pourra également prendre en charge :
- l'historique des promotions ;
- l'évolution des prix dans le temps ;
- des indicateurs de fiabilité des promotions ;
- des analyses statistiques réutilisables.
Ces évolutions devront rester entièrement indépendantes des verticales métier.