「1時間に平均3件の問い合わせが来るとき、5件以上になる確率はどのくらい?」。こんな疑問を感じたことはありませんか?
過去の平均はわかっていても、実際に何件来るかの確率は感覚でしか語れません。手計算で求めようとすると、指数や階乗が出てきて大変ですよね。
そんなときに使えるのがPOISSON関数です。この記事ではGoogleスプレッドシートでのPOISSON関数の使い方を、基本構文から実務活用まで解説します。POISSON.DIST関数との違いもあわせて紹介しますよ。
POISSON関数とは
POISSON関数(読み方: ポアソン関数)は、ポアソン分布にもとづいて確率を返す関数です。ポアソン分布とは、一定の時間や範囲のなかで、あるイベントが何回起きるかの確率分布です。「POISSON」はフランスの数学者シメオン・ドニ・ポアソンの名前に由来します。
たとえば「1日に平均2件のクレームが届くとき、5件以上届く確率」を1つの数式で求められます。
POISSON関数にできることをまとめると、次のとおりです。
- ちょうどx回イベントが起きる確率を求める(確率密度)
- x回以下イベントが起きる確率を求める(累積確率)
- コールセンターの着信予測や在庫の欠品確率を計算する
WARNING
POISSON関数は、以前のバージョンとの互換性を維持するための関数です。Googleスプレッドシートでは問題なく使えますが、新しく数式を書くときはPOISSON.DIST関数を使うことをおすすめします。計算結果は同じです。
ポアソン分布が成り立つ3つの条件
POISSON関数を使うには、データがポアソン分布の前提を満たしている必要があります。
- イベントが独立: あるイベントの発生が、次のイベントの発生に影響しない
- 平均発生回数がわかっている: 一定の期間や範囲での平均回数が既知
- 同時発生しない: 極めて短い期間に2回以上同時に起きることはない
コールセンターの着信件数、Webサイトへのアクセス数、不良品の発生個数などは、この3条件を満たす典型的な場面です。
POISSON関数の書き方(構文と引数)
基本構文
=POISSON(イベント数, 平均, 関数形式)
カッコの中に3つの引数を指定します。すべて必須です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| イベント数(x) | 必須 | 確率を求めたいイベントの発生回数。0以上の整数を指定します |
| 平均(mean) | 必須 | 一定期間内のイベントの平均発生回数。0より大きい数値を指定します |
| 関数形式(cumulative) | 必須 | TRUEで累積分布、FALSEで確率密度を返します |
関数形式のTRUE/FALSEの違いがポイントです。
- FALSE(確率密度): 「ちょうどX回起きる確率」を返します
- TRUE(累積分布): 「0回からX回までに収まる確率」を返します
たとえば平均3件のとき、=POISSON(5,3,FALSE) は「ちょうど5件になる確率」です。=POISSON(5,3,TRUE) は「0〜5件に収まる確率」が返ります。
TIP
イベント数に小数を指定すると、小数部分は切り捨てられます。たとえば2.7は2として処理されます。
POISSON関数の基本的な使い方
実際にPOISSON関数を使ってみましょう。
例題: コールセンターに1時間あたり平均4件の問い合わせがあります。ちょうど6件来る確率を求めてみます。
セルに次の数式を入力してください。
=POISSON(6, 4, FALSE)
結果は約0.1042(10.4%) です。平均4件のコールセンターに、ちょうど6件来る確率は約10%ということがわかりました。
次に、6件以下に収まる確率を求めてみましょう。
=POISSON(6, 4, TRUE)
結果は約0.8893(88.9%) です。6件以下に収まる確率は約89%です。
「7件以上になる確率」を知りたいときは、1から累積確率を引きます。
=1 - POISSON(6, 4, TRUE)
結果は約0.1107(11.1%) です。7件以上の問い合わせが来る確率は約11%ですね。
TRUE/FALSEの結果を比較する
平均4件の場合で、イベント回数ごとの結果を並べてみましょう。
| イベント回数 | FALSE(ちょうどx回) | TRUE(x回以下) |
|---|---|---|
| 0 | 0.0183(1.8%) | 0.0183(1.8%) |
| 1 | 0.0733(7.3%) | 0.0916(9.2%) |
| 2 | 0.1465(14.7%) | 0.2381(23.8%) |
| 3 | 0.1954(19.5%) | 0.4335(43.4%) |
| 4 | 0.1954(19.5%) | 0.6289(62.9%) |
| 5 | 0.1563(15.6%) | 0.7851(78.5%) |
| 6 | 0.1042(10.4%) | 0.8893(88.9%) |
FALSE列はイベント回数が平均値(4回)付近で最大になります。TRUE列はイベント回数が増えるほど1に近づいていきますよ。
POISSON関数の実践的な使い方
基本がわかったところで、実務で使えるパターンを紹介します。
コールセンターの人員配置を確率で判断する
1時間あたり平均5件の問い合わせが来るコールセンターで、オペレーターが1時間に対応できるのは最大8件だとします。キャパシティを超える確率を求めてみましょう。
=1 - POISSON(8, 5, TRUE)
結果は約0.0318(3.2%) です。8件を超える確率は約3%なので、通常の体制で十分対応できそうです。
では繁忙期で平均が8件に増えた場合はどうでしょうか。
=1 - POISSON(8, 8, TRUE)
結果は約0.4075(40.8%) です。約41%の確率でキャパシティを超えてしまいます。繁忙期にはオペレーターの増員が必要だとわかりますね。
在庫管理での欠品確率を見積もる
1日あたり平均3個の注文が入る商品があります。在庫を5個確保しておけば、1日で欠品する確率はどのくらいでしょうか。
=1 - POISSON(5, 3, TRUE)
結果は約0.0839(8.4%) です。在庫5個なら欠品確率は約8%です。
もう少し安心したい場合は、在庫を7個にしてみましょう。
=1 - POISSON(7, 3, TRUE)
結果は約0.0119(1.2%) です。在庫を7個に増やせば、欠品確率は約1%まで下がります。在庫コストとリスクのバランスを数値で判断できるのがPOISSON関数の便利なところです。
品質管理での不良品発生予測
製造ラインで1日あたり平均2個の不良品が発生します。不良品が0個の日になる確率を出してみましょう。
=POISSON(0, 2, FALSE)
結果は約0.1353(13.5%) です。不良品ゼロの日は約13.5%の確率で発生します。
「不良品が4個以上になるリスクの高い日」の確率も確認できます。
=1 - POISSON(3, 2, TRUE)
結果は約0.1429(14.3%) です。約7日に1日は不良品が4個以上出る計算です。品質管理の目標設定に役立てましょう。
POISSON関数でよくあるエラーと対処法
POISSON関数でつまずきやすいポイントをまとめました。
イベント数が負の値で#NUM!エラー
イベント数には0以上の整数を指定します。負の値はエラーになります。
=POISSON(-1, 3, FALSE) ← #NUM! エラー
平均が負の値で#NUM!エラー
平均には0より大きい数値を指定します。0や負の値はエラーになります。
=POISSON(2, -1, FALSE) ← #NUM! エラー
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーです。セル参照を使うときは、参照先が数値であることを確認しましょう。
=POISSON("三", 4, FALSE) ← #VALUE! エラー
TRUE/FALSEの指定を間違える
3番目の引数を間違えると、求めたい結果とまったく違う値が返ります。「ちょうどx回の確率」ならFALSE、「x回以下の確率」ならTRUEです。
「x回以上」の確率を求めるときの計算
POISSON関数のTRUEは「x回以下」の確率を返します。「x回以上」が欲しいときは次のように書きます。
=1 - POISSON(x-1, 平均, TRUE)
「x-1」にする点がポイントです。「x回以上」には「ちょうどx回」も含まれるため、x-1回以下の累積確率を1から引きます。
POISSON関数とPOISSON.DIST関数の違い
Googleスプレッドシートには、POISSON関数のほかにPOISSON.DIST関数があります。結論からいうと、計算結果はまったく同じです。
=POISSON(3, 4, TRUE) → 0.4335
=POISSON.DIST(3, 4, TRUE) → 0.4335
違いは名前だけで、引数の数・順番・意味もすべて同じです。
| 項目 | POISSON | POISSON.DIST |
|---|---|---|
| 構文 | =POISSON(x, mean, cumulative) | =POISSON.DIST(x, mean, cumulative) |
| 引数の数 | 3 | 3 |
| 計算結果 | 同じ | 同じ |
| 位置づけ | 互換関数(旧バージョン向け) | 推奨関数(新バージョン) |
POISSON関数は古いスプレッドシートとの互換性を維持するために残されている関数です。新しく数式を書くときはPOISSON.DIST関数を使いましょう。既存のシートでPOISSON関数が使われている場合は、そのまま動作するので急いで書き換える必要はありません。
関連する統計関数
ポアソン分布以外の確率分布を扱いたいときは、目的に合った関数を選びましょう。
| 関数 | 用途 | いつ使うか |
|---|---|---|
| POISSON.DIST | ポアソン分布の確率 | POISSON関数の推奨版。新規数式はこちら |
| BINOM.DIST | 二項分布の確率 | 「成功/失敗」の2択を繰り返す場合 |
| NORM.DIST | 正規分布の確率 | 連続データの確率を扱う場合 |
| NEGBINOM.DIST | 負の二項分布の確率 | 「x回目の成功までに何回失敗するか」を求める場合 |
迷ったときの判断基準はシンプルです。
- 一定期間にイベントが何回起きるか → POISSON.DIST
- 成功/失敗の2択を繰り返す → BINOM.DIST
- 連続データの確率 → NORM.DIST
まとめ
POISSON関数は、ポアソン分布(一定期間にイベントが何回起きるか)にもとづいて確率を求める互換関数です。
- 3番目の引数にFALSEで「ちょうどx回起きる確率」が返る
- TRUEで「x回以下に収まる確率」が返る
- コールセンターの着信予測・在庫の欠品確率・品質管理の不良品予測に使える
- 「x回以上」を求めるには
=1 - POISSON(x-1, 平均, TRUE)と書く - イベント数や平均が負の値だと
#NUM!エラー - POISSON.DIST関数と計算結果は同じ。新規にはPOISSON.DISTを推奨
- 二項分布にはBINOM.DIST関数、正規分布にはNORM.DIST関数を使う
「平均はわかっているけど、実際にどのくらいの確率でその回数になるの?」を数字で答えられるようになると、意思決定の精度がぐっと上がります。ぜひ実際のデータで試してみてくださいね。
