Reference: Xu 2021. Brand/Product Positioning & Perceptual Mapping. Rpubs.com/utjimmyx/brand_positioning

Think-pair-share

The final perceptual maps (see Figures 3 and 4) are designed to explain the impact of a college degree on people’s perception of grocery stores.

Figure 3 represents consumers who have a college degree.

Figure 4 represents consumers who do not have a college degree.

Please try to

Objectives

After this workshop/exercise, you will have a better understanding of how to develop a perceptual mapping for brand/product positioning purposes using either survey data or qualitative data.

In addition, you will also try to learn how to design basic perceptual mapping questions for survey studies.

Tips

Data Generation Procedures

The first step is to collect your data. In this example, we collected Qualtrics survey data for the local groceries in Bakersfield, CA using a focus group. You may try to evaluate the attributes based on your group members’ perceptions of your project client’s business and the competition.

If you would like to follow my tutorial, I suggest that you think about using at least three attributes and follow the same data format (Columns:attributes; 1st Row: brands or products). Please open my sample data and see how it looks like.

Data Pre-processing

In this exercise, we first calculate consumers’ average ratings for each attribute and then split the original survey dataset into two according to the education variable (1 and 0). The final datasets used for this analysis include those consumers who have at least a college degree (i.e., Bakersfield_Grocery1.csv) and those not (i.e., Bakersfield_Grocery2.csv).

Interpreting the results - What does a Perceptual Map tell you?

The final output shows you how different grocery brands have been clustered in four quadrants to reflect how they are perceived in terms of several service attributes (Yelp Reviews, Convenience, Price or value, etc.).

Data Analysis and Reporting - Understanding the perceptions of consumers who have a college degree

library(devtools) 
## Loading required package: usethis
install_github("vqv/ggbiplot")
## Warning: `install_github()` was deprecated in devtools 2.5.0.
## ℹ Please use pak::pak("user/repo") instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Skipping install of 'ggbiplot' from a github remote, the SHA1 (f7ea76da) has not changed since last install.
##   Use `force = TRUE` to force installation
library(ggbiplot)
## Loading required package: ggplot2
## Loading required package: plyr
## Loading required package: scales
## Loading required package: grid
?ggbiplot  #see the official introduction to this library

data <- read.csv("Bakersfield_Grocery1.csv", header=TRUE, row.names=1)

site.groups <- c(rep("a", 3), rep("b", 3),
                 rep("c", 3))
data.pca <- prcomp(data[,-1], scale. = TRUE)
data.pca <- prcomp(data, scale. = TRUE)
ggbiplot(data.pca, labels =  rownames(data))

g1 <- ggbiplot(data.pca, obs.scale = 1, var.scale = 1, 
              groups = site.groups, 
              ellipse = TRUE, circle = TRUE, labels =  rownames(data))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## ℹ The deprecated feature was likely used in the ggbiplot package.
##   Please report the issue to the authors.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
g1 <- g1 + scale_color_discrete(name = '')
g1 <- g1 + theme(legend.direction = 'horizontal', 
               legend.position = 'top')
print(g1)

Data Analysis and Reporting - Understanding the perceptions of consumers who do not have a college degree

library(devtools) 
install_github("vqv/ggbiplot")
## Skipping install of 'ggbiplot' from a github remote, the SHA1 (f7ea76da) has not changed since last install.
##   Use `force = TRUE` to force installation
library(ggbiplot)

data <- read.csv("Bakersfield_Grocery2.csv", header=TRUE, row.names=1)

site.groups <- c(rep("a", 3), rep("b", 3),
                 rep("c", 3))
data.pca <- prcomp(data[,-1], scale. = TRUE)
data.pca <- prcomp(data, scale. = TRUE)
ggbiplot(data.pca, labels =  rownames(data))

g2 <- ggbiplot(data.pca, obs.scale = 1, var.scale = 1, 
              groups = site.groups, 
              ellipse = TRUE, circle = TRUE, labels =  rownames(data))

g2 <- g2 + scale_color_discrete(name = '')
g2 <- g2 + theme(legend.direction = 'horizontal', 
               legend.position = 'top')
print(g2)

Reponses

After reading 6 Reasons To Learn R For Business, I found three key insights that directly apply to my career goals in data analytics and marketing:

Advanced Analytics & Machine Learning Capabilities: R offers specialized packages (like tidymodels and forecast) designed for business applications like customer churn prediction, time-series forecasting, and customer segmentation. Building these predictive skills will allow me to deliver actionable strategic value rather than just backward-looking reporting.

Automated & Reproducible Reporting: R Markdown allows analysts to integrate code, data visualization, and narrative text into reproducible reports. Automating routine executive reporting saves significant time and reduces manual data entry errors.

Data Storytelling with Advanced Visualization: Libraries such as ggplot2 and interactive tools like Shiny enable clear, compelling data storytelling. Communicating complex statistical insights visually is essential for driving executive decision-making. ## Disclaimer

The sample size used for this survey exercise is small. That said, please do not try to generalize the results to the entire population.

Please keep in mind that for generalization purposes, we would usually need a survey from at least 30 customers for most statistical analysis.

References (methods):

Nenadic, O., & Greenacre, M. (2007). Correspondence analysis in R, with two-and three-dimensional graphics: the ca package. Journal of statistical software, 20(3). https://goedoc.uni-goettingen.de/bitstream/handle/1/5892/Nenadic.pdf?sequence=1

Sensographics and Mapping Consumer Perceptions Using PCA and FactoMineR. https://www.r-bloggers.com/2017/09/sensographics-and-mapping-consumer-perceptions-using-pca-and-factominer/

The Unavoidable Instability of Brand Image. https://www.r-bloggers.com/2014/06/the-unavoidable-instability-of-brand-image/

The R Project for Statistical Computing. https://www.r-project.org/

R for Data Science - Hadley Wickham. https://r4ds.had.co.nz/ R Markdown. https://rmarkdown.rstudio.com/

R Markdown: The Definitive Guide - Bookdown. https://bookdown.org/yihui/rmarkdown/