SASでHHI(ハフィンダール指数)を計算するマクロを作った

Share Button

なんか最近めちゃくちゃ忙しいです。
 
市場の独占度合いを測る指標として使われる、ハフィンダール・ハーシュマン指数(Herfindahl-Hirschman Index)
単純な計算ながら、工夫するといろいろと使える指標のひとつだと思います。
 
諸事情により大量に算出する必要が出てきたので、単純な計算なんですがSASで計算するマクロを組みました。
動作の保証や、誤作動による損失や計算ミスに関する責任は負いかねますので、自己責任での使用、もしくはご自分で計算する際の参考として使用するなどお願い致します。
 
%calcHHI(ライブラリ名.データセット名, 分類に使用する変数, 対象の変数)
 
使用例:(データの中身は適当です)

DATA calctest;
  INPUT industry company sales;
  CARDS;
  1 1 13000;
  1 2 36000;
  1 3 20000;
  2 4 9000;
  2 5 52000;
  2 6 1500;
  2 7 1800;
  2 8 3200;
  3 9 21000;
  3 10 1200;
  3 11 1800;
  3 12 1500;
  3 13 800;
  3 14 1100;
;

 
ここに対して
%calcHHI(calctest, industry, sales)
これを走らせるとindustry(産業)ごとのHHIを算出できます。
 
中のプログラムはちょっと回りくどいやり方してますが、
1 産業ごとの売り上げの合計を算出
2 それぞれの企業の売上を合計で割ってシェアを算出し、2乗
3 最後に2乗した値を産業ごとに再び合計
 
とまあこんな感じです。
 
最近ついにgithubでプログラムをバージョン管理することを覚えたので、中身はGitHubで公開してみることにします。
calcHHI,sas
 

 
 
 


Share Button

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です