Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Comment calculer un Net Score (NPS) ?

Bonjour,

Etant novice dans QlikView, je me permet de poser mon problème ici en espérant que vous puissiez m'aider ... (Google ne l'a pas fait )

J'ai injecté un fichier Excel de ce type sur Qlikview :

Capture3.PNG

Et j'aimerai créer un graphique, avec en dimension la "Date du contact" (pour ça pas de soucis).

Le problème viens pour les expressions, j'aimerai en créer 4 :

  • "Insatisfait" qui serait le nombre de 1,2,3,4,5,6,7 présents dans la colonne "RECO"
  • "Passif" qui serait le nombre de 7 et 8 présents dans la colonne"RECO"
  • "Très Satisfait" qui serait le nombre de 9 et 10 présents dans la colonne "RECO"
  • "NSS" qui serait "Très Satisfait"-"Insatisfait"

Je suppose que pour cela il faut utiliser des formules, j'ai tenter un "count" sans réussite ... J'avoue que je me perd un peu dans tout ces codes...

Toute aide sera la bienvenue Merci d'avance !!

1 Solution

Accepted Solutions
brunobertels
Master
Master

Bonjour Laetitia

la formule de Maxgro est bonne.

Ainsi pour les insatisfaits (détracteurs) tu as : (attention j'ai enlevé les notes à 7 appartenant aux neutres / passifs)

count({$ <RECO={1,2,3,4,5,6,}>} RECO)

( ajouter 0 dans la formule si il est possible de mettre une note à zéro, car l'échelle d'un NPS est normalement de 0 à 10)


pour les neutres / passifs :

count({$ <RECO={7,8}>} RECO)


Pour les promoteurs :

count({$ <RECO={9,10}>} RECO)


calcul du NPS =

count({$ <RECO={9,10}>} RECO) - count({$ <RECO={1,2,3,4,5,6,}>} RECO)


l'approche de Piet est un peu différente,puisqu'elle te propose dans le script de créer une table NPS avec une dimension [NPS Groups] regroupant tes notes :

de 0 à 6 ou 1 à 6 = détracteurs

7 et 8 = passifs ou neutres

9 et 10 = promoteurs


puis en utilisant applymap d'ajouter la dimension NPS group à coté de la dimension RECO.


Enfin tu peux aussi ajouter dans ton script ceci je pense :

if(RECO<7,'détracteurs',if(RECO>8,'promoteurs','passifs')) AS "NPS Groups",


Et si tu souhaites créer 3 dimensions différentes : PROMOTEURS , DETRACTEURS, PASSIFS :


if(RECO<7,1,0) AS DETRACTEURS,

if(RECO=7,OR(RECO=8),1,0) AS PASSIFS,

if(RECO>8,1,0) AS PROMOTEURS,


Cordialement,


Bruno

View solution in original post

13 Replies
maxgro
MVP
MVP

Insatisfait

count({$ <RECO={1,2,3,4,5,6,7}>} RECO)

stigchel
Partner - Master
Partner - Master

You can use something like the following

LoadScript

NPS:

mapping load * inline [

Score , NPS_Group

1, 'Criticasters'

2, 'Criticasters'

3, 'Criticasters'

4, 'Criticasters'

5, 'Criticasters'

6, 'Criticasters'

7, 'Criticasters'

8, 'Passieven'

9, 'Passieven'

10, 'Promotors'

11, 'Promotors'

];

Data:

LOAD

...

ApplyMap('NPS',RECO)) as [NPS Groups],

...

FROM...

Expression:

=Num(((Count({<[NPS Groups]={'Promotors'}>} RECO)/Count({<[NPS Groups]={'*'}>} RECO))-(Count({<[NPS Groups]={'Criticasters'}>} RECO)/Count({<[NPS Groups]={'*'}>} RECO))),'0%')

stigchel
Partner - Master
Partner - Master

Your scale may also run from 0-10, just change the mapping load accordingly

brunobertels
Master
Master

Bonjour Laetitia

la formule de Maxgro est bonne.

Ainsi pour les insatisfaits (détracteurs) tu as : (attention j'ai enlevé les notes à 7 appartenant aux neutres / passifs)

count({$ <RECO={1,2,3,4,5,6,}>} RECO)

( ajouter 0 dans la formule si il est possible de mettre une note à zéro, car l'échelle d'un NPS est normalement de 0 à 10)


pour les neutres / passifs :

count({$ <RECO={7,8}>} RECO)


Pour les promoteurs :

count({$ <RECO={9,10}>} RECO)


calcul du NPS =

count({$ <RECO={9,10}>} RECO) - count({$ <RECO={1,2,3,4,5,6,}>} RECO)


l'approche de Piet est un peu différente,puisqu'elle te propose dans le script de créer une table NPS avec une dimension [NPS Groups] regroupant tes notes :

de 0 à 6 ou 1 à 6 = détracteurs

7 et 8 = passifs ou neutres

9 et 10 = promoteurs


puis en utilisant applymap d'ajouter la dimension NPS group à coté de la dimension RECO.


Enfin tu peux aussi ajouter dans ton script ceci je pense :

if(RECO<7,'détracteurs',if(RECO>8,'promoteurs','passifs')) AS "NPS Groups",


Et si tu souhaites créer 3 dimensions différentes : PROMOTEURS , DETRACTEURS, PASSIFS :


if(RECO<7,1,0) AS DETRACTEURS,

if(RECO=7,OR(RECO=8),1,0) AS PASSIFS,

if(RECO>8,1,0) AS PROMOTEURS,


Cordialement,


Bruno

Not applicable
Author

Bonjour,

Déjà merci à tous pour vos réponses !!

Bruno Bertels, j'ai essayé la technique que tu m'as donné :


Ainsi pour les insatisfaits

count({$ <RECO={0,1,2,3,4,5,6}>} RECO)

pour les neutres / passifs :

count({$ <RECO={7,8}>} RECO)

Pour les promoteurs :

count({$ <RECO={9,10}>} RECO)

calcul du NPS =

count({$ <RECO={9,10}>} RECO) - count({$ <RECO={1,2,3,4,5,6,}>} RECO)


Cependant, quand je fais mon graphique et que je met ces formules en expression, j'obtiens ceci :


ex.PNG

Impossible de mettre l’échelle sur 100% ! J'ai essayer de mettre "Relatif" ou encore "Cumul total" mais rien ne marche ....


En fait je souhaiterais avoir pour chaque trimestres mes données sur 100%histoire de pouvoir les comparer d'une année sur l'autre (sur le graph ci dessus, chaque expression est en "Relatif" "Absence de cumul" et il y a une dimension qui est la date).


Quelqu'un  aurait une solution ?


Merci d'avance !!!!

Not applicable
Author

J'ai trouvé une solution, en divisant chaque expression par "/count(RECO)"

Par exemple pour les insatisfaits

count({$ <RECO={0,1,2,3,4,5,6}>} RECO)/count(RECO) ce qui nous donne le % d'insatisfaits sur le total de répondant et du coup un graph sur 100% (ou presque) :


Le seul soucis qui se pose est pour les "vide" en gros les ceux qui n'ont pas donné de notes. Est ce qu'il y a aurait une formule qui existerai pour exclure les vide ?


Merciiii

brunobertels
Master
Master

Bonjour Laetitia

En effet pour avoir les résultats de chaque groupe en % il faut les diviser par le total RECO

Pour éviter les vides :

méthode 1

count({$ <RECO={0,1,2,3,4,5,6}>} RECO) / count({$ <RECO-={null()}>} RECO)

le total RECO prend toutes les valeurs différentes de NULL


méthode 2

count({$ <RECO={0,1,2,3,4,5,6}>} RECO) / count({$ <RECO={'>=0'}>} RECO)

le total RECO prend toutes les valeurs supérieures ou égal à Zéro.


Bruno

Not applicable
Author

Génial merci beaucoup !! J'ai utilisé la deuxième solution qui marche à merveille

Si je peux me permettre, j'aurai encore une question, plus d'ordre pratique pour les utilisateurs.

J'aimerai mettre un objet "bouton" (ou autre) ou il y aurait juste à cliquer pour avoir soit la "RECO" soit la "SAT" (car j'ai appliquer ta formule pour calculer mon NPS = RECO et mon NSS = SAT).

Je m'explique, la j'ai mis un objet "selection" :

sat.PNG

Combiner avec une condition (par exemple pour les détracteur j'ai cocher conditionnel et j'ai mis "

GetSelectedCount (RECO)

and RECO<7"

Ce qui permet d'afficher soit la RECO (comme ci dessus) soit la SAT (en dé-sélectionnant la RECO et en sélectionnant toutes les valeurs de la SAT).

Mais je ne trouve pas ça très pratique, du coup j'aimerai mettre par exemple un bouton "RECO" ou quand on clic dessus on a les détracteur, promoteur, passif et NPS qui s'affiches (comme ci dessus) et un ""bouton "SAT" ou quand on clic dessus on a les très satisfait, passif, insatisfait et NSS qui s'affiche.

Est ce possible ?

Encore merci 1000 fois ... !

brunobertels
Master
Master

Re,

En effet passer par un bouton (RECO/SAT) mettant à jour le graphique suivant le type de mesure souhaitée serait plus confortable pour l'utilisateur.

Personnellement j'utilise QlikSense et non QlickView , aussi pour Qlik View je suis un peu démuni pour t'aider. Mais je suis sur que cela est possible.

Sur Qlik Sense, j'utiliserai l'extension QsVariable pour créer une variable afin d'avoir soit la formule de NPS soit la formule de NSS suivant la sélection faite sur le bouton.

Aussi j'imagine que Qlik view doit un peu fonctionner de la même manière.

Regarde dans qlikview pour créer une variable avec un bouton

on peut l'appeler vChoix avec pour valeur 1 pour NPS et 0 pour NSS

Dans le graphique en expression quelque chose comme çà :

if(vChoix=1,MON CALCUL DE NPS,MON CALCUL DE NSS)

J'espère que çà t'aidera sinon un expert Qlikview t'apportera la solution.

Bruno