ServicesÀ proposNotesContact Me contacter →
EN FR
Note

Modèles d'attribution basés sur la position

Les modèles d'attribution en U et en W qui pondèrent le crédit selon la position dans le parcours — formules, cas limites, variations de pondération par secteur, et implémentation SQL BigQuery.

Planté
bigqueryanalyticsdata modeling

L’attribution basée sur la position assigne le crédit en fonction de la place qu’occupe un point de contact dans le parcours client, plutôt que de traiter tous les contacts de façon égale (comme l’attribution linéaire) ou d’utiliser un seul contact. L’idée centrale : le point de contact qui a fait découvrir le produit à un client et celui qui a conclu la vente ont probablement plus d’importance que l’email aléatoire ouvert entre les deux.

Le modèle en U (40-20-40)

Le modèle basé sur la position le plus courant distribue le crédit ainsi :

  • Premier point de contact : 40 %
  • Dernier point de contact : 40 %
  • Tous les points de contact intermédiaires : 20 % répartis équitablement

La formule :

Crédit(premier) = 0,40
Crédit(dernier) = 0,40
Crédit(milieu_i) = 0,20 / (n - 2)

Pour un client avec 5 points de contact et une conversion à 100 € :

  • Contact 1 : 40 € (40 %)
  • Contact 2 : 6,67 € (20 % / 3)
  • Contact 3 : 6,67 € (20 % / 3)
  • Contact 4 : 6,67 € (20 % / 3)
  • Contact 5 : 40 € (40 %)

Cela fonctionne bien pour la plupart des scénarios B2C et B2B où vous souhaitez valoriser à la fois le canal qui a généré la prise de conscience initiale et le canal qui a déclenché la conversion. C’est un juste milieu pragmatique — il reconnaît que les points d’extrémité du parcours portent plus de poids stratégique tout en donnant encore un peu de crédit aux contacts intermédiaires plutôt que de les ignorer complètement.

Le modèle en W (30-30-30-10)

Les entreprises B2B avec des cycles de vente plus longs utilisent souvent l’attribution en W, qui ajoute du poids à un point de contact clé au milieu du parcours comme la création d’un lead ou une demande de démo :

Crédit(premier) = 0,30
Crédit(milieu_clé) = 0,30
Crédit(dernier) = 0,30
Crédit(autres) = 0,10 / (n - 3)

Le modèle en W nécessite d’identifier ce moment clé intermédiaire dans vos données, ce qui ajoute de la complexité d’implémentation. Vous avez besoin d’un moyen fiable de signaler quel point de contact représente la qualification ou le signal d’intention — un formulaire rempli, une réservation de démo, une visite de la page de tarification. Si cet événement n’est pas proprement tracké, le modèle se dégrade en une approximation bruitée.

Les cas limites importent

Les conversions à un seul point de contact donnent 100 % du crédit à ce point de contact. Les conversions à deux points de contact répartissent le crédit à 50/50. Votre SQL doit gérer ces cas explicitement, ou vous obtiendrez des résultats incorrects.

La raison est arithmétique : si vous avez 2 points de contact et essayez d’appliquer la formule 40-20-40, le calcul du poids intermédiaire devient 0,20 / (2 - 2) — une division par zéro. Si vous avez 1 point de contact et essayez d’assigner 40 % au “premier” et 40 % au “dernier” (qui est le même point de contact), vous n’attribuez que 80 % du chiffre d’affaires.

Gérez toujours les cas limites avant la formule principale dans votre instruction CASE.

Implémentation BigQuery

Une implémentation complète du modèle en U 40-20-40 :

WITH touchpoints_positioned AS (
SELECT
user_id,
transaction_id,
channel,
revenue,
touchpoint_timestamp,
ROW_NUMBER() OVER (
PARTITION BY user_id, transaction_id
ORDER BY touchpoint_timestamp ASC
) AS position,
COUNT(*) OVER (
PARTITION BY user_id, transaction_id
) AS total_touches
FROM touchpoints
WHERE touchpoint_timestamp >= TIMESTAMP_SUB(
conversion_timestamp,
INTERVAL 30 DAY
)
)
SELECT
user_id,
transaction_id,
channel,
CASE
WHEN total_touches = 1 THEN 1.0
WHEN total_touches = 2 THEN 0.5
WHEN position = 1 THEN 0.4
WHEN position = total_touches THEN 0.4
ELSE 0.2 / (total_touches - 2)
END * revenue AS attributed_revenue
FROM touchpoints_positioned

Ce que fait chaque partie :

  • ROW_NUMBER() identifie la position de chaque point de contact dans le parcours (voir Patterns de fonctions de fenêtrage pour SQL analytics)
  • COUNT(*) OVER() donne le nombre total de points de contact par conversion
  • L’instruction CASE gère d’abord les cas limites (1 et 2 points de contact), puis applique la répartition 40-20-40
  • Multiplier le poids par le chiffre d’affaires produit le montant attribué

Variations de pondération par secteur

La répartition 40-20-40 n’est pas universelle. Ajustez en fonction de votre modèle économique et de votre cycle de vente :

SecteurPondérations recommandéesJustification
E-commerce/retailStandard 40-20-40Crédit équilibré entre découverte et conversion
B2B SaaSEn W (30-30-30-10) avec demande de démoL’événement clé intermédiaire (démo/essai) pilote la qualification
Produits à forte réflexion45-10-45 pour accentuer les extrémitésLa longue phase de recherche dilue les contacts intermédiaires

Les pondérations sont des décisions commerciales, pas des vérités mathématiques. Une répartition 40-20-40 dit “nous croyons que le premier et le dernier contact sont également importants et représentent ensemble 80 % de la valeur.” C’est une hypothèse. Vous pouvez la tester en faisant tourner l’attribution basée sur la position parallèlement à la décroissance temporelle et à d’autres modèles, puis en regardant où ils s’accordent et divergent.

Quand utiliser l’attribution basée sur la position

Les modèles basés sur la position fonctionnent mieux quand :

  • Vous croyez que le premier et le dernier contact ont un impact genuinement plus élevé que les contacts intermédiaires
  • Votre entonnoir a des moments clairs de “découverte” et de “conversion”
  • Vous voulez créditer à la fois les canaux de notoriété et de conclusion
  • Les cycles de vente ont une durée relativement cohérente

Si vos cycles de vente varient largement — certains clients convertissent en un jour, d’autres mettent trois mois — l’attribution basée sur la position peut être trompeuse. Un point de contact qui est “premier” dans un parcours de 2 jours et “premier” dans un parcours de 90 jours portent des significations stratégiques très différentes mais reçoivent le même poids. Dans ce cas, l’attribution à décroissance temporelle reflète peut-être mieux ce qui se passe réellement.