1.6

1.6 エンジニアリング指標のための統計リテラシー

概要と動機

指標プログラムをうまく運営するために統計学の学位は必要ありませんが、他の点ではよく統治され、よく計測された指標を積極的に誤解を招くものにしてしまう、少数の特定のよくある間違いは避ける必要があります。あるチームが、明確な決定を名指しし、グッドハートの法則を避け、成果に重みを置き、所有権を統治し、信頼できる計測基盤を構築する、というすべてを正しく行っても、パーセンタイルが必要な場面で平均を読んだり、ノイズを傾向と取り違えたり、原因を装った偶然に騙されたりして、それでも間違った結論を導くことがあります。本トピックは、以降のどのトピックの読者も本書がすでに持っていると想定する、最低限の統計的な判断力を扱います。

核心にある問題は、エンジニアリングの指標が、正式な統計学の基準に照らすと、通常はノイズが多く、歪んでおり、サンプルサイズが小さいということです。単一のチームの週次デプロイ件数は滑らかな釣鐘曲線ではありません。それは、時折大きな外れ値(大規模なリリース、インシエントに駆動された一連のロールバック)を伴う、一握りのデータ点です。大規模でよく振る舞うデータセットのために作られた素朴な直観をこの種のデータに適用すると、定期的に自信ありげだが間違った結論を生み出します。ある数字が信頼するには騒がしすぎるとき、平均があなたに嘘をついているとき、そして二つのものが一緒に動いていることが因果関係について何も語っていないときを見分けることを学ぶのは、任意の厳密さではありません。それは、組織に何か真実のことを教える指標プログラムと、何かもっともらしく聞こえる偽りのことを教える指標プログラムを分かつものです。

企業や政府の規模においては、統計的な間違いは増幅します。なぜなら、誤解を招く結論は、一度経営陣に受け入れられると、誰かが根底にある分析を再検討しようと思う前に、多くのチームにわたって行動へと移されてしまうからです。二つの部門の間、あるいは大規模な組織再編の前後の、統計的に素朴な比較は、ノイズか、誰も統制していなかった交絡要因以上の何ものでもないものに基づいて、何年にもわたる資源配分の決定を形づくることがあります。本トピックは、その失敗を起きにくくするために存在します。

重要な原則

  • 中央値やパーセンタイルは、たいてい平均よりも多くを教えてくれる。 エンジニアリングデータは、平均が吸収してしまうがパーセンタイルは吸収しない外れ値によって、日常的に歪められています。
  • 小さなサンプルはノイズの多い数字を生む。 一握りのイベントから計算された割合は、本物の変化とは何の関係もない理由で大きく揺れ動きます。
  • 平均への回帰は、人々を絶えず欺く。 異常に良い、あるいは悪い読み取り結果の後には、介入のあるなしにかかわらず、より普通の読み取り結果が続く傾向があります。
  • 相関は因果関係ではなく、交絡変数はどこにでもある。 一緒に動いている二つのメトリクスは、一方が他方を動かしているのではなく、隠れた第三の原因を共有しているかもしれません。
  • 管理図は単一の前後比較に勝る。 正常な変動の範囲を見ることこそが、本物の変化をノイズから見分けさせてくれます。

推奨事項

歪んだデータには既定で中央値とパーセンタイルを使う

リードタイム、インシデント復旧時間、応答レイテンシといった、エンジニアリングの時間ベースのメトリクスは、ほぼ常に右に歪んでいます。ほとんどの値は低い方に集まり、時折現れる大きな外れ値の長い裾を伴います。その裾に引っ張られた平均は、典型的なケースが実際にはまったくそう見えないような絵を描くことがあります。中央値(観測値の半分がそれより上、半分がそれより下にある真ん中の値)を、90パーセンタイルや95パーセンタイル(観測値の90%や95%がそれより下に落ちる値)と並べて報告してください。これらを合わせれば、典型的なケースと、チームが実際に経験する最悪のケースの裾の両方が見えてきます。姉妹書『software-engineering-guide』のKPIのトピック、そして本書の第2部にあるすべての提供メトリクスのトピックは、この習慣を前提としています。

サンプルが信頼するには小さすぎるときを知る

静かな週の3回のデプロイから計算された変更失敗率は、意味のある信号ではありません。一度の失敗が、根底にあるリスクとは何の関係もない理由で、その割合を一夜にして0%から33%へと動かします。割合ベースのメトリクスに反応する前に、根底にある件数を確認してください。実用的な経験則として、おおよそ20から30未満の根底にあるイベントから計算された割合はノイズが多いと見なし、結論を出す前により長い観察期間を必要とすると扱ってください。そして、変動の激しい小サンプルの割合を、安定した大サンプルの割合と同じ自信を持って提示するのではなく、ダッシュボード上でそれを明示的に述べてください。

介入の手柄にする前に平均への回帰に注意する

あるチームのインシデントについての過去最悪の週の後に経営陣の注目があり、その後改善が続いたなら、その介入の手柄にしたくなる誘惑があります。しかし、しばしばその改善の一部は、いずれにせよ起きていたはずです。なぜなら、異常に極端な読み取り結果の後には、純粋に統計的な不具合として、より典型的な読み取り結果が続く傾向があるからです。この現象は平均への回帰と呼ばれます。これを防ぐには、注目を集めた単一の極端なデータ点ではなく、より長い過去のベースラインと比較し、観測された改善のどれだけを特定の行動に帰属させるべきかについて適切に謙虚であってください。

メトリクスが成果を引き起こしたと主張する前に交絡変数を探す

二つのメトリクス、たとえばデプロイ頻度の上昇と顧客満足度が一緒に動いているとき、一方が他方を引き起こしたと主張する反射的な反応には抵抗し、交絡変数、つまり両方を動かしている隠れた第三の要因を考慮してください。新機能のローンチは、デプロイ頻度(より多くの追加修正)と満足度(機能そのもの)の両方を独立に押し上げるかもしれず、二つのメトリクスの間にはまったく因果関係がないかもしれません。ある相関を因果関係の証拠として提示する前に、同時期に他に何が変わったかを積極的に問い、両方の動きを説明できるものを探してください。

単一の前後比較ではなく管理図を使う

管理図は、時間に沿ってメトリクスをプロットし、その正常な変動の範囲を、典型的には中心となる平均の周りの帯として明示的に示します。これにより、通常の範囲を外れたデータ点や持続的な傾向である本物の変化を、単一の前後比較では見分けられない普通のノイズから区別できるようになります。「変更の後、数字が改善した」と宣言する前に、正常な変動がどう見えるかを把握できるだけの十分な過去のデータをプロットし、変更後の読み取り結果が実際にそこから外れているかを確認してください。

トレードオフ:長所と短所

アプローチ長所短所
平均単純で、なじみがあり、計算しやすい歪んだエンジニアリングデータでは外れ値によってゆがめられる
中央値とパーセンタイル外れ値に頑健で、典型的なケースと裾を一緒に示す非技術的な聴衆にはやや馴染みが薄い
単一の前後比較速く、直感的で、提示しやすい平均への回帰とノイズに脆弱
管理図とより長いベースライン本物の変化をノイズから確実に区別するより多くの過去データと非技術的な聴衆への説明が必要

中心にある緊張関係は単純さと厳密さです。平均と単一の前後比較は計算と説明がしやすく、だからこそ何気ない報告を支配していますが、それらはまた、本書のメトリクスが生み出すような騒がしく歪んだデータにおいて、自信ありげだが間違った結論を生み出す可能性が最も高い二つの手法でもあります。この緊張を解消するには、本物の結果を伴うあらゆる決定に対しては、より厳密な手法、中央値、パーセンタイル、管理図を既定とし、単純な手法は、読み違えてもほとんど代償を払わない、賭け金の低い探索的な一瞥のためにとっておいてください。

チームで話し合うべき問い

  1. 私たちのダッシュボードのタイルのうち、中央値やパーセンタイルの方がより真実の物語を語るのに、平均を報告しているものはどれでしょうか。 時間ベースのエンジニアリング指標はほぼ常に歪んでおり、歪んだデータの平均は、典型的なケースや最悪のケースの裾がまったく別の物語を語っているときでも、良さそうに見えることがあります。時間ベースのタイルを特にこの置き換えについて監査してください。

  2. 私たちの割合ベースのメトリクスの背後にある根底のサンプルはどれだけ小さく、私たちは10件のイベントから来たメトリクスを1000件から来たものと同じ自信で扱っているでしょうか。 根底の件数が示されない変動の激しい小サンプルの割合は、ノイズへの過剰反応を招きます。変更失敗率や類似の割合タイルについて、この隙間を確認してください。

  3. 私たちは、いずれにせよ平均への回帰が生み出したはずの改善について、介入の手柄にしたことがあるでしょうか。 これは最も犯しやすい統計的な間違いの一つであり、事後に気づくのが最も難しいものの一つです。なぜなら、介入と改善は本当にその順序で起きたからです。直近の「私たちはこれを修正した」という話を振り返り、ベースラインの比較がこれを除外するのに十分な長さだったかを正直に問うてください。

  4. 私たちはどこで、交絡変数を確認せずに、あるメトリクスが別のメトリクスを引き起こしたと想定してきたでしょうか。 二つのものが一緒に動くのはよくあることです。一方が他方を引き起こすというのは、より多くの証拠を必要とするより強い主張です。あなたのチームが今信じている相関を一つ選び、因果関係がまったくなくてもそれを説明できる、もっともらしい交絡要因を名指ししてみてください。

  5. 私たちは、最も重要なメトリクスについて正常な変動がどう見えるかを知るのに十分な過去のデータを持っているでしょうか、それとも単一の点を比較しているだけでしょうか。 正常な範囲の感覚がなければ、どんな単一の読み取り結果も、証拠ではなく気分次第で、警戒すべきものにも安心できるものにも見えてしまいます。あなたの最も注目されているメトリクスが、単一の数字としてではなく管理図としてプロットされたことがあるかを話し合ってください。

  6. 私たちは現在、非技術的な利害関係者に不確実性をどう伝えているでしょうか。そして私たちのダッシュボードは、データが実際に裏づける以上の精度を暗示していないでしょうか。 正常な変動やサンプルサイズの表示がないグラフは、経営陣にノイズへの過剰反応をさせることもあれば、同じくらいよくあることとして、本物の信号をノイズとして退けさせることもあります。読みにくくならずにこれを正直に伝えるには、あなたの報告をどう変えられるかを話し合ってください。

業種別の視点

スタートアップ。 小さなチームはほとんどあらゆる場所で小さなサンプルを生み出します。これは、本トピックの小サンプルへの注意が絶えず重要であることを意味します。1回の悪い週や1回の素晴らしい週から強い結論を引き出すことには抵抗してください。一握りのデータ点しかない場合、「これは傾向か」という問いへの正直な答えは、しばしば「まだわからない」です。

中小企業。 既製のツールの組み込みダッシュボードは、しばしば既定で平均と単一期間比較を使います。なぜならそれらが計算と表示に最も単純だからです。ツールが許す限り、時間ベースのメトリクスについては中央値に切り替え、小さな根底の件数から計算された「今月40%上昇」という見出しには懐疑的であってください。

企業。 この規模での統計的な間違いは、何百人もの人々に影響する資源配分と組織再編の決定に組み込まれてしまいます。事業部間の比較や、大きな変更の前後比較が確定した事実として経営陣に提示される前に、適切な管理図を構築し交絡要因を確認できる分析官や組み込みのデータ実務者に投資してください。

政府。 公開報告書や予算の正当化に供給される統計的に素朴な比較は、過大な現実世界の結果をもたらすことがあり、ずさんな分析を公に暴露するまさにその種の精査を招きます。管理図、文書化されたサンプルサイズ、交絡の確認というより厳密な手法を、外部に公開されるものについては、時折のベストエフォートとしてではなく、常設の慣行として適用してください。

事例

企業。 あるソフトウェア企業の経営陣は、新しいコードレビュー方針を導入した翌月に変更失敗率が25%改善したことを祝い、その方針の手柄にしました。より詳しく見てみると、「変更前」の月は、あるチームの移行がうまくいかなかったことによって駆動された、異常に悪い月であったこと、そして両方の月の根底にあるサンプルサイズが全社で30デプロイ未満であったことが判明しました。12か月分の履歴を使った管理図は、新しい読み取り結果が正常な変動の範囲内にしっかり収まっており、本物の段階的変化ではないことを示しました。そして、その方針の実際の効果は、本物ではあったものの、見出しの数字が示唆していたよりもはるかに小さいものでした。

政府。 ある公共交通機関は、新たにデジタル化されたスケジューリングシステムについて、前年比での定時運行率の大きな改善を、単一の「変更前」の四半期と単一の「変更後」の四半期を比較して報告しました。独立したレビューの結果、「変更前」の四半期は、ネットワーク全体の実績を押し下げていた無関係な工事による閉鎖と重なっていたこと、そしてより長いベースラインを見ると、新しいシステムが導入される前からすでに定時運行率が回復しつつあったことが判明しました。この機関の改訂された報告書は、複数年にわたる完全な管理図を使い、より控えめではあるがより擁護可能な改善を、新しいシステムに特に帰属させました。

ビジネスケース:動機、ROI、総所有コスト

統計リテラシーからの見返りは、見当違いの方向づけの回避です。改善を正しく帰属させる、あるいはノイズをノイズとして正しく認識する組織は、幻の効果を追いかけるのではなく、次の投資を実際に役立つ場所に費やします。上記の小売の例は典型的です。自社のレビュー方針だけが25%の改善を牽引したと信じた企業は、他の本物の貢献要因への投資を怠るか、将来の決定を誤導する形でその方針の価値を誇張しているかもしれません。

統計的な厳密さの総コストは、主に新しいツールではなく習慣の転換です。平均ではなく中央値を選ぶこと、反応する前にサンプルサイズを確認すること、勝利を宣言する前により長いベースラインをプロットすること。これらの習慣は採用するのにほとんど費用がかからず、自信ありげだが間違った結論に基づいて下された決定という、はるかに大きく検出しにくいコストを防ぎます。

アンチパターンと落とし穴

  • 歪んだ時間ベースのデータについて平均を報告する。 典型的なケースと裾を、一つの誤解を招く数字の背後に隠します。
  • 見えるサンプルサイズのない割合に反応する。 一握りのイベントからのノイズを、安定した意味のある傾向であるかのように扱います。
  • 平均への回帰を除外せずに介入の手柄にする。 よくある、犯しやすく、気づきにくい間違いです。
  • 交絡を考慮せずに相関から因果関係を主張する。 データが実際に裏づけるものを誇張します。
  • より長いベースラインをプロットする代わりに単一の前後比較をする。 本物の変化を普通の変動から区別できません。
  • 経営陣向けの報告でデータが裏づける以上の精度を暗示する。 ノイズへの過剰反応、あるいは本物の信号の見過ごしを招きます。

成熟度モデル

  • レベル1、開始: メトリクスは、サンプルサイズ、歪み、ベースラインの変動にまったく注意を払わず、素の平均と単一の前後比較として報告されます。
  • レベル2、発展: 一部の分析官は中央値やパーセンタイルを非公式に適用しますが、一貫した組織的な慣行はなく、交絡が確認されることはめったにありません。
  • レベル3、標準化: 中央値とパーセンタイルが歪んだ時間ベースのメトリクスの既定であり、サンプルサイズが組織全体で割合ベースのメトリクスと並んで示されます。
  • レベル4、管理: 過去のベースラインを伴う管理図が、本物の変化のどんな主張に対しても標準的な慣行であり、報告の中で因果関係が主張される前に交絡変数が積極的に考慮されます。
  • レベル5、最適化: 統計的な厳密さがツールそのものに組み込まれ、ダッシュボードは既定でパーセンタイルと管理帯を描画し、組織は、統計的に素朴な読み取り結果が戦略を形づくる前に捕まえられて、特定の過去の決定が修正されたことを示すことができます。

議論のためのアイデア

  1. もし平均を中央値に置き換えたら、私たちの現在のダッシュボードの見出しのどれが違って見えるでしょうか。
  2. ある割合が、私たちが想定していたよりもはるかに小さなサンプルに基づいていたと判明して決定を変えたことがあるでしょうか。
  3. 平均への回帰について再検討すべき、最近の「このメトリクスを改善した」という話は何でしょうか。
  4. 私たちの二つのメトリクスのうち、一方が他方を動かしているのではなく、隠れた第三の原因を通じて相関しているかもしれないものはどこでしょうか。
  5. 私たちの最も重要なグラフは、正常な変動の範囲を示しているでしょうか、それとも単一の傾向線だけでしょうか。

主な要点

  • 歪んだ、時間ベースのエンジニアリング指標には、平均よりも中央値とパーセンタイルを優先してください。
  • 小さなサンプルからの割合はノイズが多いものとして扱い、安定した傾向として反応するのではなく、明示的にそう述べてください。
  • 異常に悪い読み取り結果の後に続いた改善について介入の手柄にする前に、平均への回帰に注意してください。
  • 相関は因果関係ではありません。 因果関係を主張する前に、積極的に交絡変数を探してください。
  • 単一の前後比較ではなく、本物の過去のベースラインを伴う管理図を使い、本物の変化を普通のノイズから見分けてください。

参考文献とさらなる読書

  • The Signal and the Noise, Nate Silver 著。
  • How to Measure Anything, Douglas W. Hubbard 著。
  • Understanding Variation: The Key to Managing Chaos, Donald J. Wheeler 著。
  • Thinking, Fast and Slow, Daniel Kahneman 著。
  • The Visual Display of Quantitative Information, Edward R. Tufte 著。