12.1 PSMの実行と結果

価格は、マーケティング意思決定者が調整する重要なマーケティング戦術要因(4Ps)のひとつである。価格は4Psの中で唯一企業にとっての収入を生む要因であり、製品の需要量やイメージにも関連する重要な意思決定項目である。消費者の視点にたてば、価格は自身の予算制約のもとその製品が購入に値するかを判断する定量的かつ認知的な情報であると同時に、品質や高級感を推測するための心理的影響を持つ情報としても機能する。マーケティング意思決定者は、製品のマーケティング戦略や目標と一貫するように価格を設定する必要があるが、どれぐらいの価格で販売すれば、消費者が安い/高いと感じるのかを事前に把握したいと考えるだろう。このような背景のもと、PSMは、消費者の心理的側面を踏まえた価格に関する含意の提示を目的としている。

PSM では、4つの質問項目を用いて消費者の価格に対する認識を捉える。なお、質問においては、消費者の価格に関する知覚について知りたい対象(製品やサービス)を特定化する必要がある。例えば、具体的な設問の前に、製品の画像や情報を提示することで、回答者が参照する製品やサービスを特定化することも有効になる。その上で、PSMでは以下の4つの質問によって調査を行う。

  1. (ある製品に対して)安すぎて買わない価格
  • 例:「(この製品を買う[サービスを利用する]のに)価格がいくらより低いと、買うには安すぎて品質に不安を感じますか?; (回答)〇〇円」
  1. 安いと感じる価格
  • 例:「(この製品を買う[サービスを利用する]のに)価格がいくら以下だと、安いと感じますか?; (回答)〇〇円」
  1. 高いと感じる価格
  • 例:「(この製品を買う[サービスを利用する]のに)価格がいくら以上だと、高いと感じますか?; (回答)〇〇円」
  1. 高すぎて買わない価格
  • 例:「(この製品を買う[サービスを利用する]のに)価格がいくら以上だと、買うには高すぎると感じますか?; (回答)〇〇円」

なお、これらの回答の回答によって得た4つ価格は、\(4 > 3 > 2 > 1\) という関係が成り立っている必要がある。これらの質問への回答により得たデータは、以下の図のように回答者ベースの構造をもつはずである。

アンケート元データ構造
アンケート元データ構造

PSMでは、上記のデータから各価格レンジ(以下の例では、x円以下形式)に対して、安すぎる、安い、高い、高すぎる、と感じる人がどの程度いるかを集計する。ある価格水準に対し、安い(高い)や安すぎる(高すぎる)と感じる回答者がどれだけいるのかという(相対)頻度を求めることで分析を行う。以下の表はPSMでの集計を簡単に示したデータ構造である。

PSM用データ構造
PSM用データ構造

Rを用いた分析においては、自身でデータ構造の変換を行う必要はない。Rでは、“pricesensitivitymeter” というパッケージの psm_analysis()という関数を用いることで分析を実行できる。なお、PSM用データ構造への集計作業もこのパッケージにおいて行ってくれる。

ここからは、実際にRを用いたPSMの実行手順を紹介する。まず分析の実行に際し、このパッケージをインストールし、起動する。

install.packages("pricesensitivitymeter")
library(pricesensitivitymeter)
library(tidyverse)

続いて、“psm_ex.csv” という演習用データを読み込み、psm_ex として定義する。

psm_ex <- read.csv("data/psm_ex.csv", na = ".")
head(psm_ex)
##    tch   ch   ex  tex
## 1  963 1016 1242 1318
## 2  866 1082 1272 1303
## 3  795  824 1290 1297
## 4  812  933 1211 1335
## 5 1026  818 1228 1289
## 6  912  987 1195 1395

このデータは、ある製品への価格について、安すぎる(tch)、安い(ch)、高い(ex)、高すぎる(tex)という上記4つの価格認識について、250人の消費者から回答を得た(と仮定する)人工データである。分析の実行においては以下のように、psm_analysis() という関数において、toocheapcheapexpensivetooexpensiveという引数を用いて、データセットにおけるどの変数がPSMで用いる価格情報に対応するのかを指示する必要がある。

output_psm <- psm_analysis(
  toocheap = "tch",
  cheap = "ch",
  expensive = "ex",
  tooexpensive = "tex",
  data = psm_ex
)

summary(output_psm)
## Van Westendorp Price Sensitivity Meter Analysis
## 
## Accepted Price Range: 923 - 1253 
## Indifference Price Point: 1101 
## Optimal Price Point: 1058 
## 
## ---
## 157 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 = 93 / 37% of data)

psm_analysis() の実行結果として、Accepted price range(受容価格域)、Indifference price point(無差別価格)、Optimal price point(最適価格)が提示される。今回の分析の結果を見れば、受容価格域は 923-1253、無差別価格は 1101、最適価格は 1058 である。受容価格域とは、安すぎると感じる人と高すぎると感じる人が少ない価格域を表している。 また無差別価格とは、高いと感じる人と安いと感じる人がつりあっていて、高くもなく安くもない価格である。一方で最適価格とは、高すぎたり安すぎたりして買わないという人が最も少ない(受容する人が最も多い)価格である。

また、PSMでは分析結果を図示化する慣習もあるが、これも psm_plot() という関数を用いて、ggplot 形式のコマンドで簡単に出力できる。

psm_plot(output_psm) +
  labs(
    x = "Price",
    y = "Share of Respondents (0-1)",
    title = "Price Sensitivity Meter Plot",
    caption = "Shaded area: range of acceptable prices\nData: Randomly generated") +
  theme_minimal()
PSM Plot

Figure 12.1: PSM Plot

上記の図では、受容価格価格域、無差別価格、最適価格というそれぞれの結果が、“too cheap”(安すぎる)曲線、“too expensive”(高すぎる)曲線、“not cheap”(安いと感じない)曲線、“not expensive”(高いと感じない)曲線の交点によって導かれていることがうかがえる。次節以降では、これらの結果の背景にはどのような理論があるのかについて詳しく述べる。