## 3. Centres d'intérêt et jauges ### 3.1 Évolution des jauges **Décision** : Système simple avec valeurs fixes (points de pourcentage absolus) | Action | Impact jauge | Justification | |--------|--------------|---------------| | **Like automatique renforcé (≥80% écoute)** | **+2%** | Signal fort d'intérêt (écoute quasi-complète) | | **Like automatique standard (30-79% écoute)** | **+1%** | Signal modéré d'intérêt | | **Like explicite (manuel)** | **+2%** | Signal fort, cumulable avec auto | | **Abonnement créateur** | **+5%** sur tous ses tags | Signal très fort d'affinité | | **Skip rapide (<10s)** | **-0.5%** | Désintérêt marqué | | **Skip tardif (≥30%)** | **0%** | Neutre (contenu essayé suffisamment) | **Note importante** : Les pourcentages indiqués sont des **points de pourcentage absolus**, **PAS des pourcentages relatifs**. **Calcul** : - Si jauge "Automobile" = 45% - Like renforcé (+2%) → 45 + 2 = **47%** ✅ - **NOT** 45 × 1.02 = 45.9% ❌ Cette approche garantit une **progression linéaire** et **équitable** pour tous les utilisateurs, indépendamment de leur niveau actuel dans une jauge. **Paramètres techniques** : - Les jauges sont bornées strictement entre **0% et 100%** - Calcul immédiat à chaque action (pas de batch différé) - Les tags du contenu sont définis par le créateur à la publication - Si un contenu a plusieurs tags, chaque jauge correspondante est impactée **Exemple de calcul** : ``` Contenu de 5 minutes tagué "Automobile" + "Voyage" Scénario 1 : Écoute 4min30 (90%) → Like automatique renforcé (+2%) → Jauge Automobile : 45% → 47% → Jauge Voyage : 60% → 62% Scénario 2 : Écoute 2min30 (50%) → Like automatique standard (+1%) → Jauge Automobile : 45% → 46% → Jauge Voyage : 60% → 61% Scénario 3 : Écoute 2min30 (50%) + Like manuel → Like auto +1% puis like manuel +2% = +3% total → Jauge Automobile : 45% → 48% → Jauge Voyage : 60% → 63% Scénario 4 : Skip après 5s → Signal négatif (-0.5%) → Jauge Automobile : 45% → 44.5% → Jauge Voyage : 60% → 59.5% ``` **Justification** : - **Like automatique** : Reflète l'engagement réel (voir [Règle 05 - Section 5.3](05-interactions-navigation.md#53-interactions-au-volant--like-automatique-et-engagement)) - **Sécurité routière** : Pas d'action complexe en conduite - **Prévisibilité** : Règles claires et déterministes - **Progression linéaire** : Évite l'effet "rich get richer" (progression équitable) - **Coût minimal** : Calculs simples en backend (addition/soustraction uniquement) - **Fiabilité** : Pas d'edge cases complexes (pas de risque d'overflow avec multiplication) - **Ajustable** : Valeurs modifiables via dashboard admin si besoin > 📋 **Référence technique** : Voir [Règle 05 - Implémentation Technique](05-interactions-navigation.md#implémentation-technique-backend) pour l'architecture backend détaillée. --- ### 3.2 Jauge initiale **Décision** : Démarrage neutre à 50%, pas de questionnaire **À l'inscription** : - Toutes les jauges d'intérêt sont initialisées à **50%** - Pas de questionnaire onboarding (friction zéro) - L'algorithme apprend naturellement via les premières écoutes **Catégories disponibles** : - Automobile - Voyage - Famille - Amour - Musique - Économie - Cryptomonnaie - Politique - Culture générale - Sport - Technologie - Santé - *... (extensible)* **Cold start (premiers jours)** : 1. Nouvel utilisateur s'inscrit → toutes jauges à 50% 2. Écoute premier podcast "Automobile" → jauge Auto monte à 51% 3. Skip un contenu "Économie" → jauge Éco descend à 48% 4. Après 10-15 écoutes, profil commence à se dessiner clairement **Alternative optionnelle (post-MVP)** : - Questionnaire **optionnel** proposé après 3 écoutes (in-app) - Message : "Améliorez vos recommandations en sélectionnant vos centres d'intérêt" - Si rempli : jauges sélectionnées passent à 70%, non sélectionnées à 30% - Si skip : conserve 50% partout **Justification** : - **Inscription ultra-rapide** : pas de questionnaire = moins de churn - **Découverte naturelle** : l'algorithme apprend en quelques écoutes - **Équitable** : pas de biais initial vers certains créateurs - **Comportement déterministe** : facile à tester et débugger - **Cold start acceptable** : à 50%, tous les contenus ont une chance égale initialement --- ### 3.3 Dégradation temporelle **Décision** : Pas de dégradation automatique Les jauges **ne diminuent jamais** avec le temps de manière automatique. **Règle** : - Une jauge ne change **que par les actions utilisateur** (like, écoute, skip) - Pas de cron job de dégradation périodique - Pas de "rafraîchissement" artificiel **Scénario illustratif** : ``` Utilisateur aimait "Économie" (jauge 80%) il y a 1 an → Depuis, skip tous les contenus Éco → Jauge descend naturellement à 40% via les skips → Pas besoin de dégradation temporelle ``` **Si utilisateur inactif longtemps** : - Utilisateur part en vacances 6 mois → jauges conservées - Au retour : ses jauges reflètent toujours ses goûts d'avant - Comportement cohérent et prévisible **Alternative utilisateur (contrôle explicite)** : - Bouton "Réinitialiser mes centres d'intérêt" dans paramètres - Action manuelle : remet toutes les jauges à 50% - Permet nouveau départ si souhaité (changement de vie, etc.) **Justification** : - **Principe KISS** (Keep It Simple, Stupid) - **Coût 0** : pas de batch nocturne, pas de calculs temporels - **Fiabilité maximale** : pas de bugs de fuseaux horaires, dates, etc. - **UX prévisible** : jauge = reflet des actions, pas d'automatisme caché - **Respect historique** : si utilisateur aimait X depuis 2 ans, pourquoi "oublier" ? - **Évolution naturelle** : les actions récentes suffisent à faire évoluer les jauges --- ## Récapitulatif Section 3