Vorlesung Marketinginstrumente

Price Sensitivity Meter PSM) aka Van Westendorp’s method in R

Authors
Affiliation
Published

Monday, November 7, 2022

Diese Übung soll die Möglichkeit bieten, sich etwas genauer mit R und RStudio zu beschäftigen. Dies sind Skills im Bereich Datenanalyse, die im Verlauf des weiteren Studiums sehr helfen werden. Es existieren mittlerweile sehr viele Tutorials im Internet hierzu. Daneben existieren gute Bücher (z.B., Chapman and Feit (2019), Field, Miles, and Field (2012)).

1 Vorbereitung

Note

R ist eine kontext-sensitive Sprache, das bedeutet, dass data anders interpretiert wird als Data. Es kommt also auf die Groß- und Kleinschreibung an.

In R werden die meisten Funktionalitäten durch zusätzliche Pakete (sog. Packages) breitgestellt. Die meisten dieser Pakete sind gut Dokumentiert: https://cran.r-project.org/

  1. Der Code unten evaluiert zunächst ob das Paket pacman (Rinker 2022) auf dem Rechner installiert ist. Wenn dies nicht der Fall ist, dann wird R es installieren.

  2. Alternativ könnten Sie dies auch manuell erledigen in dem Sie zunächst ausführen install.packages(“pacman”) und danach fortfahren mit library(pacman).

  3. Die zweite Zeile läd dann das Paket pacman s.

  4. Die dritte Zeile nutzt die Funktion p_load() aus pacman um alle Pakete zu laden (und vorher zu installieren, falls notwendig), welche wir nachfolgend benutzten werden (z.B. pricesensitivitymeter (Alletsee 2021), welches uns Funktionen bereitstellt für die Durchführung einer PSM-Analyse).

if (!"pacman" %in% rownames(installed.packages())) install.packages("pacman")

library(pacman)

pacman::p_load(haven, kableExtra, knitr, 
               labelled, tidyverse, pricesensitivitymeter)
Tip

Um besser verstehen zu können, welche Argumente eine Funktion erwartet, können wir den Cursor in den Namen der Funktion platzieren und dann ‘F1’ drücken.

Als nächstes Laden wir die Daten aus der Umfrage in der Vorlesung. Hierfür nutzen wir den Befehl read.csv() und schreiben den Datensatz in ein neues Objekt mit dem Namen d. Damit das funktioniert, müssen wir das *.csv file in unserem RStudio Projektordner abgelegt haben.

d <- read.csv("RawExport.csv")
Important

Um die Daten herunterzuladen, klicke bitte auf den Button unten.

Um uns den Datensatz einmal näher anzuschauen, können wir View(d) nutzen

View(d)
sys_RespNum PSMtoocheap PSMcheap PSMexpensive PSMtooexpensive
10 3236.75 5306.86 12294.49 21086.15
11 2160.57 5647.69 12930.40 20294.99
12 3333.87 5118.20 14005.97 20441.48
13 2894.90 5385.62 13744.98 20520.73
14 2164.73 6542.25 12527.14 20024.75
15 4428.32 5153.53 13541.26 21723.28
16 2548.10 5012.63 13080.50 21869.15
17 2376.81 5318.79 12455.65 21158.24
18 3413.36 5136.11 13614.70 20387.34
19 2173.34 6092.01 12664.68 22175.22
20 2040.23 5465.20 12163.98 20892.20
21 3798.95 6216.57 12677.09 20878.85
22 2315.57 5295.06 12318.43 20739.63
23 2295.34 7535.43 12472.11 20551.92
24 2995.53 5284.38 12682.97 20200.48
25 2279.14 5179.46 12487.10 20900.18
26 2481.41 7901.69 13075.55 20254.85
27 2235.83 5847.98 12274.50 20233.31
28 2385.15 5565.84 12597.50 20939.01
29 2324.01 6030.48 13232.71 22235.69
30 2577.02 5145.90 12496.45 20738.33
31 2876.11 5630.48 12753.12 22656.56
32 2970.38 5197.33 12907.80 20813.20
33 3312.90 5871.50 14206.45 20883.52
34 4264.21 5251.37 13892.45 20749.50
35 3325.33 5422.10 13680.56 21167.18
36 2520.22 7352.87 12387.43 20316.98
37 2193.46 6510.16 16150.51 20396.00
38 3138.13 6268.71 12919.34 20309.59
39 3336.27 5190.62 13184.68 20807.71
40 3218.09 7025.43 13506.14 21551.21
41 3007.22 5493.98 12071.72 21488.09
42 2377.89 5706.31 12876.87 22174.36
43 2441.94 5705.11 12183.18 23040.04
44 4181.43 5579.27 13830.74 20250.77
45 3410.28 6781.64 13226.80 20575.79
46 2527.88 7740.47 13865.62 23034.22
47 2668.53 5127.11 12567.35 20314.85
48 2985.43 5907.83 12534.09 20589.00
49 2781.61 7364.09 12535.99 22317.39
50 2942.43 5124.93 12030.84 22171.58
51 2176.93 5343.09 12467.97 20192.57
52 2450.55 6118.64 13255.62 21339.97
53 4196.82 5184.40 13322.15 21947.73
54 2514.67 5304.67 14113.54 23458.88
55 2324.68 5614.16 13505.48 20513.40
56 2238.79 5419.19 13476.42 20748.90
57 2984.93 5359.00 13520.17 20762.12
58 3466.35 6484.87 12807.94 20180.85
59 2159.73 6109.25 12877.48 20726.76
60 2897.65 6079.16 13098.82 21559.32
61 2462.71 5345.37 13254.65 20908.77
62 3516.72 6257.52 14235.34 20528.41
63 4533.31 5104.61 12274.80 20892.22
64 3570.46 5154.57 12778.50 22641.23
65 3363.78 7573.97 12014.86 20296.21
66 2891.66 6043.10 12307.75 20785.40
67 3555.20 5779.18 12784.92 21861.92
68 2663.88 6234.65 12190.18 21041.69
69 2472.15 5888.94 13611.22 24553.59
70 3342.52 6557.40 12753.36 22173.90
71 2201.17 5525.83 14282.07 21145.27
72 3194.35 6258.64 12738.75 20273.91
73 3118.19 5991.43 12505.48 20070.44
74 2983.86 5252.31 12282.41 20649.72
75 3113.47 5976.21 12802.01 20032.72
76 3713.88 6312.55 15308.28 22629.68
77 2939.31 6415.47 13009.16 20075.18
78 2062.04 5123.62 13101.88 20325.78
79 2359.71 6170.20 13526.31 21010.56
80 2554.24 5455.08 12056.88 20938.38
81 4972.26 5624.99 12882.97 22477.49
82 2999.59 5411.94 12365.16 20243.05
83 2158.86 5401.93 12399.15 20203.64
84 3448.94 6342.41 13863.25 21169.75
85 2063.16 6481.36 12895.54 21217.71
86 2674.69 5198.32 12962.05 21235.69
87 3635.08 5738.66 12555.89 20789.43
88 2107.29 5440.73 12321.68 20367.03
89 2685.69 5712.00 13754.11 20966.36
90 3721.98 5609.93 14088.14 20474.51
91 2863.49 7336.07 13651.30 20635.46
92 2536.60 5486.30 12302.82 20569.92
93 3968.84 5241.29 12930.39 21540.39
94 3076.24 5377.39 13186.10 20149.18
95 2389.40 6997.65 13856.71 21321.83
96 3850.99 6356.22 13005.16 22259.11
97 2921.16 6112.94 12872.51 21813.29
98 2676.40 7078.81 13927.29 22149.27
99 2296.53 5738.98 12824.48 20235.20
100 2929.99 7857.06 12604.25 20408.84
101 3733.01 5509.94 12343.00 20720.59
102 2241.68 5929.68 12731.54 21150.05
103 2659.33 5803.68 13820.01 20607.95
104 4880.01 5460.65 12866.42 20502.10
105 2063.28 5898.29 12126.30 20577.20
106 3122.44 6253.79 13035.75 21172.60
107 3282.41 5686.58 12323.60 20651.40
108 2308.30 8393.17 13311.33 20077.33
109 2361.36 5653.43 12893.06 20510.00
110 3175.33 5924.60 14150.76 20695.49

Wie wir sehen, gibt es in unserem Beispiel insgesamt 5 Variablen und jede Menge Daten in den Zeilen.

die Namen der Variablen können wir ganz einfach auslesen in dem wir names(d) verwenden.

[1] "sys_RespNum"     "PSMtoocheap"     "PSMcheap"        "PSMexpensive"   
[5] "PSMtooexpensive"

Bei den 5 Variablen handelt es sich um:

  • sys_RespNum: Die Respondent ID, also eine Identifier Variable.
  • PSMtoocheap: Die Variable enthält die Preise, die als zu günstig wahrgenommen wurden.
  • PSMcheap: Die Variable enthält die Preise, die als günstig wahrgenommen wurden.
  • PSMexpensive: Die Variable enthält die Preise, die als teuer wahrgenommen wurden.
  • PSMtooexpensive: Die Variable enthält die Preise, die als zu teuer wahrgenommen wurden.

2 Analyse

Um die Analyse durchzuführen, greifen wir auf das Package pricesensitivitymeter zurück. Es lohnt sich fast immer, einmal die Dokumentation auf CRAN (Comprehensive R Archive Network) anzusehen. Packages in R sind dort in aller Regel gut dokumentiert. Beispielsweise gibt es zu den meisten packages ein Reference manual, in dem die wichtigsten Funktionen eines Pakets anhand von Beispielen erklärt werden.

Wir nutzen unten die Funktion psm_analysis(). Diese Funktion verlangt, in unserem Fall, lediglich nach 4 Variablen als input (zu günstig, günstig, teuer, zu teuer). Wir speichern die Ergebnisse in psm_in_R.

psm_in_R <- psm_analysis(toocheap = d$PSMtoocheap, 
                         cheap = d$PSMcheap, 
                         expensive = d$PSMexpensive, 
                         tooexpensive = d$PSMtooexpensive)

Anschließend geben wir die Resultate mittels der summary() Funktion aus.

summary(psm_in_R)
Van Westendorp Price Sensitivity Meter Analysis

Accepted Price Range: 4972.26 - 16150.51 
Indifference Price Point: 8393.17 
Optimal Price Point: 4972.26 

---
101 cases with individual price preferences were analyzed (unweighted data).

In der Vorlesung haben wir bereits alle notwendigen Dinge gelernt, um die Ergebnisse interpretieren zu können. Wir sehen, dass die akzeptable Preisspanne für den Online-Masterstudiengang zwischen 4972.26 und 1.615051^{4} € liegt. Der Indifferenzpreis (IDP) liegt bei 8393.17 €. Dies ist der Preis den die TUC langfristig für den Master etablieren könnte. An dieser Schwelle halten gleichviele Befragte den Preis für teuer und billig. Der optimale Preis für die Markteinführung des Masters (OPP) liegt hingegen bei hingegen bei 4972.26 €. Hier empfinden gleichviele Befragte den Preis als zu teuer und zu billig.

3 Darstellung

Nun wollen wir uns noch die typische grafische Darstellung für PSM erzeugen. Wir nutzen die Funktion psm_plot().

default_psm_plot <- psm_plot(psm_in_R)

default_psm_plot

Abschließend können wir zumindest noch die Axen sowie den Titel anpassen.

default_psm_plot + 
  theme_minimal() + 
  ylab("Prozente") + 
  xlab("Preis") + 
  ggtitle("PSM in R") + 
  theme(plot.title = element_text(hjust = 0.5)
        )

4 RStudio Cloud als Alternative

Falls Sie noch neu im R universe sein sollten (gerüchteweise gibt es noch solche Leute), ist es eine Alternative den Code dieses Skripts auch in RStudio Cloud/ Posit Cloud auszuführen. Diese Lösung ermöglicht es Daten in RStudio zu analysieren, wobei die gesamte Analyse im Web Browser läuft. Das hat natürlich einige Vorteile:

  • Für Studierende ist der Service gebührenfrei (just sign up)
  • No need to install R & RStudio
  • No need to update R and packages
  • Alle notwendigen Pakete sind bereits im korrespondierenden RStudio Cloud project https://rstudio.cloud/content/4905739 vorgeladen.
Note

Stellen Sie sicher, dass eine Kopie des Projekts in Ihrem Account erstellen. Anderenfalls werden Ergebnisse nichts gespeichert.

References

Alletsee, Max. 2021. “Pricesensitivitymeter: Van Westendorp Price Sensitivity Meter Analysis.” https://CRAN.R-project.org/package=pricesensitivitymeter.
Chapman, Chris, and Elea McDonnell Feit. 2019. R for Marketing Research and Analytics. 2nd ed. Use r! Cham: Springer International Publishing.
Field, Andy P., Jeremy Miles, and Zoë Field. 2012. Discovering Statistics Using r. London; Thousand Oaks, Calif: Sage.
Rinker, Tyler. 2022. Pacman. https://github.com/trinker/pacman.

Citation

BibTeX citation:
@misc{dr.marcellichters2022,
  author = {Univ.-Prof. Dr. Marcel Lichters and Joshua Schramm},
  title = {Vorlesung {Marketinginstrumente:} {Kapitel} 3 - {Price}
    {Sensitivity} {Meter} {PSM)} Aka {Van} {Westendorps} Method in {R}},
  date = {2022-11-07},
  url = {https://rpubs.com/M_Lichters/PSM},
  langid = {en}
}
For attribution, please cite this work as:
Univ.-Prof. Dr. Marcel Lichters, and Joshua Schramm. 2022. “Vorlesung Marketinginstrumente: Kapitel 3 - Price Sensitivity Meter PSM) Aka Van Westendorps Method in R.” https://rpubs.com/M_Lichters/PSM.