Initial commit
This commit is contained in:
146
features/abonnements/impact-algorithme.feature
Normal file
146
features/abonnements/impact-algorithme.feature
Normal file
@@ -0,0 +1,146 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Impact des abonnements sur l'algorithme
|
||||
En tant qu'auditeur
|
||||
Je veux que les contenus de mes créateurs suivis soient favorisés
|
||||
Afin de ne pas rater leurs publications tout en découvrant de nouveaux contenus
|
||||
|
||||
Contexte:
|
||||
Étant donné que l'API RoadWave est disponible
|
||||
Et que je suis connecté en tant qu'auditeur
|
||||
Et que je suis abonné au créateur "JeanDupont"
|
||||
|
||||
Scénario: Boost de +30% appliqué au score final
|
||||
Étant donné un contenu du créateur "JeanDupont" avec:
|
||||
| score_geo | 0.5 |
|
||||
| score_interet | 0.6 |
|
||||
| score_engage | 0.5 |
|
||||
Quand le score final est calculé
|
||||
Alors le score de base est 0.53
|
||||
Et le boost abonnement de +30% est appliqué
|
||||
Et le score final avec boost est 0.69
|
||||
|
||||
Scénario: Contenu non-suivi peut battre contenu suivi
|
||||
Étant donné que je suis à Paris
|
||||
Et que 2 contenus sont disponibles:
|
||||
| contenu | createur_suivi | score_geo | score_interet | score_engage | score_final_base | score_avec_boost |
|
||||
| Contenu A | Non | 0.9 | 0.8 | 0.7 | 0.80 | 0.80 |
|
||||
| Contenu B | Oui | 0.5 | 0.6 | 0.5 | 0.53 | 0.69 |
|
||||
Quand l'algorithme sélectionne le prochain contenu
|
||||
Alors le Contenu A est proposé en premier
|
||||
Car son score (0.80) est supérieur au Contenu B avec boost (0.69)
|
||||
|
||||
Scénario: Contenu suivi remporte grâce au boost
|
||||
Étant donné que je suis à Paris
|
||||
Et que 2 contenus sont disponibles:
|
||||
| contenu | createur_suivi | score_final_base | score_avec_boost |
|
||||
| Contenu A | Non | 0.70 | 0.70 |
|
||||
| Contenu B | Oui | 0.60 | 0.78 |
|
||||
Quand l'algorithme sélectionne le prochain contenu
|
||||
Alors le Contenu B est proposé en premier
|
||||
Car le boost fait pencher la balance (0.78 > 0.70)
|
||||
|
||||
Scénario: Contenu suivi avec faible engagement ne domine pas
|
||||
Étant donné que je suis abonné au créateur "CreateurMoyen"
|
||||
Et qu'il publie un contenu avec très faible engagement (score 0.30)
|
||||
Et qu'un contenu viral d'un créateur non-suivi a un score de 0.85
|
||||
Quand l'algorithme sélectionne le prochain contenu
|
||||
Alors le contenu viral est proposé en premier (0.85)
|
||||
Car même avec boost, le contenu suivi obtient seulement 0.39 (0.30 × 1.3)
|
||||
|
||||
Scénario: Pas de file dédiée aux abonnements
|
||||
Étant donné que je suis abonné à 50 créateurs
|
||||
Quand l'algorithme génère ma file d'attente de 5 contenus
|
||||
Alors les contenus suivis et non-suivis sont mélangés
|
||||
Et tous entrent en compétition selon leurs scores (avec boost si abonnement)
|
||||
Et il n'y a pas de section séparée "Contenus de vos abonnements"
|
||||
|
||||
Scénario: Vérification du calcul du boost
|
||||
Étant donné un contenu d'un créateur suivi
|
||||
Et que le score final de base est calculé à 0.65
|
||||
Quand le boost abonnement est appliqué
|
||||
Alors le multiplicateur utilisé est exactement 1.3
|
||||
Et le score final avec boost est 0.845 (0.65 × 1.3)
|
||||
Et le résultat est arrondi à 2 décimales: 0.85
|
||||
|
||||
Scénario: Boost appliqué à tous les contenus du créateur suivi
|
||||
Étant donné que je suis abonné au créateur "JeanDupont"
|
||||
Et qu'il a publié 10 contenus différents
|
||||
Quand l'algorithme évalue chacun de ces contenus
|
||||
Alors le boost de +30% est appliqué à tous les 10 contenus
|
||||
Et chaque contenu bénéficie du même multiplicateur 1.3
|
||||
|
||||
Scénario: Plusieurs créateurs suivis en compétition
|
||||
Étant donné que je suis abonné à "Créateur A" et "Créateur B"
|
||||
Et que les 2 ont des contenus disponibles dans ma zone:
|
||||
| createur | score_base | score_avec_boost |
|
||||
| Créateur A | 0.70 | 0.91 |
|
||||
| Créateur B | 0.65 | 0.85 |
|
||||
Quand l'algorithme sélectionne le prochain contenu
|
||||
Alors le contenu du Créateur A est proposé en premier (0.91 > 0.85)
|
||||
Et les 2 bénéficient du boost, mais le meilleur score gagne
|
||||
|
||||
Scénario: Contenu national d'un créateur suivi
|
||||
Étant donné que je suis abonné à "MediaNational"
|
||||
Et qu'il publie un contenu de type "National" (score_geo 0.2)
|
||||
Quand le score est calculé avec:
|
||||
| score_geo | score_interet | score_engage |
|
||||
| 0.2 | 0.7 | 0.6 |
|
||||
Alors le score de base est environ 0.50
|
||||
Et avec le boost abonnement, le score devient 0.65
|
||||
Et le contenu peut être proposé malgré son score géo faible
|
||||
|
||||
Scénario: Transparence du boost dans les paramètres
|
||||
Quand j'accède aux paramètres de l'algorithme de recommandation
|
||||
Alors je vois l'information: "Les contenus de vos créateurs suivis bénéficient d'un boost de +30%"
|
||||
Et je comprends que ce n'est pas une priorité absolue
|
||||
Et que la découverte de nouveaux contenus reste possible
|
||||
|
||||
Scénario: Boost désactivé si désabonnement
|
||||
Étant donné que je suis abonné au créateur "JeanDupont"
|
||||
Et qu'un de ses contenus bénéficiait du boost +30%
|
||||
Quand je me désabonne de "JeanDupont"
|
||||
Alors ses contenus n'ont plus le boost
|
||||
Et leur score revient au score de base sans multiplicateur
|
||||
|
||||
Scénario: Contenu d'un créateur nouvellement suivi
|
||||
Étant donné que je viens de m'abonner à "NouveauCreateur"
|
||||
Et qu'il a publié un contenu il y a 2 jours
|
||||
Quand l'algorithme recalcule les scores
|
||||
Alors le boost de +30% est immédiatement appliqué à ce contenu
|
||||
Et il peut apparaître dans ma prochaine file d'attente
|
||||
|
||||
Scénario: Impact sur le taux de contenu suivi dans le feed
|
||||
Étant donné que je suis abonné à 30 créateurs
|
||||
Et que j'écoute 100 contenus sur une semaine
|
||||
Quand j'analyse la répartition
|
||||
Alors environ 40-50% des contenus proviennent de créateurs suivis
|
||||
Et 50-60% proviennent de créateurs non-suivis (découverte)
|
||||
Car le boost favorise sans dominer
|
||||
|
||||
Scénario: Contenu suivi hors zone géographique
|
||||
Étant donné que je suis à Paris
|
||||
Et que je suis abonné à un créateur de Marseille
|
||||
Et qu'il publie un contenu ancré à Marseille (hors de portée)
|
||||
Quand l'algorithme évalue ce contenu
|
||||
Alors le score géo est quasi nul (0.05)
|
||||
Et même avec boost +30%, le score reste très faible
|
||||
Et le contenu n'est probablement pas proposé
|
||||
|
||||
Scénario: Performance de calcul du boost
|
||||
Étant donné que je suis abonné à 100 créateurs
|
||||
Et que l'algorithme évalue 1000 contenus potentiels
|
||||
Quand le calcul des scores avec boost est effectué
|
||||
Alors le temps de calcul reste inférieur à 50ms
|
||||
Car le boost est une simple multiplication (opération O(1))
|
||||
Et la requête SQL utilise un JOIN sur la table abonnements
|
||||
|
||||
Scénario: Boost combiné avec d'autres facteurs
|
||||
Étant donné un contenu d'un créateur suivi
|
||||
Et que le contenu bénéficie aussi de:
|
||||
| facteur | impact |
|
||||
| Score d'engagement élevé | +20% |
|
||||
| Contenu récent (<24h) | +10% |
|
||||
| Boost abonnement | +30% |
|
||||
Quand le score final est calculé
|
||||
Alors le boost abonnement s'applique au score final (après tous les autres calculs)
|
||||
Et les boosts ne s'additionnent pas, le boost abonnement est un multiplicateur final
|
||||
Reference in New Issue
Block a user