https://github.com/max-alletsee/pricesensitivitymeter
van Westendorp Price Sensitivity Meter (PSM) implementation in R
https://github.com/max-alletsee/pricesensitivitymeter
market-research price-sensitivity pricing r survey survey-analysis
Last synced: 8 months ago
JSON representation
van Westendorp Price Sensitivity Meter (PSM) implementation in R
- Host: GitHub
- URL: https://github.com/max-alletsee/pricesensitivitymeter
- Owner: max-alletsee
- License: other
- Created: 2017-05-20T15:48:16.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2025-08-29T21:31:00.000Z (10 months ago)
- Last Synced: 2025-08-29T22:46:07.479Z (10 months ago)
- Topics: market-research, price-sensitivity, pricing, r, survey, survey-analysis
- Language: R
- Homepage: https://max-alletsee.github.io/pricesensitivitymeter/
- Size: 3.56 MB
- Stars: 15
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
---
output:
github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/"
)
```
# pricesensitivitymeter
[](https://cran.r-project.org/package=pricesensitivitymeter)
[](https://cran.r-project.org/package=pricesensitivitymeter)
[](https://github.com/max-alletsee/pricesensitivitymeter/actions)
[](https://app.codecov.io/gh/max-alletsee/pricesensitivitymeter)
## Overview
pricesensitivitymeter is an implementation of the van Westendorp Price Sensitivity Meter (PSM) in R. It also covers the so-called Newton Miller Smith Extension which allows to estimate prices that maximize the reach (trial rate) and the revenue.
The van Westendorp Price Sensitivity Meter is a common method in market research to analyze consumer price preferences and price sensitivity. Examples include OpenAI's decision how to determine the price for ChatGPT Pro ([source](https://simonwillison.net/2025/Aug/12/nick-turley/)).
## Installation
As of version 0.2.1, this package is [available on CRAN](https://cran.r-project.org/package=pricesensitivitymeter).
```{r installation, eval = FALSE}
# install the stable release from CRAN
install.packages("pricesensitivitymeter")
# install the development version from Github
devtools::install_github("max-alletsee/pricesensitivitymeter")
```
## Usage
The main function of the package is `psm_analysis()` which performs all necessary analyses.
```{r example}
## creating example data
tch <- round(rnorm(n = 250, mean = 8.5, sd = 1), digits = 2)
ch <- round(rnorm(n = 250, mean = 10, sd = 1), digits = 2)
ex <- round(rnorm(n = 250, mean = 12, sd = 0.75), digits = 2)
tex <- round(rnorm(n = 250, mean = 13, sd = 1), digits = 2)
data_psm_demo <- data.frame(tch, ch, ex, tex)
library(pricesensitivitymeter)
## running the analysis
output_psm_demo <- psm_analysis(
toocheap = "tch",
cheap = "ch",
expensive = "ex",
tooexpensive = "tex",
data = data_psm_demo
)
summary(output_psm_demo)
```
The package also has a function `psm_analysis_weighted()` that deals with weighted survey data where the survey design for the weighting is coming from the `survey` package. (Please see the documentation and the vignette for more details.) Moreover, there is a convenience function `psm_plot()` that creates the layout for the standard Price Sensitivity Meter plot via `ggplot2`. Below is a simple example, using the analysis result created above.
```{r example_plot}
library(ggplot2)
psm_plot(output_psm_demo) +
labs(
x = "Price",
y = "Share of Respondents (0-1)",
title = "Example Price Sensitivity Meter Plot",
caption = "Shaded area: range of acceptable prices\nData: Randomly generated") +
theme_minimal()
```
## Additional Information
* Please [report any issues or bugs](https://github.com/max-alletsee/pricesensitivitymeter/issues).
* License: MIT
## References
Van Westendorp, P (1976) "NSS-Price Sensitivity Meter (PSM) -- A new approach to study consumer perception of price" *Proceedings of the ESOMAR Congress*, 139--167. Online available at [the ESOMAR website](https://archive.researchworld.com/a-new-approach-to-study-consumer-perception-of-price/).
Newton, D, Miller, J, Smith, P, (1993) "A market acceptance extension to traditional price sensitivity measurement" *Proceedings of the American Marketing Association Advanced Research Techniques Forum*.