2009年8月7日金曜日

[37signals] 「平均」はあてにならない

(原文: The problem with averages)

ビジネス実践において我々は「平均」というものに重きを置き過ぎている。平均レスポンスタイム、平均コンバージョン率(訳注: 商用サイトにおける、訪問者数と実際に購入した人との比率)、平均顧客生涯価値(訳注: 一人の顧客から生涯にわたって得られるであろう損益の累計。LTV)、その他海千山千の「平均」がある。

これら「平均」というものは、実態に即した情報を全然伝えてくれない上に誤った全体像をもたらすことすらある、という問題を抱えている。

New Relic によると、Basecamp の現状平均レスポンスタイムは 87ms である。申し分の無い数字だよね。数字を見る限り、万事上手くいっており、パフォーマンス改善のための最適化作業に時間を費やす必要は全くないように見える。

ところがそうじゃないのだ。この平均値はリクエストやキャッシュ内データを流す際の超高速なレスポンスにより完全に歪められた値なのだ。1000 リクエストについて 5 ms でレスポンスを返せる時と、200 リクエストについて 2000 ms でレスポンスを返す時があったとしても、これらを平均してしまうと 170 ms というまずまずの数値が出てきてしまう。つかえねー。

必要なのは平均ではなくヒストグラム(度数分布)の方だ。これにより事象集団を摘出し、その事象についての改善に着手すべきか否かを判断するのが容易になる。例外的事象を必要以上に重視してしまうこともなくなるので、データに基づく判断はより良いものになると思われる。

追伸:標準偏差は事象の幅が大きい場合はほとんど役に立たない。リクエストの処理に 5 ms で済む場合もあれば 5000 ms 掛かる場合もあるという状態においては標準偏差は意味が無い。

0 件のコメント:

コメントを投稿