Alteryxで価格弾力性を求めてみる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは小澤です。

弾力のあるものが好きな方も多いかと思います。 グミや肉球など挙げていくとキリがありません。

しかし、残念ながら今回それらは登場しません。 今回登場するのは"商品価格"の弾力性です。果たしてどんなものなのでしょうか?

価格弾力性とは

みなさんは全く同じ商品が2つの異なる価格で売られていた場合、高い方と安い方のどちらを買うでしょうか? 安い方に"訳アリ"みたいなことが書かれていなければ、高い方を選ぶ人は通常いないと思われます。

通常、同じ商品であれば安い方が売れる量が多くなり、高くなれば少なくなります。 もちろん、販売個数だけを見て安くするとその分利益率も低下するため何が何でも安くすればいい、 というわけでありませんが、全体の売上は1個当たりの売上 x 販売個数で決まるので適切なラインがありそうです。 また、在庫入れ替えや書き入れ時のセールなんかでは数を狙って安くするかもしれません。

では、どんな商品がどれだけ安くなればどのくらい売れるのかを考えます。 過去の販売実績があれば、販売価格と売上個数の関係を可視化できます。

先ほどの話やこのグラフからもわかる通り、値段が安ければ安いほどいっぱい買ってもらえるので、通常このような右肩下がりなグラフとなります。

ところで、この値下げによる販売数の増加というのは商品によって影響を受けやすいものと受けづらいものがあります。

例えば生活必需品はこの影響を受けづらいものとなっています。 トイレットペーパーで考えてみましょう。 安売りしてる時に買えればそれがベストですが、値段にかかわらず切れたら買うと選択肢以外存在しないようなものであるため、必然的に販売個数が価格に影響されづらくなります。

一方、高級品や嗜好品なんかはこの影響を受けやすいものになります。 家電なんかは安売りしてるタイミングで買い替えたりする人も多いのではないでしょうか?

このように販売価格と販売数の関係はその商品の性質によってグラフの傾きが異なってきます。 では、どの商品がどのくらい値下げの影響を受けやすいのか、それを示すための値が 価格弾力性 となります。

価格弾力性は以下のように定義されます。

[latex] E = \frac{\frac{\Delta D}{D}}{\frac{\Delta P}{P}} = \frac{P}{D} \frac{\Delta D}{\Delta P} [/latex]

この式において、Pは販売価格, Dは販売個数, Δは変化量としています。 また、この関係は通常右肩下がり(=マイナスの傾き)となるため、結果の絶対値を取ったものを価格弾力性とします。

よくわかんないですね!!

よくわかんないので変化率の比を求めるような計算になってるという雰囲気を感じ取ってください。 価格が1%下がった時に販売個数が何%伸びるか、というのがこの価格弾力性になります。 そのため、この価格弾力性は1を基準に

  • 1より低ければ値下げしても販売個数がそれほど増えないので弾力性は低い
  • 1より高ければ値下げによって販売個数が増えやすいので弾力性は高い

と判断します。

雑に言うと、値下げしてみてどれくらい伸びたか見れば価格弾力性がわかるというわけです。

さて、ここで先ほどのグラフに戻ってみましょう。 このグラフにそれっぽい近似線を引いてみます。

同じ価格で販売していてもタイミングによって売上個数は異なるため、このように近似線の値を利用します。 この線の傾きが価格弾力性の値として利用できるわけですが、残念ながら、直線にはなっていません。 y = ax + bで表せる直線であれば、価格弾力性を計算するのにその傾きが利用できそうだったのですが残念です。。。

そこで、まずはこの曲線を表す式を考えます。 難しいことは考えたくないので、どうしてそうなるかは別として以下のような式で表せると想定します。

[latex] y = \alpha x^{\beta} [/latex]

シンプルな中にも強みを感じるなかなか手ごわそうな式です。 さて、さらに何をしているか難しいことは考えずに対数を取ってこの式を変換してみます。

[latex] \log y = \log \alpha x^{\beta} \\ = \log \alpha + \beta \log x [/latex]

最後に、log yをD, log xをPとすると以下のようになります。

[latex] D = \log \alpha + \beta P [/latex]

このPとDの関係(元々はxとyの関係)はなんと、y = ax + bとなりました。

何やら難しい話となりましたが、大丈夫です。 覚えておけばいいことは、元データの価格と販売量の対数を取って、βを値を求めることで価格弾力性がわかる、ということです。

Alteryxでやってみる

では、Alteryxでやってみましょう。 今回作成するワークフローは以下のようになります。

短いワークフローではありますが、Predictiveからの参戦者がいて怖いですね。 でも大丈夫、そんなに怖くありません。

まず入力データは以下のようになっています。

DATE列には販売を行った週、priceとsalesにそれぞれ販売価格と販売個数が入っています。

このデータに対して、まずはFormulaツールでpriceとsalesの対数を計算します。

対数と言われると怖そうですが、Formulaの中身はそれほど怖くない簡単な式になってるのが確認できるかと思います。

さて、続いてはPredictiveからの参戦者である"怖いおじさん"こと、Linear Regressionツールです。 怖そうですが、怖くないので安心してください。

今回作成するのは販売価格から販売個数を予測したい、というモデルです(ただし両方対数を取ったもの)。 そのため、Select the target variableにlog_salesを選択し、Select the predictor variablesはlog_priceのみにチェックを入れます。

さて、これで計算する準備が整いました。 Linear Regressionツールの真ん中R出力の先にBrowseツールを接続することで結果を確認できます。

どうやら、この商品の価格弾力性は3.456と高く、値下げするといい感じに販売数も伸びそうです。

近似曲線も引いてみる

価格弾力性の数値はわかりましたが、せっかくなので近似曲線を引いたグラフも作成してみましょう。

まず、近似曲線の値となる予測値をScoreツールを使って付与します。 このツールの設定は特に変更の必要はありません。 結果は以下のようになります。

この予測値は対数を取ったものなので、元に戻すためにFormulaツールでexpを取ります。

この後、近似曲線は折れ線グラフで引くため、Formulaツールの計算結果であるpredict列でソートします。

必要なデータがそろったので、Interactive Chartツールでグラフを作成します。

実績値のグラフは散布時、近似曲線は折れ線グラフを設定しています。 縦軸はどちらも価格となるため、price列を選択しています。 横軸は実績は観測された販売数、近似曲線は予測値であるpredictにしています。

この結果、以下のようなグラフが作成されます。

おわりに

今回は、Alteryxで価格弾力性の計算をしてみました。 セールなんかを行う際の対象商品の選定や多少強気な価格設定で攻めても大丈夫そうな商品を見極める際などにご利用ください。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400