Comment structurer votre dispositif de reporting CRM

Instrument clé de la Gestion de la Performance CRM, le reporting permet de suivre l’évolution de vos indicateurs de performance (KPI) et de visualiser les résultats de votre stratégie. Nous avons souhaité partager avec vous les clés qui vous permettront de construire un dispositif général de reporting CRM. L’objectif est de vous permettre de réaliser plus rapidement vos différents types de reporting, de manière plus efficace car plus organisée. Après avoir rappelé quelques règles d’or en matière de reporting CRM, nous détaillerons les différentes étapes de la mise en place d’un dispositif de reporting.

Les règles d'or d'un reporting CRM

Avant d’entrer dans le détail de toutes les étapes à suivre pour mener à bien votre reporting CRM, voici un rappel des règles d’or en matière de reporting CRM. Vous devrez toujours les garder à l’esprit dans votre travail. Ces règles nous servent de fil conducteur pour nos missions de structuration des dispositifs de pilotage CRM.

Les KPI doivent être “actionnables”

Un KPI (Key Performance Indicator) pertinent est un KPI actionnable. Cela signifie concrètement qu’une action doit être possible en cas de variation de l’indicateur. Si votre KPI varie de +/- 20%, il faut qu’il y ait une action envisageable. Si vous ne pouvez pas établir un plan d’actions qui permette de faire varier l’indicateur, il s’agit peut-être d’un indicateur de performance, mais certainement pas d’un indicateur « clé » de performance (= KPI). Les KPI sont des outils d’aide à la prise de décision. Ils permettent de dégager des actions et de les prioriser. Même s’il ne faut pas abuser des jeux de mots, on pourrait résumer en disant qu’un indicateur « clé » de performance a pour objectif de donner des « clés » d’actions. Les indicateurs non actionnables ne doivent pas figurer dans votre liste de KPI.

Chaque KPI ajouté coûte cher à maintenir

Au départ, on a parfois tendance à vouloir ajouter le maximum de KPI dans le tableau de bord. D’autant que c’est en général très simple à faire. Mais il ne faut pas sous-estimer le coût de maintenance d’un KPI. Le site web, les outils et les pratiques changent très souvent, ce qui peut avoir des impacts multiples sur les indicateurs. Pour maintenir correctement un KPI, il faut s’assurer qu’aucun changement n’a pu troubler l’indicateur et impacter les résultats… ce qui constitue une activité en général chronophage. Un coût caché à la multiplication des KPI est le temps consommé par les équipes à produire – quand cela n’est pas automatisé – et consulter des tableaux de bord ou indicateurs sans impact opérationnel. En reporting aussi, « l’infobésité » menace ! En synthèse, vous devez vous limiter aux KPI les plus pertinents, à ceux qui ont vraiment un sens pour votre activité et pour votre stratégie.

Chaque nouvelle source de données coûte très cher à maintenir

On peut appliquer exactement le même raisonnement aux sources de données. Devoir s’assurer régulièrement que les données, qui viennent de telle ou telle source, sont toujours cohérentes (vérifier, par exemple, que l’assiette et la méthode de tracking sont inchangées) est une activité très chronophage en soi. Comme on peut s’en douter, plus vous avez de sources de données à contrôler, « pire » c’est. Avant d’ajouter une nouvelle source de données à vos flux, assurez-vous que cela en vaut vraiment la peine.

Il faut passer du temps à analyser les reportings, pas à les produire

Produire le reporting, c’est bien. L’analyser, c’est mieux. On voit encore beaucoup d’entreprises dans lesquelles une personne est chargée de « réaliser » le reporting, en passant parfois une heure dans la journée à copier des chiffres dans un tableur Excel, sans forcément disposer du temps ou des compétences pour analyser les chiffres reportés. Nous vous conseillons de ne pas passer trop de temps dans la génération du reporting. Comment ? En ajustant sa fréquence de parution, ou idéalement en investissant sur son automatisation. Cela vous permettra de consacrer plus de temps à l’analyse des chiffres, qui est la seule activité vraiment « productive » et utile du reporting.

On construit un dispositif de reporting, et non un reporting

Le plus important, c’est de pouvoir s’appuyer sur un dispositif de reporting cohérent, logique et capable de vous faire gagner du temps. Vos tableaux de bord font partie d’un tout. Ils sont au service de votre pilotage de la Relation Clients. Vous devez apprendre non pas à construire un reporting, mais un dispositif complet qui vous aidera de mettre en œuvre un pilotage efficace et actionnable.

4 étapes pour construire un dispositif de reporting et générer plus de performance CRM

Comment mettre en place une démarche ? Comment créer un flux de données ? Comment utiliser des outils qui vous permettront de construire vos différents tableaux de bord ? Comment anticiper leur maintenance ? Nous distinguons 4 étapes pour construire un dispositif de reporting.

Étape 1 - Choisir un outil adapté pour reporting CRM

Le reporting CRM s’appuie sur des méthodes, mais aussi sur des outils. La première étape dans la structuration de votre dispositif de pilotage consiste à choisir un outil adapté à vos besoins, à vos exigences et à votre niveau de maîtrise technique.

Niveau débutant

Si vous êtes débutant et pas forcément très à l’aise avec les outils de reporting élaborés, vous avez deux possibilités :

  • Vous contenter des reportings proposés par votre logiciel CRM. C’est la solution de loin la plus simple. Les solutions dominantes du marché proposent en général les tableaux de bord fondamentaux pour mesurer l’efficacité des campagnes relationnelles. En revanche, ils sont plus faibles lorsqu’il s’agit d’analyser la performance CRM avec le prisme spécifique à votre société.
  • Copier sur un tableur Excel tous les chiffres importants récupérés à partir des reportings proposés par votre logiciel CRM. Cette méthode a pour objectif de vous fournir une présentation plus adaptée à vos besoins, avec un focus sur les indicateurs qui ont le plus d’impact sur votre activité. C’est une option qui a le mérite d’être simple et qui est, de fait, très utilisée par les entreprises. Toutefois, à notre avis, cette méthode est à éviter car le risque est grand de passer plus de temps à remplir le tableau qu’à analyser les chiffres.

Niveau intermédiaire

Si vous souhaitez utiliser un dispositif de reporting plus élaboré et que vous familiariser avec un outil tiers ne vous fait pas peur, nous vous conseillons la méthode suivante :

  1. Alimenter un tableur avec les indicateurs extraits de votre logiciel CRM – via un export manuel ou automatique, selon les cas.
  2. Utiliser Google Data Studio pour réaliser un reporting sur la base des données du tableur, de vos données Google Analytics, voire même de votre base de données interne. Vous commencerez ainsi à mixer les sources de données et à placer votre démarche CRM dans l’environnement généralement de votre entreprise.
Sources de données reporting CRM Google Data Studio

Exemple de mise en place de tableaux de bord CRM dans Google Data Studio.

Google Data Studio est un outil relativement récent. Il permet de visualiser des données et de construire des reportings dynamiques utilisant des données en provenance de plusieurs sources. Google Data Studio est à la fois très fonctionnel et très rapide à prendre en main. C’est son point fort. Si vous souhaitez aller plus loin que les reportings proposés par votre CRM ou que les tableaux Excel, nous vous recommandons vivement cette solution. Il s’agit d’un SaaS gratuit.

Reporting Google Data Studio

Exemple de reporting d’audience dans Google Data Studio

Niveau avancé

Le must du must, c’est de mettre en place un flux de données et de connecter vos différentes sources de données à un outil de reporting. Pour la création des flux de données, vous pouvez utiliser un « ETL » (Extract, Transformation, Load), outil d’extraction, transformation et chargement, comme Talend, par exemple, ou bien utiliser un outil plus moderne comme Dataiku Data Science Studio. Ce dernier outil est une plateforme qui permet de construire et de déployer tous types de projets data, en particulier les projets CRM. Comme vous pouvez le voir sur la capture d’écran proposée ci-dessous, Dataiku DSS permet de créer et de visualiser des flux de données faisant intervenir des sources très hétérogènes.

Construction d’un reporting CRM à partir de flux de données

Organisation des flux de données dans Dataiku

Après avoir généré le workflow de données à partir de Dataiku, nous vous recommandons dans un second temps de connecter vos différentes sources de données à un outil de reporting avancé de type Tableau, Qlikview ou Serenytics. Ces outils vous permettront de créer des rapports structurés. Ci-dessous, une analyse de cohortes réalisée à partir de Serenytics.

Construction d’un reporting CRM via l’analyse de vie de fichiers

Analyse de la vie de fichiers dans Serenytics

Étape 2 - Définir les cas d'utilisation de votre reporting CRM

Un dispositif de reporting, s’il est bien mis en place, doit permettre de produire des reportings adaptés à des cibles et à des objectifs différents. Dans cette optique, nous vous conseillons de définir plusieurs cas d’utilisation. Un même reporting pourra répondre aux besoins de plusieurs cas d’utilisation, mais avant de penser reporting, il est préférable de penser à l’utilisation que l’on va en faire. Un cas d’utilisation peut être défini par cinq paramètres :

  1. Un niveau d’observation ou d’usage. Par exemple : « Direction », « Opérationnel CRM », etc.
  2. Une fréquence. Par exemple : une fois par semaine, une fois par mois, etc.
  3. Des objectifs. Par exemple : une vision globale de la performance CRM, avec un zoom sur l’impact des chantiers en cours.
  4. Une série d’indicateurs, décomposés par catégorie : indicateurs d’audience, indicateurs de performance et indicateurs de performance des projets.
  5. Des actions envisageables. Par exemple : Go / No Go sur un chantier.

Une fois que vous aurez bien défini les différents cas d’utilisation (qui dépendent de votre organisation et de vos objectifs stratégiques), vous pouvez définir différents types de reportings. Il est généralement conseillé de créer un reporting « général », avec peu de KPIs, destiné à la direction, et un reporting « complet » (à tiroirs) à destination des opérationnels. C’est un schéma classique mis en pratique dans de nombreuses entreprises. Dans nos missions de structuration et production des dispositifs de pilotage CRM, nous animons ce processus sous forme d’ateliers collaboratifs. Par la présence et la participation des différents acteurs et consommateurs des indicateurs de performance, nous clarifions l’architecture et les usages du système de pilotage de la Relation Clients. On le voit, la définition d’un dispositif de reporting implique une réflexion globale sur la manière dont vous allez tirer profit du CRM au sein de votre organisation. C’est seulement après avoir clairement défini les objectifs de votre CRM que vous pourrez définir correctement les cas d’utilisation et les différents formats de reporting CRM à mettre en place.

Étape 3 - Prioriser les indicateurs et définir les flux de données

Nous supposons à ce stade que, suite à l’étape précédente, vous disposez dorénavant d’une bonne visibilité sur les différents reportings et d’une connaissance des différents cas d’utilisation auxquels chaque reporting doit répondre. A partir de là, vous devez prioriser les indicateurs à intégrer au reporting. Comme nous l’avons dit précédemment, chaque ajout d’un nouveau KPI engendre des coûts de maintenance non négligeables. Vous devez restreindre le nombre de KPIs, en ne retenant dans votre choix que des indicateurs vraiment « clés » pour votre organisation. Nous vous rappelons, au risque de radoter, qu’un KPI se justifie par sa capacité à orienter des actions. Un KPI sur lequel on ne peut pas agir n’est pas un KPI, mais un simple indicateur. Dévolu à la seule compréhension de l’activité, et non à l’action, leur nombre doit être absolument limité ! En parallèle du travail qui consiste à lister et à prioriser les indicateurs, nous vous recommandons de commencer à travailler sur l’inventaire et le flux de données que vous aurez besoin de mettre en place pour alimenter vos reportings. Cela vous permettra de mieux évaluer les difficultés à récupérer certains types de données, ce qui peut avoir un impact sur le choix de vos indicateurs. Mener de front ces deux chantiers vous évitera de sélectionner des KPI  impossibles à alimenter.

Etape 4 - Construction du reporting

Sur la construction du reporting en tant que tel, il n’y a finalement pas grand-chose à dire, si ce n’est qu’il faut retrousser ses manches et mettre les mains dans le cambouis ! Pour vous aider, voici quelques bonnes pratiques de base concernant la construction du reporting :

  1. Pensez à appliquer une hiérarchie visuelle entre les différents indicateurs. Tous les indicateurs ne doivent pas être mis sur le même plan. Les KPI les plus importants doivent clairement ressortir, afin de faciliter la lecture des tableaux de bord. Plus généralement, pensez toujours à vous mettre à la place de la personne qui lira votre production. La première qualité d’un reporting, c’est sa lisibilité. Cela passe par une organisation visuelle logique et hiérarchisée des différents éléments qui le composent. Dans un document de ce genre, la lisibilité découle de la visibilité.
  2. Quel que soit l’outil ou la méthode que vous utilisez pour construire vos reportings, veillez à bien distinguer les données brutes et leur traitement. C’est un point essentiel, quoique bien souvent négligé comme en font l’expérience nos consultants CRM. Il faut absolument que les traitements à réaliser (par exemple, la déduplication des clients, le passage à un fuseau horaire commun, etc.) soient clairement isolés – et commentés si possible – pour qu’il soit plus facile de les reprendre par la suite.
  3. Si vous prévoyez quatre jours de travail pour la construction d’un tableau de bord, communiquez sur le fait qu’il en faudra six. Il y a toujours des imprévus dans ce genre de projet (des données partielles ou dupliquées à traiter, etc.). Vous devez les anticiper.

Si vous prévoyez six jours de travail pour la construction d’un tableau de bord, rajoutez-en trois pour la recette ! La recette consiste à vérifier non seulement que chaque indicateur remonte, mais aussi que chaque KPI remonte avec la bonne valeur.

CustUp architecture et met en œuvre le reporting CRM

Cabinet de conseil en CRM, notre équipe de consultants en CRM accompagne les entreprises dans le déploiement de projet CRM. Dans la mise en œuvre de programmes relationnels, nous sommes guidés par la recherche de la performance clients. E-commerce, crosscanal, vente à distance, abonnements… Nos clients et nous-mêmes sommes marqués par une culture orientée vers le retour sur investissement. Dès les premiers jours du projet CRM, nous anticipons le dispositif de pilotage de la performance et les problématiques liées à la gestion de la pression marketing. Nous avons donc mis en œuvre des méthodologies et des outils destinés à trouver le meilleur équilibre entre la satisfaction des clients – garante de la durée de leur relation avec l’entreprise – et la performance économique de nos clients.

Besoin d'accompagnement ? Rencontrons-nous !
Yassine Hamou Tahra, consultant en données, DMP et CRM

Conception Yassine Hamou Tahra. Consultant en CRM, Yassine accompagne les entreprises dans l’architecture et la mise en oeuvre de leur dispositif de pilotage CRM.

[custup_nom_silo]
le CRM
[custup_form_optinmonster]
[custup_form_optinmonster]
[custup_form_silo_inline_optinmonster]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#dj_envoyer_inscription-CoLiE', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var email = jQuery('#dj_form_optinmonster-CoLiE input[name="email"]').val(); var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "id_article", 4225); grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-CoLiE .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-CoLiE .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-CoLiE .panel-primary span").html( 'Traitement en cours ...' ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-CoLiE .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-CoLiE .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-CoLiE .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-CoLiE .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-CoLiE .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-CoLiE .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Silo-XXX-Inline", "eventAction": "clic", "eventLabel": "https://www.custup.com/projet-crm-consultant-crm/performance-crm/dispositif-de-reporting-crm/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-CoLiE" class="form_inline inline"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-7 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="emailCoLiE" name="email" placeholder="E-mail" /> </div> <div class="col-md-5 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-CoLiE" class="dj_envoyer_inscription" type="submit">Je m'inscris !</button> </div> </div>
[le Nom du Silo]
[le Nom du Silo]
[custup_icon]
<img src="https://www.custup.com/wp-content/themes/custup/public/img/icon.png" alt="Merci pour votre visite" class="skip-lazy" width="28" height="27"/>
[custup_form_exit]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; var email = ""; jQuery(document).delegate( '#emailqAuoV', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-exit-qAuoV', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "exit", 1 ); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-exit-qAuoV .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-qAuoV .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-exit-qAuoV .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-exit-qAuoV .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-qAuoV .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-exit-qAuoV .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-exit-qAuoV .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-qAuoV .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-exit-qAuoV .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Exit", "eventAction": "clic", "eventLabel": "https://www.custup.com/projet-crm-consultant-crm/performance-crm/dispositif-de-reporting-crm/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-exit-qAuoV" class="form_inline popin-exit"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="emailqAuoV" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-exit-qAuoV" class="dj_envoyer_inscription" type="submit">S'inscrire !</button> </div> </div>
[custup_scroll_nom_silo]
du CRM
[custup_form_silo_scroll_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#emailNZMMx', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-NZMMx', 'click', function(e){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "id_article", 4225); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-NZMMx .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-NZMMx .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-NZMMx .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-NZMMx .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-NZMMx .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-NZMMx .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-NZMMx .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-NZMMx .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-NZMMx .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Silo-XXX-Scroll", "eventAction": "clic", "eventLabel": "https://www.custup.com/projet-crm-consultant-crm/performance-crm/dispositif-de-reporting-crm/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-NZMMx"> <form> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="emailNZMMx" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-NZMMx" class="dj_envoyer_inscription" value="xx" type="submit">S'inscrire</button> </div> </form> </div>