需要の価格弾力性の定義っておかしいと思う。iPhone…
需要の価格弾力性の定義っておかしいと思う。iPhone とかを念頭におくけど、新商品って価格が少々高かったからって欲しくなくなることはないが、少しでも安いとこの機を逃さず買おうとする人がたくさん出てくるように思う。それって普通の弾力性の定義だと折れ線になる。
JRF 2018年2月28日
普通、弾力性が強いと安くなると需要が急に大きくなり、高くなると需要が急に小さくなると考える。
しかし、上の「新商品」の場合、安くなると需要が急に大きくなるが、高くなっても需要はそれほど急に小さくならないと考えるわけだ。
一方、「旧商品」は、少し高いと売れなくなる(強弾力)が、安くてもそんなに多く売れない(弱弾力)。
商品に関しては、「弾力性」という概念は少しおかしいのではないか?
JRF 2018年2月28日
《弾力性 - Wikipedia》
https://ja.wikipedia.org/wiki/%E5%BC%BE%E5%8A%9B%E6%80%A7
JRF 2018年2月28日
……。
商品の需要については…、価格の水準も大事だが、下げ幅、上げ幅も重要。以前の価格水準の記憶も重要。需要と供給がマッチしたあと、需要の回復には時間がかかる。…といったことが言えるが、今回は、それらまで考えず、「新商品」が「旧商品」になっていくという展開で、どのような価格戦略を取ればいいかだけ考える。
需要の所得弾力性が 1 より大きものが奢侈品になるが、それと「新商品」の関係がどのようなものかは今後の課題とする。
JRF 2018年2月28日
……。
需要は価格が高くなれば減るが、商品によって価格が高くなったときの減り方に大小がある。また、安くなれば増えるが、増え方に大小がある。減り方が大のものは増え方が小で、減り方が小のものは増え方が大である。高くなれば減る・安くなれば増える…というのの標準的な直線(-45度線)を考える。
JRF 2018年2月28日
ある価格を基準として、減り方が大とは -45 度線の下に直線があり、増え方が大とは、-45度線の下に直線があると考える。また、減り方が小とは -45 度線より上に直線があり、増え方が小とは -45度線より上に直線があると考える。-45度に対する進入角(入射角)=反斜角という考え方はできるかもしれない…。↓より、進入する傾きを a とし反射する傾きを b とすると、a = 1/b であればよい。
JRF 2018年2月28日
《2直線のなす角と正接(tan)の加法定理 | 受験の月》
http://examist.jp/mathematics/trigonometric/line-angle/
>交わる2直線 y = m1 * x +n1, y = m2 * x + n2 のなす角を θ とすると、tan θ = abs((m1 - m2) / 1 + m1 * m2))<
JRF 2018年2月28日
「弾力性」のように変化率を問題にしたい場合どうなるか?「標準的な直線」を 45 度線ではなく、任意の直線としその傾きを c (< 0)とする。進入する傾きを a (a < c < 0)、反射する傾きを b (c < b < 0)とするのは前と同じ。すると b = (a - 2 c - a c^2) / (c^2 - 2 a c - 1) となる。45 度線では単位に対して恣意的すぎるので、この c を - D/P と置いたものが、「弾力性」になるということだろう。
JRF 2018年2月28日
……。
新商品的な弾力性から旧商品的な弾力性に変化するとするとき、価格戦略をどのように取れば、最大の売上をもたらすか?…という問題をどう解けばよいのか? D * P の最大値をずっと辿ればよいのでは…?
JRF 2018年2月28日
D = c P + d_1 (d_1 = D_0 - c P_0) を「標準的な直線」とする。標準的な直線がずっと続くとすれば、D * P = c P^2 + d_1 P = c ((P + 0.5 * (d_1/c))^2 - 0.25 * (d_1/c)^2)。c < 0 なので、P = - 0.5 * (d_1/c) = 0.5 * P_0 - 0.5 * (D_0 / c) > 0 のとき最大値 D * P = - 0.25 * d_1^2 / c を取る。このとき D = 0.5 * d_1。
JRF 2018年2月28日
この D と P を D_1 と P_1 とする。D_1 を D_0 に、P_1 を P_0 にすると、d_2 = d_1、P_2 = - (1/2) * (d_1/c)、D_2 = 0.5 * d_1。d_3 = d_1、P_3 = - (1/2) * (d_1/c)、D_3 = 0.5 * d_1。… 価格を同じ -(1/2) * (d_1/c) にするのが最適戦略だろう。
JRF 2018年2月28日
……。
c_1 = - D_0 / P_0 としてみる。d_1 = 2 * D_0。D = c * P + d が「標準的な直線」。D * P は上と同じで、最大値の P_1 = - (1/2) * (d_1 / c_1) = P_0、D_1 = D_0。 …→ずっと同じ価格が最適戦略だろう。
JRF 2018年2月28日
……。
ちょっと戻って、P_1 < P_0 になるのは、c < - D_0 / P_0 のとき。
JRF 2018年2月28日
f(P) = D * P とする。f'(P) = 2 * c * (P + (1/2) * (d_1/c))。P > P_0 の場合、P_0 < - (1/2) * (d_1/c) すなわち c > - D_0 / P_0 のとき、P = - (1/2) * (d_1/c) で f は最大値 - 0.25 * d_1^2 / c をとり、一方、P > P_0 > - (1/2) * (d_1/c) すなわち c < - D_0 / P_0 のとき、f'(P) < 0 で f は減少関数だから P = P_0 で f は最大値 D_0 * P_0 を取る。
JRF 2018年2月28日
また、P < P_0 の場合、P_0 > - (1/2) * (d_1/c) すなわち c < - D_0 / P_0 のとき、P = - (1/2) * (d_1/c) で f は最大値 - 0.25 * d_1^2 / c をとり、一方、P < P_0 < - (1/2) * (d_1/c) すなわち c > - D_0 / P_0 のとき、f'(P) > 0 で f は増加関数だから P = P_0 で f は最大値 D_0 * P_0 を取る。
JRF 2018年2月28日
ちなみに - 0.25 * d_1^2 / c = - (1/4) * (D_0 - c * P_0)^2 / c だが、これと D_0 * P_0 を比較してみる。- (1/4) * (D_0 - c * P_0)^2 / c - D_0 * P_0 = - (1/(4*c)) * (D_0 + c* P_0)^2 > 0 となる。
JRF 2018年2月28日
a と b が設定されている場合。上の f' に関する解析を利用すれば解ける。P < P_0 で傾き a < - D_0 / P_0、P > P_0 で傾き b > - D_0 / P_0 とする。すると、両側で最大値候補があることになる。a * b > D_0^2 / P_0^2 ならば、P < P_0 側が大きく、逆ならば逆になる。a * b = D_0^2 / P_0^2 ならばどちらを選んでもよいことになる。
JRF 2018年2月28日
一方、P < P_0 で傾き a > - D_0 / P_0、P > P_0 で傾き b < - D_0 / P_0 とする。すると、P = P_0 で最大値を取ることになる。
JRF 2018年2月28日
……。
最大値を辿るとしても次に選べる戦略の差により和の効果は違うのではないか?
JRF 2018年2月28日
g(c) = - (1/4) * (D_0 - c * P_0)^2 / c とする。g'(c) = (1/4) * (1/c^2) * (D_0 - c * P_0) * (D_0 + c * P_0) で、c = - D_0 / P_0 のとき g は最小値を取る。c = - s * D_0 / P_0 とすると、g() = (1/4) * ((1 + s)^2 / s) * D_0 * P_0。s が時間のみの変化とすると、D * P の前期の最大値を辿っていけば、最適戦略になるはず。←それっぽいけど、本当?
JRF 2018年2月28日
結論として、新商品から旧商品に移行するとき、新商品である間は価格戦略はいろいろありうるが、旧商品になった時点で、価格据え置きが最適戦略になる。←おかしい。需要が全体として小さくなっていく様子に対応できていないのではないか?
JRF 2018年2月28日
……。
D_0' = D_0 - K として、上の D_0 のところを D_0' で置き換えれば、式は成り立ちそう。すると結論は変わらないのか? …本当かなぁ?← D_1 * P_1 > D_2 * P_2 かつ P_2 < P_1 なるとき(そして (D_2 - K) * P_2 > (D_1 - K) * P_1 となるとき)は違う結果になりそう。
JRF 2018年2月28日
f(P) = (D - K) * P と置いて解析すべきなのか? しかし、K が D や P と関係ないとは言えないのではないか?→まぁ、とにかく関係ないとしてみよう。
JRF 2018年2月28日
f(P) = (c * P + d_1 - K) * P = c * ((P + (1/2) * (d_1 - K) / c)^2 - (1/4) * (d_1 - K)^2 / c^2)。f'(P) = 2 * c * (P + (1/2) * (d_1 - K) / c)。f'(P) = 0 <=> P = - (1/2) * (d_1 - K) / c。この P を P_1 と置く。P_1 < P_0 <=> c < - (D_0' - K) / P_0。→ 標準線を c = - (D_0' - K) / P_0 に置くのがよさそう。そうすれば上の議論がほとんど成り立つはず。
JRF 2018年2月28日
そもそも D_0' ではなく D_0 を使っていいのでは?
JRF 2018年2月28日
g(c) = - (1/4) * (d_1(c) - K)^2 / c = - (1/4) * (D_0' - c * P_0 - K)^2 / c とおく。c = - (D_0' - K) / P_0 のとき g は最小値を取る。c = - s * (D_0' - K) / P_0 とすると、 g() = (1/4) * ((1 + s)^2 / s) * (D_0' - K) * P_0。最大値に関して最適化すればいいってことになったな…。本当に、あってるのだろうか?
JRF 2018年2月28日
……。
どうやって確かめればいいのだろう? ←シミュレーションを書けばいい。
で、書いてみたのが、↓になる。(Python のプログラムもほぼはじめてで、公開するのももちろんはじめてなので変なところがあってもご容赦願いたい。あと最適化プログラムの使い方もググったものを使っているだけで、詳しいことはわからずに使っているので、間違いがあるかもしれないが、ご寛恕いただきたい。)
JRF 2018年2月28日
《price_elasticity_1.py》
http://jrf.cocolog-nifty.com/archive/python/price_elasticity_1.py
シミュレーションした結果、最大値を辿っていくという戦略は K != 0 の場合、うまくいかないようだ。
JRF 2018年2月28日
……。
n + 1 期の需要と価格の関係が P_n と D_n - K を通る傾きが - (D_n - K) / P_n の直線を標準として、新商品は sa > 1 として P_{n+1} < P_n について、- sa * (D_n - K) / P_n の傾きの直線で「入射」し、P_n < P_{n+1} については、- (1/sa) * (D_n - K) / P_n の傾きの直線で「反射」すると考える。
JRF 2018年2月28日
期数を 6、初期の価格を 10、初期の需要を 20、K = 1、sa が 3 から 1/3 まで変化するとする。「スコア」を D_1 * P_1 + ... + D_6 * V_6 とする。
JRF 2018年2月28日
すると上のシミュレーションを実行すると最大値を辿る戦略のスコアは 1808.4416712278785 で、価格の推移は 10.0, 6.666666666666668, 11.555555555555557, 8.766283524904216, 10.51954022988506, 10.51954022988506, 10.51954022988506 になる。
JRF 2018年2月28日
一方、求まった最適解のスコアは 1814.036176 で、価格の推移は、10.0, 6.41034779, 10.76012139, 7.99474042, 9.45123748, 9.45123748, 9.45123748 と価格安め(需要多め)になる。
JRF 2018年2月28日
……。
実は最も単純な期数 2 の場合について最適化を解析的に解こうとしたのだが、私には無理だった。せめて K = 0 の場合だけでも…と思ったが、できなかった。
JRF 2018年2月28日
……。
いずれにしろシミュレーションの例では、新商品である間は、安くしたり高くしたりが有効で、旧商品になったら価格を維持するのがよさそう…ということになった。それが一般的なのかはわからないが…。
結論としては「定義がおかしい」とまではいえないだろう。ただ、価格弾力性を単純な直線と考える必要はないと言えるかもしれない。現代では、簡単にシミュレーションもできるしね。…といったところか。
JRF 2018年2月28日
……。
……。
追記。
scipy.optimize の説明によると fmin ではなく minimize という関数を使って欲しいとのことだったので、そのように書き換えた。いちおう、前のバージョンを price_elasticity_1-20180228.py として、今回のバージョンを price_elasticity_1-20180307.py として置いておく。
《price_elasticity_1-20180228.py》
http://jrf.cocolog-nifty.com/archive/python/price_elasticity_1-20180228.py
JRF 2018年3月7日
《price_elasticity_1-20180307.py》
http://jrf.cocolog-nifty.com/archive/python/price_elasticity_1-20180307.py
JRF 2018年3月7日
Trackbacks:
《cocolog:89122076》 from JRF のひとこと
http://jrf.cocolog-nifty.com/statuses/2018/03/post-c055.html
金利は破綻のリスクに対する保障としてあり、その本質は社会に確保される「捨て扶持」にあるのではないか? 投資により所得が増えるのは、「捨て扶持」を利用するところからリスクを取るところに移動し、人口増に寄与するからではないか?...
受信: 2018-03-30 21:28:22 (JST)
《cocolog:89067097》 from JRF のひとこと
http://jrf.cocolog-nifty.com/statuses/2018/03/post-9117.html
ミクロ経済学の我流シミュレーションのプログラムを Python で書いた。モデルは簡単なのに動かすのに苦労した。そして結果が思った以上にカオス風で一定しない。機械高度化にともなううんたら…という理論を検証しようとはじめたのだが、とてもそんなことをいう余裕はない。...
受信: 2018-03-30 21:29:03 (JST)