Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

Personnalisation & Recommandation

Reco produits/contenus; batch + temps réel; AB-tests.

DRF · Postgres · job batch · embeddings ROI: élevé Effort: moyen+ Complexité: moyenne
Architecture de référence
Events (views, clicks, buy) → Feature store → Modèle (ALS/embeddings) → API /recommend → UI.

Quick Wins

  • Démarrer item-item sur co-occurrence.
  • AB-test simple (bucket cookie).
  • Règles business en post-filtre.

  • Normaliser user_id (auth/anon).
  • Poids: buy>click>view.
models.py — Event python
class Event(models.Model):
    user_id = models.CharField(max_length=64)
    item_id = models.CharField(max_length=64)
    etype = models.CharField(max_length=16, choices=[('view','view'),('click','click'),('buy','buy')])
    ts = models.DateTimeField(auto_now_add=True)

  • Diversité & sérendipité.
  • Filtrer déjà vus.
management command — build_reco python
# calcule similarité item-item puis sauvegarde topN par item
views.py — /api/recommend python
from rest_framework.decorators import api_view
from rest_framework.response import Response

@api_view(['GET'])
def recommend(request):
    uid = request.GET.get('user')
    # merge règles + modèle + diversité
    return Response({'items': ['A','B','C']})