社員どうしでボーナスを計算する その2

昨日のエントリー、社員どうしでボーナスを計算するが思いのほか反響があったので、はてなで実践した例についてもう少し詳しくご紹介しておこうと思います。

まず、今回の試みについては「基本○ヶ月分」と決まっている通常のボーナスではない、業績連動部分のボーナスについて行いました。ですので、個別の面談で決定した基本報酬額のプラスアルファの部分について行った、という経緯があります。相互評価方式を採用したのは今年が初めてだったわけですが、最初の取り組みでありどんな結果になるか分からない、という部分もあったため基本的な報酬額の部分には踏み込んではいません。

さらに、集計して算出された結果を見ながら取締役会で調整を行って最終的な支給額を決定する、という前提の下で実施しました。

実際の評価に使った各社員用の評価シートと、集計プログラムを公開しておきます。(同様の取り組みを行われる方はどうぞご自由にお使いください)
http://hatena.g.hatena.ne.jp/files/hatena/cef2d049d01a1239.xls
http://hatena.g.hatena.ne.jp/files/hatena/4bd661bfaa7d2e83.pl

評価シートは、全社員分の行が用意されていて、

  • 100点満点の評価点
  • 主な仕事
  • 良い点
  • 改善点

をそれぞれの社員に対して記入するようになっています。自分も含めて、今期どのような仕事をし、どこが評価されるべきで、どこを改善すべきなのかを客観的に書いてもらいました。

この記入にはとても時間がかかりますが、会社にとって重要な業務である、という認識の下に、結構な時間を使って全員が真剣に評価を行いました。

プログラムは最後の

sub getevaluation {
    return [
        [0.01, 0.02, 0.03, ...], # sum = 1.00
        ...
    ];
}

という部分に、各社員がそれぞれの社員に対して行った評価を、合計が1.00になるような確率に変換して代入します。「評価が出来ない」として空欄にした人については、他人の平均点を代入する方法と取りました。
計算は行列を解くのではなく、何度もこの評価点を掛け合わせ続けることで、評価点を漸近させて算出しています。30回もループすれば値は全く動かなくなりました。

この計算を行い、結果を取締役会で検討して最終的な支給額を決定しました。支給額の決定では、概ねお互いの認識に一致した評価順位となっていたため、評価点に個別に手を入れることは行いませんでしたが、全体的に評価点から一定の数を引いてその値を用いました。これは、思った以上に各自の評価に差がつかず、「これくらいは社員間で差があるはずだ」という取締役の意向を入れたわけです。

支給額が決定した後は各社員と面談を行い、

  • 集計後の評価点
  • 評価点の社内順位
  • ボーナス支給額

を伝えました。
また、評価シート内の「主な仕事」「良い点」「改善点」については、編集を行って「誰が」「誰に対して」「何を書いたか」を全て社内で公開し、各自がそれぞれどういう部分を評価したり、改善して欲しいと思っているのかをオープンにしました。この評価は、次期の報酬を決定する際にも参考になり、個別の面談時にも役立ちました。

今年初めて行った相互評価については、大体こういう感じの取り組みでした。またこれから社員が増えてくると工夫が必要となっていくと思いますが、初めての取り組みにしてはうまくいったと思っていますし、来年以降も改善をしながら続けて行きたいと考えています。

PICSY人事評価

本件について、PICSYプロジェクトを進められている鈴木さんから反応を頂きました。
http://blog.picsy.org/archives/000327.html
リンク先に書いてあるように、もともとこうした人事評価のヒントは鈴木さんに頂いて、実際のプログラムもrubyのプログラムを頂いてそれをperlで書き直して使っています。
鈴木さん、どうもありがとうございました。PICSYもこれからどのように発展していくか楽しみです。