Accueil / Factory / Algos ML / Chaînes de Markov — factory / algos ML / modèle probabiliste de séquences

CHAÎNES DE MARKOV.

Un modèle de séquences où la probabilité de l'étape suivante ne dépend que de l'étape présente. Il suffit d'une matrice de transitions, estimée en comptant les passages d'un état à l'autre. En quelques lignes, on obtient le taux de conversion d'un parcours et l'effet d'une amélioration à chaque étape.

SéquencesParcours clientWeb analyticsProbabilitésNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceJuste en moyenne, aveugle à l'historique au-delà d'une étape
InterprétabilitéUne matrice de transitions que tout le monde lit
VitesseDes comptages et une inversion de matrice
Facilité de réglageLe choix clé : la définition des états
Tolérance aux données brutesJournaux de navigation à nettoyer (sessions, robots)
EN 30 SECONDES

Au jeu de l'oie, le pion avance selon la case où il se trouve, sans mémoire des cases précédentes. Connaître les probabilités de passage suffit pour savoir combien de joueurs atteindront l'arrivée.

1. On définit les états

Ici, les pages du site : accueil, catégorie, produit, panier, paiement, plus deux fins possibles, la confirmation d'achat et la sortie.

2. On compte les passages

Pour chaque page, on compte vers quelle page vont les visiteurs, puis on divise par le total. Chaque ligne de la matrice de transitions somme à 100 %.

3. On calcule où finissent les visiteurs

La confirmation et la sortie sont des états absorbants : on n'en repart pas. Une inversion de matrice donne la probabilité de finir par un achat à partir de chaque page.

LE CAS MÉTIER

e-commerce · analyse du tunnel de conversion
EN ENTRÉE

3 000 sessions, page par page

Chaque ligne donne la session, le numéro d'étape et la page vue. On en déduit, pour chaque page, la page suivante.

EN SORTIE

Une matrice et un taux de conversion

La matrice montre que 56 % des paniers passent au paiement et 25 % quittent le site. Le modèle prévoit 8,4 % de conversion depuis l'accueil, le taux observé dans les données.

CE QU'ON MESURE

L'effet d'une amélioration, chiffré avant de la lancer

Si 10 % des visiteurs du panier passent en plus au paiement au lieu de partir, la conversion monte de 8,4 % à 10,1 %. On peut ainsi comparer les chantiers : panier, fiche produit, paiement.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Parcours clients, tunnels de conversion, passages entre offres ou statuts
  • Estimer l'effet d'une amélioration locale sur un résultat final
  • Attribution marketing : mesurer ce que chaque canal apporte aux conversions
  • Prévoir la répartition future d'une population entre états (actifs, dormants, perdus)

NON

  • Comportement qui dépend de tout l'historique, pas seulement de l'étape actuelle : enrichir l'état ou passer à un modèle de séquence
  • États non observés directement (intention d'achat, état d'une machine) : c'est le terrain du modèle de Markov caché
  • Recherche des enchaînements fréquents plutôt que des probabilités : utiliser les motifs séquentiels
  • Transitions qui changent dans le temps (saison, refonte du site) : réestimer la matrice par période
LES 3 CHOIX QUI COMPTENT

Pas d'hyperparamètre : la qualité dépend de la façon de découper les parcours.

Définition des états

Trop détaillés (une page par produit), les transitions sont estimées sur trop peu de passages ; trop grossiers, on perd l'information utile. On regroupe par type de page.

Ordre de la chaîne

Une chaîne d'ordre 1 ne regarde que la page actuelle. Une chaîne d'ordre 2 regarde les deux dernières, au prix d'un nombre d'états qui explose. On vérifie d'abord si l'ordre 1 reproduit les taux observés.

États absorbants

Confirmation et sortie terminent la visite. Les déclarer comme tels permet de calculer le taux de conversion par la matrice fondamentale.

LE CODE MINIMAL

jeu d'exemple : parcours_web.csv ↓
# Parcours web : chaîne de Markov en R
parcours <- read.csv("parcours_web.csv")
parcours <- parcours[order(parcours$id_session, parcours$etape), ]
pages <- c("accueil", "categorie", "produit", "panier", "paiement", "confirmation", "sortie")
# Page suivante dans la même session (NA en fin de session)
meme_session <- c(parcours$id_session[-1] == parcours$id_session[-nrow(parcours)], FALSE)
suivante <- ifelse(meme_session, c(parcours$page[-1], NA), NA)

# Matrice de transition : probabilité de passer de chaque page (ligne) à la suivante (colonne)
comptes <- table(factor(parcours$page, levels = pages), factor(suivante, levels = pages))
P <- unclass(prop.table(comptes, 1))
P[is.nan(P)] <- 0   # la sortie n'a pas de page suivante
print(round(P, 2))

taux_conversion <- function(P) {
  transit <- pages[1:5]   # confirmation et sortie terminent la visite (états absorbants)
  B <- solve(diag(5) - P[transit, transit], P[transit, c("confirmation", "sortie")])
  B[1, 1]                 # partir de l'accueil et finir en confirmation
}
cat("Conversion prévue depuis l'accueil :", round(taux_conversion(P), 3), "\n")
cat("Conversion observée               :", round(mean(tapply(parcours$page == "confirmation", parcours$id_session, any)), 3), "\n")
# Scénario : +10 points de passage panier -> paiement, pris sur les sorties
P2 <- P
P2["panier", "paiement"] <- P2["panier", "paiement"] + 0.10
P2["panier", "sortie"] <- P2["panier", "sortie"] - 0.10
cat("Conversion avec le panier amélioré :", round(taux_conversion(P2), 3), "\n")

QUESTIONS FRÉQUENTES

Qu'est-ce que la propriété de Markov ?

La probabilité de l'état suivant ne dépend que de l'état présent, pas du chemin suivi pour y arriver. C'est une simplification : elle rend le modèle facile à estimer et à calculer, et elle suffit souvent pour des parcours web.

Comment utiliser les chaînes de Markov en attribution marketing ?

On modélise les parcours comme une chaîne entre canaux (email, recherche, réseaux sociaux) jusqu'à la conversion. L'effet de retrait (removal effect) mesure la baisse de conversion quand on supprime un canal : c'est sa contribution.

Qu'est-ce qu'une matrice de transition ?

Un tableau où la case (i, j) donne la probabilité de passer de l'état i à l'état j en une étape. Chaque ligne somme à 1. En multipliant la matrice par elle-même, on obtient les probabilités à deux étapes, trois étapes ou plus.

LES ALGOS VOISINS

à comparer avant de choisir
quand l'état est caché

Modèle de Markov caché (HMM)

Même mécanique, mais l'état n'est pas observé : on le devine à partir de signaux.

Voir la fiche →
les enchaînements fréquents

Motifs séquentiels (PrefixSpan)

Cherche les suites d'étapes qui reviennent souvent, sans modèle de probabilité.

Voir la fiche →
Markov avec décisions

Q-learning

Ajoute des actions et des gains à la chaîne : on apprend quoi faire dans chaque état.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →