pricesensitivitymeter is an implementation of the van Westendorp Price Sensitivity Meter (PSM) in R, which is a popular method in market research to analyze consumer price preferences and price sensitivity. It also covers the so-called Newton Miller Smith Extension which allows to estimate prices that maximize the trial rate and the revenue.

As of version 0.2.1, this package is available on CRAN.

```
# install the stable release from CRAN
install.packages("pricesensitivitymeter")
# install the development version from Github
::install_github("max-alletsee/pricesensitivitymeter") devtools
```

The main function of the package is `psm_analysis()`

which
performs all necessary analyses.

```
## creating example data
<- round(rnorm(n = 250, mean = 8.5, sd = 1), digits = 2)
tch <- round(rnorm(n = 250, mean = 10, sd = 1), digits = 2)
ch <- round(rnorm(n = 250, mean = 12, sd = 0.75), digits = 2)
ex <- round(rnorm(n = 250, mean = 13, sd = 1), digits = 2)
tex
<- data.frame(tch, ch, ex, tex)
data_psm_demo
library(pricesensitivitymeter)
## running the analysis
<- psm_analysis(
output_psm_demo toocheap = "tch",
cheap = "ch",
expensive = "ex",
tooexpensive = "tex",
data = data_psm_demo
)
summary(output_psm_demo)
#> Van Westendorp Price Sensitivity Meter Analysis
#>
#> Accepted Price Range: 9.28 - 12.5
#> Indifference Price Point: 11.1
#> Optimal Price Point: 10.62
#>
#> ---
#> 150 cases with individual price preferences were analyzed (unweighted data).
#> Total data set consists of 250 cases. Analysis was limited to cases with transitive price preferences.
#> (Removed: n = 100 / 40% of data)
```

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.

```
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()
```

- Please report any issues or bugs.
- License: MIT

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.

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*.