Comment savoir si la fidélité à votre site ou programme augmente?

Web

La principale difficulté pour les marketeurs et les commerciaux en charge de programme de fidélisation est de mesurer le taux de retour des participants au programme tout au long du temps.

Mesurer simplement le taux de fidélité en effectuant un ratio [Nombre d’utilisateurs avec une carte ayant consommé ce mois ci / Nombre d’utilisateurs avec une carte] ne révèle pas les disparités dans le temps  et ne montre donc pas si le département marketing s’améliore  au cours du temps dans les actions de fidélisation.

L’idée est de connaître pour les gens qui ont joint le programme de fidélité en Janvier, février, Mars… leur taux de réutilisation de la carte ou du site internet sur le mois suivant, en mois + 2, mois + 3 … pour aboutir à une matrice qui aurait cette allure:

Il s’agit d’une analyse de type cohort et qui est particulièrement efficace pour mesurer un taux d’engagement à travers le temps en fonction de la période à laquelle la personne a intégré le programme.

Dans l’exemple ci dessus, on se rend compte que le programme de fidélisation s’est nettement amélioré à partir du mois de Juillet.

Pour mener à bien ce genre d’analyse, il est impératif que vous ayez pu assigner un identifiant unique à chacun de vos utilisateurs. Dans le cas d’un site internet, cela peut se faire en opérant une concaténation sur des paramètres tels que le user agent, l’ip adress, le FAI…

Ces analyses peuvent aussi être utiles dans le cadre de la grande distribution secteur qui encarte facilement tous ses clients pour mieux suivre leurs habitudes consommations.

Comment monter cette analyse?

Après l’explication générale, voici comment coder simplement ce tableau. Cela demande quelques compétences basiques en SQL, les lignes qui suivent sont mise à titre indicatif -bien évidemment à adapter selon votre data model.

Ce qui est important est de comprendre la démarche logique permettant d’arriver à cette matrice de type cohort pour mesurer la fidélité à votre programme et tirer les conclusions nécessaires.

SET @D:='2012-01-01';

SELECT FIRST_HIT
        , TIME_PERIOD_RETURNING
        , COUNT(DISTINCT a.USER_ID)
        , START_VISITOR
        , ROUND(COUNT(DISTINCT a.USER_ID)/ START_VISITOR *100,3)

FROM
                    /*calcule pour chaque utilisateur l'intervalle de temps entre chaque passage par rapport à son premier passage */
                 (SELECT a.USER_ID
                                    , FIRST_HIT
                                    , NEXT_TIME_HITS
                                    , NEXT_TIME_HITS - FIRST_HIT  AS TIME_PERIOD_RETURNING

                            FROM

                                    /*va chercher pour chaque USER_ID tous ses passages par date sur le site */
                                        (SELECT USER_ID
                                                , WEEK(DATE) AS NEXT_TIME_HITS
                                        FROM SESSION
                                        WHERE DATE>=@D

                                        GROUP BY 1,2) as a

                        LEFT JOIN
                                   /*identifie pour chaque USER_ID leur 1ère passage*/

                                        (SELECT USER_ID
                                                , WEEK(MIN(DATE)) AS FIRST_HIT
                                        FROM SESSION
                                        WHERE DATE>=@D

                                        GROUP BY 1) as b

                            USING(USER_ID)

                            GROUP BY a.USER_ID,2,3) as a

                INNER JOIN

                            (SELECT FIRST_HIT
                                    , COUNT(USER_ID) AS START_VISITOR
                            FROM
                                                   (SELECT USER_ID
                                                            , WEEK(MIN(DATE)) AS FIRST_HIT
                                                    FROM SESSION
                                                    WHERE DATE>=@D

                                                    GROUP BY 1) as a
                            GROUP BY 1) as c

                USING(FIRST_HIT)

GROUP BY FIRST_HIT
        , TIME_PERIOD_RETURNING
ORDER BY FIRST_HIT ASC

Un simple code sur un logiciel comme SAS ou Access devrait ensuite faire l’affaire pour créer et updater rapidement le tableau -même un simple fichier excel devrait suffire pour finaliser l’analyse!

Toutes les données sont maintenant disponibles pour votre analyse de fidélité!

Fiverr, la plateforme avec des milliers d'offres de freelances

Découvrez notre séléction de produits pour les particuliers et professionnels.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *