Outils de données quantitatives pour les concepteurs UX

Publié: 2022-03-10
Résumé rapide ↬ L'analyse des données, les outils et le flux de travail sont très utiles aux concepteurs UX dans un monde axé sur les données, en particulier pour ceux qui travaillent sur des visualisations ou des produits de données.

De nombreux concepteurs UX ont quelque peu peur des données, estimant que cela nécessite une connaissance approfondie des statistiques et des mathématiques. Bien que cela puisse être vrai pour la science des données avancée, ce n'est pas vrai pour l'analyse des données de recherche de base requise par la plupart des concepteurs UX. Étant donné que nous vivons dans un monde de plus en plus axé sur les données, la littératie de base en matière de données est utile pour presque tous les professionnels, pas seulement pour les concepteurs UX.

Aaron Gitlin, concepteur d'interaction chez Google, affirme que de nombreux concepteurs ne sont pas encore axés sur les données :

"Alors que de nombreuses entreprises se présentent comme étant axées sur les données, la plupart des concepteurs sont motivés par l'instinct, la collaboration et les méthodes de recherche qualitative."

— Aaron Gitlin, « Devenir un concepteur conscient des données »

Avec cet article, j'aimerais donner aux concepteurs UX les connaissances et les outils nécessaires pour intégrer des données dans leurs routines quotidiennes.

Mais d'abord, quelques concepts de données

Dans cet article, je parlerai de données structurées, c'est-à-dire de données pouvant être représentées dans un tableau, avec des lignes et des colonnes. Les données non structurées, étant un sujet en soi, sont plus difficiles à analyser, comme l'a souligné Devin Pickell (spécialiste du marketing de contenu chez G2 Crowd, écrivant sur les données et l'analyse) dans son article "Données structurées vs non structurées - Quelle est la différence ?". Si les données structurées peuvent être représentées sous forme de tableau, les principaux concepts sont :

Base de données

L'ensemble des données que nous avons l'intention d'analyser. Il peut s'agir, par exemple, d'un tableau Excel. Un autre format populaire pour stocker des ensembles de données est le fichier de valeurs séparées par des virgules (CSV). Les fichiers CSV sont de simples fichiers texte utilisés pour stocker des informations sous forme de tableau. Chaque ligne CSV correspond à une ligne du tableau, et chaque ligne CSV a des valeurs séparées (naturellement) par des virgules, qui correspondent aux cellules du tableau.

Point de données

Une seule ligne d'une table de jeu de données est un point de données. De cette façon, un jeu de données est une collection de points de données.

Variable de données

Une valeur unique d'une ligne de points de données représente une variable de données - en termes simples, une cellule de tableau. Nous pouvons avoir deux types de variables de données : les variables qualitatives et les variables quantitatives. Les variables qualitatives (également appelées variables catégorielles) ont un ensemble discret de valeurs, telles que color = red/green/blue . Les variables quantitatives ont des valeurs numériques, telles que height = 167 . Une variable quantitative, contrairement à une variable qualitative, peut prendre n'importe quelle valeur.

Plus après saut! Continuez à lire ci-dessous ↓

Création de notre projet de données

Maintenant que nous connaissons les bases, il est temps de mettre la main à la pâte et de créer notre premier projet de données. La portée du projet est d'analyser un ensemble de données en parcourant l'ensemble du flux de données d'importation, de traitement et de traçage des données. Dans un premier temps, nous choisirons notre jeu de données, puis nous téléchargerons et installerons les outils d'analyse des données.

Ensemble de données sur les voitures

Pour les besoins de cet article, j'ai choisi un ensemble de données de voitures, car il est simple et intuitif. L'analyse des données confirmera simplement ce que nous savons déjà sur les voitures - ce qui est bien, puisque nous nous concentrons sur le flux de données et les outils.

Nous pouvons télécharger un ensemble de données de voitures d'occasion à partir de Kaggle, l'une des plus grandes sources d'ensembles de données gratuits. Vous devrez d'abord vous inscrire.

Après avoir téléchargé le fichier, ouvrez-le et jetez un œil. C'est un très gros fichier CSV, mais vous devriez comprendre l'essentiel. Une ligne dans ce fichier ressemblera à ceci :

 19500,2015,2965,Miami,FL,WBA3B1G54FNT02351,BMW,3

Comme vous pouvez le voir, ce point de données a plusieurs variables séparées par des virgules. Puisque nous avons maintenant le jeu de données, parlons un peu des outils.

Outils du métier

Nous utiliserons le langage R et RStudio pour analyser l'ensemble de données. R est un langage très populaire et facile à apprendre, utilisé non seulement par les scientifiques des données, mais aussi par les personnes travaillant sur les marchés financiers, la médecine et de nombreux autres domaines. RStudio est l'environnement où les projets R sont développés, et il existe une version gratuite, ce qui est plus que suffisant pour nos besoins en tant que concepteurs UX.

Il est probable que certains concepteurs UX utilisent Excel pour leur workflow de données. Si cela vous concerne, essayez R - il y a de fortes chances que vous l'aimiez, car il est facile à apprendre, et plus flexible et puissant qu'Excel. L'ajout de R à votre trousse à outils fera une différence.

Installation des outils

Tout d'abord, nous devons télécharger et installer R et RStudio. Vous devez d'abord installer R, puis RStudio. Les processus d'installation pour R et RStudio sont simples et directs.

Configuration du projet

Une fois l'installation terminée, créez un dossier de projet — je l'ai appelé used-cars-prj . Dans ce dossier, créez un sous-dossier appelé data , puis copiez le fichier de jeu de données (téléchargé depuis Kaggle) dans ce dossier et renommez-le en used-cars.csv . Revenez maintenant à notre dossier de projet ( used-cars-prj ) et créez un fichier texte brut appelé used-cars.r . Vous devriez vous retrouver avec la même structure que dans la capture d'écran ci-dessous.

structure du dossier du projet
Structure du dossier du projet ( Grand aperçu )

Maintenant que nous avons la structure de dossiers en place, nous pouvons ouvrir RStudio et créer un nouveau projet R. Choisissez Nouveau projet… dans le menu Fichier et sélectionnez la deuxième option, Répertoire existant . Sélectionnez ensuite le répertoire du projet ( used-cars-prj ). Enfin, appuyez sur le bouton Créer un projet et vous avez terminé. Une fois le projet créé, ouvrez used-cars.r dans RStudio — c'est le fichier où nous ajouterons tout notre code R.

Importation de données

Nous allons ajouter notre première ligne dans used-cars.r , pour lire les données du fichier used-cars.csv . N'oubliez pas que les fichiers CSV ne sont que des fichiers texte utilisés pour stocker des données. Notre première ligne de code R ressemblera à ceci :

 cars <- read.csv("./data/used-cars.csv", stringsAsFactors = FALSE, sep=",")

Cela peut sembler un peu intimidant, mais ce n'est vraiment pas le cas - en passant, c'est la ligne la plus complexe de tout l'article. Ce que nous avons ici est la fonction read.csv , qui prend trois paramètres.

Le premier paramètre est le fichier à lire, dans notre cas used-cars.csv , qui se trouve dans le dossier data . Le deuxième paramètre, stringsAsFactors=FALSE est défini pour s'assurer que des chaînes comme "BMW" ou "Audi" ne sont pas converties en facteurs (le jargon R pour les données catégorielles) - comme vous vous en souvenez, les variables qualitatives ou catégorielles ne peuvent avoir que des valeurs discrètes comme red/green/blue . Enfin, le troisième paramètre, sep="," spécifie le type de séparateur utilisé pour séparer les valeurs dans le fichier CSV : une virgule.

Après avoir lu le fichier CSV, les données sont stockées dans l'objet de trame de données des cars . Une trame de données est une structure de données à deux dimensions (comme un tableau Excel), ce qui est très utile dans R pour manipuler des données. Après avoir introduit la ligne et l'avoir exécutée, un bloc de données de cars sera créé pour vous. Si vous regardez dans le quadrant supérieur droit de RStudio, vous remarquerez le bloc de données des cars , dans la section Données sous l'onglet Environnement . Si vous double-cliquez sur cars , un nouvel onglet s'ouvrira dans le quadrant supérieur gauche de RStudio et présentera le bloc de données cars . Comme vous vous en doutez, cela ressemble à un tableau Excel.

cadre de données brutes de voitures
Trame de données brutes de voitures ( Grand aperçu )

Ce sont en fait les données brutes que nous avons téléchargées depuis Kaggle. Mais puisque nous voulons effectuer une analyse des données, nous devons d'abord traiter notre ensemble de données.

Traitement de l'information

Par traitement, nous entendons supprimer, transformer ou ajouter des informations à notre ensemble de données, afin de préparer le type d'analyse que nous souhaitons effectuer. Nous avons les données dans un objet de cadre de données, nous devons donc maintenant installer la bibliothèque dplyr , une bibliothèque puissante pour manipuler les données. Pour installer la bibliothèque dans notre environnement R, nous devons écrire la ligne suivante en haut de notre fichier R.

 install.packages("dplyr")

Ensuite, pour ajouter la bibliothèque à notre projet en cours, nous utiliserons la ligne suivante :

 library(dplyr)

Une fois la bibliothèque dplyr ajoutée à notre projet, nous pouvons commencer à traiter les données. Nous avons un très grand ensemble de données, et nous n'avons besoin que des données représentant le même constructeur et le même modèle de voiture, afin de corréler cela avec le prix. Nous utiliserons le code R suivant pour conserver uniquement les données concernant la BMW Série 3 et supprimer le reste. Bien sûr, vous pouvez choisir n'importe quel autre fabricant et modèle dans l'ensemble de données et vous attendre à avoir les mêmes caractéristiques de données.

 cars <- cars %>% filter(Make == "BMW", Model == "3")

Nous disposons maintenant d'un ensemble de données plus gérable, bien que contenant toujours plus de 11 000 points de données, qui correspond à notre objectif : analyser les distributions de prix, d'âge et de kilométrage des voitures, ainsi que les corrélations entre elles. Pour cela, nous devons conserver uniquement les colonnes "Prix", "Année" et "Kilométrage" et supprimer le reste - cela se fait avec la ligne suivante.

 cars <- cars %>% select(Price, Year, Mileage)

Après avoir supprimé d'autres colonnes, notre bloc de données ressemblera à ceci :

Trame de données semi-traitée de voitures
Dataframe semi-traité de voitures ( Grand aperçu )

Nous souhaitons apporter une autre modification à notre ensemble de données : remplacer l'année de fabrication par l'âge de la voiture. Nous pouvons ajouter les deux lignes suivantes, la première pour calculer l'âge, la seconde pour changer le nom de la colonne.

 cars <- cars %>% mutate(Year = max(Year) - Year) cars <- cars %>% rename(Age = Year)

Enfin, notre trame de données entièrement traitée ressemble à ceci :

Dataframe entièrement traité pour les voitures
Dataframe entièrement traité pour les voitures ( Grand aperçu )

À ce stade, notre code R ressemblera à ce qui suit, et c'est tout pour le traitement des données. Nous pouvons maintenant voir à quel point le langage R est simple et puissant. Nous avons traité l'ensemble de données initial de manière assez spectaculaire avec seulement quelques lignes de code.

 install.packages("dplyr") library(dplyr) cars = read.csv("./data/cars.csv", stringsAsFactors = FALSE, sep=",") cars <- cars %>% filter(Make == "BMW", Model == "3") cars <- cars %>% select(Price, Year, Mileage) cars <- cars %>% mutate(Year = max(Year) - Year) cars <- cars %>% rename(Age = Year)

L'analyse des données

Nos données sont maintenant dans la bonne forme, nous pouvons donc aller faire quelques tracés. Comme déjà mentionné, nous nous concentrerons sur deux aspects : la distribution des variables individuelles et les corrélations entre elles. La distribution variable nous aide à comprendre ce qui est considéré comme un prix moyen ou élevé pour une voiture d'occasion - ou le pourcentage de voitures au-dessus d'un prix spécifique. Il en va de même pour l'âge et le kilométrage des voitures. Les corrélations, en revanche, sont utiles pour comprendre comment des variables telles que l'âge et le kilométrage sont liées les unes aux autres.

Cela dit, nous utiliserons deux types de visualisation de données : les histogrammes pour la distribution des variables et les nuages ​​de points pour les corrélations.

Répartition des prix

Tracer l'histogramme des prix des voitures dans le langage R est aussi simple que cela :

 hist(cars$Price)

Un petit conseil : si vous êtes dans RStudio vous pouvez exécuter le code ligne par ligne ; par exemple, dans notre cas, vous n'avez besoin d'exécuter que la ligne ci-dessus pour afficher l'histogramme. Il n'est pas nécessaire de réexécuter tout le code puisque vous l'avez déjà exécuté une fois. L'histogramme devrait ressembler à ceci :

Histogramme de distribution des prix des voitures
Histogramme de distribution des prix des voitures ( Grand aperçu )

Si nous regardons l'histogramme, nous remarquons une distribution en cloche des prix des voitures, ce à quoi nous nous attendions. La plupart des voitures se situent dans le milieu de gamme, et nous en avons de moins en moins à mesure que nous nous déplaçons de chaque côté. Près de 80 % des voitures se situent entre 10 000 $ et 30 000 $ US, et nous avons un maximum de plus de 2 500 voitures entre 20 000 $ et 25 000 $ US. Sur le côté gauche, nous avons probablement environ 150 voitures à moins de 5 000 $ US, et sur le côté droit encore moins. Nous pouvons facilement voir à quel point ces graphiques sont utiles pour obtenir un aperçu des données.

Répartition par âge

Tout comme pour les prix des voitures, nous utiliserons une ligne similaire pour tracer l'histogramme d'âge des voitures.

 hist(cars$Age)

Et voici l'histogramme :

Histogramme de répartition de l'âge des voitures
Histogramme de répartition de l'âge des voitures ( Grand aperçu )

Cette fois, l'histogramme semble contre-intuitif - au lieu d'une simple forme de cloche, nous avons ici quatre cloches. Fondamentalement, la distribution a trois maximums locaux et un maximum global, ce qui est inattendu. Il serait intéressant de voir si cette étrange distribution des âges des voitures reste vraie pour un autre constructeur et modèle de voiture. Aux fins de cet article, nous resterons avec l'ensemble de données BMW Série 3, mais vous pouvez approfondir les données si vous êtes curieux. Concernant notre répartition par âge des voitures, nous remarquons que plus de 90% des voitures ont moins de 10 ans, et plus de 80% moins de 7 ans. Aussi, on remarque que la majorité des voitures ont moins de 5 ans.

Répartition du kilométrage

Maintenant, que pouvons-nous dire sur le kilométrage ? Bien sûr, nous nous attendons à avoir la même forme de cloche que nous avions pour le prix. Voici le code R et l'histogramme :

 hist(cars$Mileage) 
Histogramme de distribution du kilométrage des voitures
Histogramme de distribution du kilométrage des voitures ( Grand aperçu )

Ici, nous avons une forme de cloche inclinée vers la gauche, ce qui signifie qu'il y a plus de voitures avec moins de kilométrage sur le marché. Nous remarquons également que la majorité des voitures ont moins de 60 000 miles, et nous avons un maximum autour de 20 000 à 40 000 miles.

Corrélation âge-prix

En ce qui concerne les corrélations, examinons de plus près la corrélation âge-prix des voitures. On pourrait s'attendre à ce que le prix soit corrélé négativement avec l'âge - à mesure que l'âge d'une voiture augmente, son prix baisse. Nous utiliserons la fonction R plot pour afficher la corrélation prix-âge comme suit :

 plot(cars$Age, cars$Price)

Et l'intrigue ressemble à ceci:

Diagramme de dispersion de la corrélation entre l'âge et le prix des voitures
Diagramme de dispersion de la corrélation entre l'âge et le prix des voitures ( Grand aperçu )

On remarque que les prix des voitures baissent avec l'âge : il y a des voitures neuves chères, et des voitures anciennes moins chères. Nous pouvons également voir l'intervalle de variation de prix pour un âge spécifique, une variation qui diminue avec l'âge d'une voiture. Cette variation est largement due au kilométrage, à la configuration et à l'état général de la voiture. Par exemple, dans le cas d'une voiture de 4 ans, le prix varie entre 10 000 $ et 40 000 $ US.

Corrélation kilométrage-âge

Compte tenu de la corrélation kilométrage-âge, nous nous attendrions à ce que le kilométrage augmente avec l'âge, ce qui signifie une corrélation positive. Voici le code :

 plot(cars$Mileage, cars$Age)

Et voici l'intrigue :

Diagramme de dispersion de la corrélation entre le kilométrage et l'âge de la voiture
Diagramme de dispersion de la corrélation entre le kilométrage et l'âge de la voiture ( Grand aperçu )

Comme vous pouvez le constater, l'âge et le kilométrage d'une voiture sont positivement corrélés, contrairement au prix et à l'âge d'une voiture, qui sont négativement corrélés. Nous avons également une variation de kilométrage attendue pour un âge spécifique ; c'est-à-dire que les voitures du même âge ont des kilométrages différents. Par exemple, la plupart des voitures de 4 ans ont un kilométrage compris entre 10 000 et 80 000 miles. Mais il y a aussi des valeurs aberrantes, avec un kilométrage plus important.

Corrélation kilométrage-prix

Comme prévu, il y aura une corrélation négative entre le kilométrage des voitures et le prix, ce qui signifie que l'augmentation du kilométrage réduit le prix.

 plot(cars$Mileage, cars$Price)

Et voici l'intrigue :

Diagramme de dispersion de la corrélation entre le kilométrage et le prix de la voiture
Diagramme de dispersion de la corrélation entre le kilométrage et le prix des voitures ( Grand aperçu )

Comme nous nous y attendions, une corrélation négative. On peut également remarquer l'intervalle de prix brut entre 3 000 $ et 50 000 $ US et le kilométrage entre 0 et 150 000. Si nous regardons de plus près la forme de la distribution, nous voyons que le prix baisse beaucoup plus rapidement pour les voitures avec moins de kilométrage que pour les voitures avec plus de kilométrage. Il y a des voitures avec un kilométrage presque nul, où le prix baisse considérablement. De plus, au-dessus de la plage de 200 000 miles - car le kilométrage est très élevé - le prix reste constant.

Des chiffres aux visualisations de données

Dans cet article, nous avons utilisé deux types de visualisation : les histogrammes pour les distributions de données et les nuages ​​de points pour les corrélations de données. Les histogrammes sont des représentations visuelles qui prennent les valeurs d'une variable de données ( nombres réels) et montrent comment elles sont réparties sur une plage. Nous avons utilisé la fonction R hist() pour tracer un histogramme.

Les nuages ​​de points, quant à eux, prennent des paires de nombres et les représentent sur deux axes. Les nuages ​​de points utilisent la fonction plot() et fournissent deux paramètres : les première et deuxième variables de données de la corrélation que nous voulons étudier. Ainsi, les deux fonctions R, hist() et plot() nous aident à traduire des ensembles de nombres en représentations visuelles significatives.

Conclusion

Après avoir mis la main à la pâte en parcourant tout le flux de données d'importation, de traitement et de traçage des données, les choses semblent beaucoup plus claires maintenant. Vous pouvez appliquer le même flux de données à tout nouvel ensemble de données brillant que vous rencontrerez. Dans la recherche d'utilisateurs, par exemple, vous pouvez représenter graphiquement le temps passé sur les tâches ou les distributions d'erreurs, et vous pouvez également tracer une corrélation entre le temps passé sur les tâches et les erreurs.

Pour en savoir plus sur le langage R, Quick-R est un bon point de départ, mais vous pouvez également envisager R Bloggers. Pour la documentation sur les packages R, comme dplyr , vous pouvez visiter RDocumentation. Jouer avec les données peut être amusant, mais c'est aussi extrêmement utile pour tout concepteur UX dans un monde axé sur les données. À mesure que davantage de données sont collectées et utilisées pour éclairer les décisions commerciales, les concepteurs ont de plus en plus de chances de travailler sur la visualisation de données ou sur des produits de données, où la compréhension de la nature des données est essentielle.