葬儀社が過去の施行の記録・季節・火葬場の休場日・地域の死亡数の動きから、翌月の会館ごとの施行件数を Python で見込み、式場の稼働と人の手当ての案にする
葬儀社で、過去の施行の記録と季節、火葬場の休場日、地域の死亡数の動きから、翌月の会館ごと・日ごとの受注件数を Python で見込みます。見込みを火葬場の暦に沿って式場の使用日に割り付け、式場が足りなくなりそうな日とスタッフの手当ての案にします。
- 連携・自動化
- Python
- 対象業界
- その他
- 対象部門
- 経営企画
- 対象業務
- 集計・分析
- 主な課題
- データ分析に時間がかかる/判断に時間がかかる/属人化している
- AIで行う処理
- 予測
- 主な効果
- 判断支援/属人化解消/工数削減
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- 個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 毎月20日ごろ、経営企画の担当が施行管理のシステムから前年と前々年の同じ月の施行の一覧を書き出す
- 会館ごと・曜日ごとに件数を数え、前月までの今年の伸びを掛けて翌月の件数を置く
- 地域の火葬場の休場日の表を見て、友引と休場の前後の日の告別式を手で寄せる
- 会館ごと・日ごとに式場の使用の見込みと、スタッフ・寝台車の数の案を書く
- 施行の部長に見せ、経験から直してもらう
- 直した表をシフトの担当と仕入れの担当に渡す
- 自動毎月18日の夜、Python が施行管理のシステムの書き出しから、前日までの受注の記録を読む
- 自動会館ごと・日ごとの受注件数の表を作り、季節・曜日・暦・地域の死亡数の動きの特徴を足す
- 自動学習済みのモデルが、翌月の会館ごと・日ごとの受注件数を、中央の値と上振れの値で見込む
- 自動規則が、見込んだ受注を火葬場の暦に沿って通夜と告別式の日に割り付け、会館ごと・日ごとの式場の使用の見込みにする
- 自動式場の室数を超えそうな日、スタッフの基準の人数を超えそうな日に印を付け、手当ての案の表を作る
- 人経営企画の担当が、印の付いた日と、暦の変わり目(年末年始・連休)を確かめる
- 人施行の部長が表を見て、地域の事情(大きな施設の開設、競合の会館の開業など)で直す理由があれば書き込む
- 人直した表をシフトの担当と仕入れの担当に渡す
各工程の詳しい説明を読む
- 毎月20日ごろ、経営企画の担当が施行管理のシステムから前年と前々年の同じ月の施行の一覧を書き出す
- 会館ごと・曜日ごとに件数を数え、前月までの今年の伸びを掛けて翌月の件数を置く
- 地域の火葬場の休場日の表を見て、友引と休場の前後の日の告別式を手で寄せる
- 会館ごと・日ごとに式場の使用の見込みと、スタッフ・寝台車の数の案を書く
- 施行の部長に見せ、経験から直してもらう
- 直した表をシフトの担当と仕入れの担当に渡す
(a)見込みが部長の頭の中にある。 5番目で部長が直す数字は、たいてい2番目の機械的な数字より当たります。ただし、どの月に何を見て直したかは残りません。 部長の判断を次の担当が受け継げず、部長がいない月は前年の写しになります。
(b)火葬場の暦を手で寄せている。 3番目は、友引や年始の休場で告別式が前後の日に寄ることを、担当が表の上で動かす作業です。火葬場によって休場の決まりが違い、 毎月すべての友引に休む火葬場もあれば、月に1回の友引だけ使えない火葬場もあります。2つの火葬場を使う会館では、どちらの暦で寄せるかで数字が変わります。
(c)1つの数で見込んでいる。 「翌月この会館は36件」と置いても、日ごとには0件の日も3件の日もあります。平均の数で式場とスタッフを置くと、上振れした日に式場が足りず、下振れした日に人が余ります。 どれくらいの幅を見ておけばよいかは、部長の感覚でしか分かりません。
(d)時間がかかるのに、毎月ほぼ同じ作業をしている。 書き出し、数え、寄せ、直す。担当2名の月末の数日が、この表で埋まります。 しかも、毎月の作業の結果は前の月の表に上書きされ、どの見込みがどれだけ外れたかを振り返る記録が残りません。
- 【自動】 毎月18日の夜、Python が施行管理のシステムの書き出しから、前日までの受注の記録を読む
- 【自動】 会館ごと・日ごとの受注件数の表を作り、季節・曜日・暦・地域の死亡数の動きの特徴を足す
- 【自動】 学習済みのモデルが、翌月の会館ごと・日ごとの受注件数を、中央の値と上振れの値で見込む
- 【自動】 規則が、見込んだ受注を火葬場の暦に沿って通夜と告別式の日に割り付け、会館ごと・日ごとの式場の使用の見込みにする
- 【自動】 式場の室数を超えそうな日、スタッフの基準の人数を超えそうな日に印を付け、手当ての案の表を作る
- 【人】 経営企画の担当が、印の付いた日と、暦の変わり目(年末年始・連休)を確かめる
- 【人】 施行の部長が表を見て、地域の事情(大きな施設の開設、競合の会館の開業など)で直す理由があれば書き込む
- 【人】 直した表をシフトの担当と仕入れの担当に渡す
4番目を規則にしているのが、この設計の土台です。 火葬場の休場日は火葬場ごとに決まりがあり、年によっても変わります。 暦をモデルに覚えさせると、休場の決まりが変わった年に見込みが崩れます。規則なら、休場日の表を直せば翌月から効きます。
6番目で担当が見るのは、120の枠すべてではありません。 室数超過の印の付いた日と、暦の変わり目だけです。印の無い日は表で流し見ます。
7番目の部長の直しは、理由と一緒に残します。 これまで部長の頭の中にあった見立てが、理由の欄に溜まっていきます。 同じ理由で毎月直しているなら、それはモデルの特徴に足せる事情です。
02今回想定するシステム構成
施行管理のシステム(受注の日・通夜と告別式の日・会館・形式・火葬場) + 火葬場の休場日の表 + 会館の式場の室数の表 + 地域の死亡数の動き(人口動態統計の速報) │ 毎月18日の夜に書き出し ▼【トリガー】定時実行(毎月1回) Python(pandas) ├──▶ 会館ごと・日ごとの受注件数の表を作る ├──▶ 季節・曜日・暦・死亡数の動きの特徴を足す ▼ scikit-learn(HistGradientBoostingRegressor:poisson と quantile の2本) │ 翌月の会館ごと・日ごとの受注件数(中央の値・上振れの値) ▼ Python ── 火葬場の暦に沿って通夜と告別式の日に割り付ける(規則) ├──▶ 式場の使用の見込み・式場が足りない日の印 └──▶ スタッフ・寝台車の手当ての案 ▼ 【経営企画の担当と施行の部長が確かめて、シフトと仕入れの担当へ】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Python(pandas・scikit-learn の HistGradientBoostingRegressor) | R、BigQuery ML |
| データの取得元 | 施行管理のシステムの書き出し | 受注の台帳のCSV |
| 暦の表 | 火葬場の休場日の表・会館の室数の表(社内の共有フォルダ) | - |
| 出力先 | 翌月の手当ての計画の表(会館ごと・日ごと) | 施行管理のシステムの予定の画面 |
生成AIは使いません。 この構成で行うのは、件数を見込むことと、暦の規則で割り付けることです。故人やご遺族の情報は使わず、 会館ごと・日ごとの件数だけを扱います。
モデルに HistGradientBoostingRegressor を選ぶのは、件数を見込む損失の関数と、幅を見込む損失の関数を同じ形で使えるからです。 公式の説明では、loss に 'poisson' と 'quantile' を選べ、'poisson' は0以上の値を求め、内部で対数のつなぎを使うとされています。会館ごとの1日の件数は0件の日が多い小さな数で、マイナスの見込みが出ない 'poisson' が合います。 上振れの値は 'quantile' で quantile=0.9 を指定した別のモデルで見込みます。
時系列の専用のモデルを使わないのは、暦の特徴を素直に入れたいからです。 曜日、六曜、祝日、休場日の前後といった印は、表の列として足すだけで学ばせられます。会館をまたいで1つのモデルで学べることも、会館ごとの記録が少ない葬儀社には大きな利点です。 季節の山の早さは、前年の同じ月の件数と死亡数の速報の比で伝えます。
03どうやって実装するのか
処理の起点を決める
毎月18日の夜に1回動かします。 経営企画の担当が20日ごろに計画を作り始めるので、その前の営業日の朝には表ができている時刻にします。 施行管理のシステムから前日までの受注の記録が書き出されたあとに動かします。
見込む先は「翌月の1日から末日まで」の会館ごと・日ごとの受注件数です。 18日に動かすので、見込みの始まりまで2週間ほどあります。 学習のときも同じ間を空け、「その月の18日までの記録で、翌月を見込む」形で過去の例を作ります。間を空けずに学ばせると、運用より当たるモデルに見えます。
月の途中にもう一度、軽い版を動かします。 翌月の見込みを出したあと、月が替わってからは毎週月曜に、その週から2週間分だけを最新の受注で見込み直します。 式場の振り替えやスタッフの応援の手配は、2週間先が見えれば間に合うことが多いからです。毎週の見込み直しでは、すでに受けたご依頼の告別式の日は実際の予定を使い、 まだ入っていない分だけをモデルの見込みで足します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 受注の記録 | 受注の日、会館、形式(一般葬・家族葬・一日葬・火葬のみ)、通夜の日、告別式の日、火葬場 | 施行管理のシステム |
| 火葬場の休場日の表 | 火葬場ごとの休場日(年始・点検の日)と、友引の扱い(すべて休み/一部の友引だけ休み/休みなし) | 社内の共有フォルダ(新しく作る) |
| 六曜の暦 | 日ごとの六曜 | 社内の共有フォルダ(暦の表から作る) |
| 会館の表 | 会館ごとの式場の室数、使う火葬場、スタッフの基準の人数 | 社内の共有フォルダ |
| 地域の死亡数の動き | 人口動態統計の速報の月ごとの死亡数(全国) | 厚生労働省の公表 |
質を決めるのは、火葬場の休場日の表です。 火葬場によって休場の決まりは違います。たとえば相模原市営斎場は、年始の1月1日から3日と年2日程度の点検日を休場日とし、友引は各月の第4友引の日だけ火葬炉を使えないとしています。毎月の友引をすべて休む火葬場とは、告別式の寄り方がまったく違います。会館が使う火葬場ごとに、公式の案内から休場の決まりを写して表にします。
形式は、割り付けのときに分けて扱います。 一般葬と家族葬は通夜と告別式で式場を2日使い、一日葬は告別式の日だけ、火葬のみは式場を使いません。 モデルが見込むのは形式を問わない受注の件数で、割り付けのときに、会館ごとの直近12か月の形式の割合で分けます。形式ごとに別のモデルを作ると、火葬のみや一日葬の件数が少なすぎて学べません。
受注の記録から、故人とご遺族の情報は読みません。 名前、住所、年齢、死因、宗派は、件数を見込むのに要りません。日付と会館と形式だけを取ります。
地域の死亡数の動きは、補助の特徴にとどめます。 厚生労働省は人口動態統計の速報を調査月の2か月後に、月報(概数)を約5か月後に公表するとしています。翌月を見込む時点では、2か月前までの数しか手に入りません。 季節の山がその年に早いか遅いかを知る手がかりとして、前年の同じ月との比を特徴に入れます。
データの取得方法を決める
施行管理のシステムに、受注の一覧を CSV で書き出す機能があれば、それを毎月18日の夜に決まったフォルダへ書き出します。書き出す列は、受注の番号・受注の日・会館・形式・通夜の日・告別式の日・火葬場だけに絞ります。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 受注の日と会館 | 施行管理のシステムの書き出し | 会館ごと・日ごとの受注件数(学習の正解) |
| 受注から通夜・告別式までの日数 | 同上 | 2段目の割り付けの規則の材料 |
| 火葬場の休場日と友引の扱い | 休場日の表 | 割り付けの規則と、暦の特徴 |
| 月ごとの死亡数 | 人口動態統計の速報 | 前年の同じ月との比 |
1つの会館が2つの火葬場を使うときは、過去の割合で分けます。 会館ごとに直近12か月で、どちらの火葬場の告別式が何割だったかを数え、見込んだ受注をその割合で2つの暦に振り分けて割り付けます。 火葬場の受け入れの決まりが変わった年は、割合を数え直します。
受注の日は「ご依頼をいただいた日」に統一します。 施行管理のシステムによっては、日付の列が受注の日・打合せの日・請求の日と分かれています。告別式の日で数えると、火葬場の暦の影響が見込みの的に入り込み、 1段目と2段目を分けた意味がなくなります。
AIへ渡す前に整形する
- 日ごとの表にする … 会館ごとに、受注が0件の日も含めて毎日1行の表にします。0件の日を落とすと、平均の件数が高く出ます
- 会館の開設・閉鎖を扱う … 開設前の日と閉鎖後の日は表から外します。開設して1年に満たない会館は、近い会館の記録を参考にする印を付けます
- 暦の特徴を作る … 曜日、月、六曜、年末年始からの日数、祝日と連休の印、使う火葬場の休場日とその前後の印
- 季節の動きの特徴を作る … 前年の同じ月の会館ごとの件数、直近4週の件数、死亡数の速報の前年の同じ月との比
- 時点をそろえる … すべての特徴を「見込みを出す月の18日の時点」で作ります。18日より後の受注を学習の特徴に混ぜません
- 割り付けの規則の材料を作る … 過去3年の受注について、受注の日から告別式の日までの日数の分かれ方を、火葬場ごと・休場日をはさむかどうかで数えます
- 形式の割合を作る … 会館ごとに、直近12か月の一般葬・家族葬・一日葬・火葬のみの割合を出します
1番目を省くと、見込みが全体に高くなります。 受注の記録には受注のあった日しか載っていないので、記録のまま集計すると「0件の日」が消え、 モデルは毎日何件かあるものと学びます。
6番目の日数の分かれ方が、2段目の規則の中身です。 墓地、埋葬等に関する法律は、火葬は死亡から24時間を経過した後でなければ行ってはならないと定めています。そのため告別式は受注の翌日以降になり、多くは2〜3日後ですが、休場日をはさむと日数が延びます。 この分かれ方を火葬場ごとに数えておき、見込んだ受注を日ごとに割り付けます。
AIに処理させる
させるのは、翌月の会館ごと・日ごとの受注件数を、中央の値と上振れの値で見込むことだけです。 学習には、過去3年分の日ごとの表を使います。
| させること | やり方 |
|---|---|
| 中央の値を見込む | HistGradientBoostingRegressor(loss="poisson") |
| 上振れの値を見込む | HistGradientBoostingRegressor(loss="quantile"、quantile=0.9) |
| 早めに止める見張り | 直近3か月を X_val・y_val として fit に渡す |
| 確かめ方 | 時間の順に分け、古い月で学ばせて新しい月で確かめる |
3行目を既定のままにしないでください。 公式の説明では、early_stopping の既定は 'auto' で、件数が1万件を超えるか、X_val・y_val を fit に渡したときに有効になります。 会館4か所の3年分の日ごとの表は4,000行余りなので、渡さなければ見張りは働きません。直近の月を検証用として明示的に渡し、 どの月で止めどきを決めたかを記録に残します。
会館はカテゴリの型の列にして渡します。 categorical_features の既定は "from_dtype" で、表の列をカテゴリの型にしておけば数値に直さずに使えます。会館ごとに別のモデルを作らず、1つのモデルで4つの会館を学ばせます。 会館ごとの3年分では、冬の山の例が少なすぎるからです。
上振れの値は、日ごとの値を足して月の上振れにしません。 日ごとの「10日に1日はこれを超える値」を30日分足すと、すべての日が同時に上振れする場合の数になり、月の合計としては大きすぎます。 寝台車や仕入れのように月や週の合計で考えるものは、週ごとの件数を的にした上振れのモデルを別に作るか、中央の値の合計を使います。
割り付けは、モデルではなく規則で行います。
| 規則 | 中身 |
|---|---|
| 告別式までの日数 | 受注の日と火葬場ごとに、過去の日数の分かれ方で割り付ける |
| 休場日 | 火葬場の休場日には告別式を置かず、分かれ方の中で翌日以降へ送る |
| 友引の扱い | 休場日の表の「友引の扱い」の列に従う |
| 式場の数 | 会館の室数を超えた分は「室数超過」として数える(振り替えはしない) |
4行目で振り替えまでしないのは、振り替えは人の判断だからです。 どの会館へ振り替えるか、日程を延ばしていただくかは、ご遺族のご事情と地域で決まります。 構成は足りなくなりそうな日を示すところで止めます。
| させないこと | 理由 |
|---|---|
| ご遺族への日程の提案 | 日程はご遺族と火葬場の空きで決まる |
| 火葬場の予約 | 予約は受注の後に担当が行う |
| 故人の情報からの見込み | 件数の見込みに要らない。読まない |
| 形式(家族葬など)ごとの売上の見込み | 本記事の範囲外。件数と稼働に絞る |
指示内容を固定する
この構成は生成AIを使わないため、プロンプトはありません。 代わりに、見込み・割り付け・手当ての案を決める設定を、ひとつのファイルにまとめます。
【見込む先】
target: 会館ごと・日ごとの受注件数(受注の日で数える。0件の日を含める)
horizon: 翌月の1日〜末日
as_of: 毎月18日(学習の例も同じ時点で作る)
【モデル】
median: HistGradientBoostingRegressor(loss="poisson", categorical_features="from_dtype")
upper: HistGradientBoostingRegressor(loss="quantile", quantile=0.9)
validation: 直近3か月を X_val / y_val として fit に渡す
学習期間: 直近36か月
【読まない列】
- 故人の名前・住所・年齢・死因、喪主・ご遺族の情報、宗派、金額
【割り付け】
- 告別式までの日数: 火葬場ごとの過去3年の分かれ方
- 休場日: 火葬場の休場日の表に従う(友引の扱いの列を含む)
- 室数を超えた分は「室数超過」として数え、振り替えない
【手当ての案】
- 式場の使用: 上振れの値で割り付けた使用が室数を超える日に印
- スタッフ: 会館の基準の人数 × 上振れの値の告別式の数で案を出す
- 寝台車: 全会館の上振れの値の受注の合計で案を出す
【人に見せる印】
- 室数超過、年末年始と連休の前後、開設1年未満の会館、休場日の表の更新から1年以上
「受注の日で数える」を設定の先頭に書くのは、日付の取り違えがいちばん起きやすいからです。 告別式の日で数えた表で学ばせると、休場日の翌日に件数の山があるように学び、2段目の割り付けで同じ山をもう一度作ります。
出力形式を固定する
手当ての計画は表で出し、同じ内容を JSON でも残します。 表は担当と部長が読むため、JSON は翌月の振り返りのためです。
{
"as_of": "2026-10-18",
"target_month": "2026-11",
"model_version": "funeral-2026-10",
"hall": "中央会館",
"rooms": 2,
"days": [
{
"date": "2026-11-09",
"orders_median": 1.4,
"orders_upper": 3,
"services_upper": 3,
"room_over": 1,
"staff_plan": 9,
"flags": ["room_over", "after_closure"]
}
],
"warnings": []
}
中央の値と上振れの値を両方残すのは、手当ての考え方を部長が選べるようにするためです。 生花や返礼品の仕入れは中央の値で、式場とスタッフは上振れの値で考える、という使い分けが表の上でできます。
room_over は件数で出します。 「室数を超える」だけでなく「何組あふれそうか」が分かれば、近くの会館の空きで足りるか、外の式場を考えるかの判断が早くなります。
flags の印は、次の意味で付けます。
| 印 | 意味 | 担当がすること |
|---|---|---|
room_over | 上振れの値で割り付けた式場の使用が室数を超える | 近くの会館の同じ日と並べる |
after_closure | 火葬場の休場日の翌日・翌々日 | 告別式の寄りが過去と同じかを見る |
new_hall | 開設1年未満の会館 | 近い会館の見込みと比べる |
calendar_old | 休場日の表の更新から1年以上 | 火葬場の公式の案内を確かめる |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 施行管理のシステム | 書き出しを読む | 受注の日・会館・形式・通夜と告別式の日・火葬場 |
| 休場日の表・会館の表 | 読む | 割り付けの規則と手当ての基準 |
| 手当ての計画の表 | 書き込む | 会館ごと・日ごとの見込みと印 |
| シフト・仕入れの表 | 書き込まない | 部長が確かめた表を担当が写す |
計画の表は、会館ごとのシートと全会館をまとめたシートに分けます。 会館の責任者は自分の会館のシートを、経営企画と部長はまとめのシートを見ます。近くの会館の同じ日を並べて見られるよう、まとめのシートは日を行、会館を列にします。
シフトの表へは直接書き込みません。 見込みは幅のある数で、そのままシフトに流すと、上振れの値の人数が毎日の人数になります。 部長が確かめた計画を、シフトの担当が勤務の決まりに合わせて組みます。
人が確認する
- 室数超過の印の日 … 近くの会館の見込みと並べ、振り替えの余地があるかを見ます
- 年末年始と連休の前後 … 火葬場の休場が続くと、告別式までの日数が過去の分かれ方より延びることがあります
- 開設1年未満の会館 … 記録が少ないので、近い会館と比べて見込みが妥当かを見ます
- 休場日の表の更新の日付 … 1年以上更新していなければ、火葬場の公式の案内で今年の休場日を確かめます
部長が直すときは、直した日と数と理由を計画の表の欄に書きます。 「近くに大きな介護施設が開所した」「競合の会館が閉じた」のような事情は、記録の中には出てきません。この欄が、モデルに足せる特徴の候補の一覧になります。
目標は、120件の枠をならして1件4分です。 印の付いた日だけを詳しく見て、残りは表で流し見ます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 書き出しが届いていない・件数が前月より大きく少ない | 見込みを作らずに止め、担当に知らせる |
| 火葬場の休場日の表に翌月の日付が無い | 割り付けを止め、「休場日の表の更新が要る」と知らせる |
| 火葬場が臨時に休む・受け入れを絞る | 休場日の表に足して割り付けをやり直す |
| 会館が改装で式場を閉じる | 会館の表の室数を変え、閉じる期間を外す |
| 新しく会館を開いた | 近い会館の見込みを参考の値として並べ、印を付ける |
| 感染症の流行などで死亡数が平年と大きく違う | 見込みは出すが「平年と違う」と付け、毎週の見込み直しを増やす |
2行目で止めるのは、休場日の無い暦で割り付けると、休場日にも告別式が入るからです。 年始の休場日が表に無いまま1月の計画を作ると、1月2日に式場が埋まっている計画になります。
6行目の平年と違う時期は、モデルが学んだことの無い動きです。 過去3年の記録に無い高さの山が来ると、モデルは低めに見込みます。毎週の見込み直しで、すでに入った受注の実際の数を優先して使います。
記録を残す
- 毎月の書き出しの件数と、会館ごとの受注の件数
- モデルの版、学習と検証の期間、検証の結果(中央の値のずれ、上振れの値を実際が超えた日の割合)
- 休場日の表と会館の表の版
- 手当ての計画の JSON の全文と、配った日時
- 部長が直した日と数と、その理由
- 翌月の実際の受注と式場の使用(振り返り)
上振れの値を実際が超えた日の割合が、幅の見込みの確かさです。 quantile=0.9 なら、超える日はおよそ1割のはずで、2割を超える月が続くなら、モデルか暦の表に足りないものがあります。
部長の直しの記録は、翌月の振り返りで実際の受注と並べます。 直した日の方がモデルの見込みより当たっていたなら、その理由は特徴に足す候補です。外れていたなら、部長の見立ての方を見直す材料になります。 どちらに寄せるかを、記録で決められるようになります。
04実装レベルの3段階
半自動化だけでも、第4章の②の手で寄せる作業がほぼ無くなります。 火葬場の暦の規則で割り付ければ、担当は表を見て直すだけです。残るのは件数の見込みで、平均の数では幅が分かりません。 本格構成で、上振れの値と冬の山の早さが入ります。 本記事の想定はこの段階です。 段階を飛ばさないでください。 半自動化を3か月回すと、受注の日の列の取り違え、休場日の表の抜け、形式の割合の動きが先に見えます。そこを直さずにモデルを作ると、日付の誤りを学んだモデルになります。
05工数削減シミュレーション
導入後 120件 × 4分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自社の会館(式場)を数か所持ち、年に千件以上の葬儀を施行している葬儀社。翌月の式場の稼働とスタッフのシフト、寝台車と生花の手配の量を、施行の担当の部長が過去の経験で見積もっていて、冬や年始に式場が足りなくなる日や、逆に人を余らせる日がある場合。施行の記録が受注の日・告別式の日・会館・形式で3年分ほどデータとして残っている場合。
- 施行が月に数件で、件数の見込みより1件ごとの段取りが大事な葬儀社。自社の会館を持たず、式場をその都度借りている場合。施行の記録が紙の台帳だけで、日付と会館をデータにできない場合。なお、個々のご遺族への日程の提案、火葬場の予約、料金の設定は、この構成の対象外です。
07最小構成で試す方法
- 過去3年の受注の記録を書き出し、会館ごと・日ごとの件数の表にする(0件の日を含める)
- 会館ごと・月ごと・曜日ごとの平均の件数を表計算で出し、昨年の11月を見込む
- 同じ11月について、当時部長が作った手当ての計画の件数と並べる
- 実際の11月の受注と、どちらが近かったかを会館ごとに数える
- 使う火葬場の休場日の公式の案内を集め、休場日の表の形にまとめる
モデルを作る前に、平均だけで見込んでみます。 平均で部長の見込みとほぼ同じなら、部長の見立ての多くは季節と曜日で説明できるということです。
| 出てきた内容 | 判断 |
|---|---|
| 平均でも部長の見込みに近い | モデルで幅と冬の山の早さを足す段階に進む |
| 特定の会館だけ大きく外れる | その会館の受注の数え方を確かめる。日付の列の取り違えを疑う |
| 休場日の表が作れない火葬場がある | 火葬場に問い合わせる。割り付けの前に暦をそろえる |
3行目はよく出ます。 火葬場の休場の決まりを社内のだれもが正確に知らないことは珍しくなく、部長の「友引の翌日は混む」という見立ても、実は火葬場ごとに当てはまる度合いが違います。 休場日の表を作ること自体が、見込みの精度より先に効く作業です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 見込みが全体に高い | 0件の日が表から落ちている。毎日1行の表にする |
| 休場日の翌日に山が二重にできる | 告別式の日で数えている。受注の日で数える |
| 学習のときだけよく当たる | 18日より後の受注が特徴に混ざっている |
| 早めに止める見張りが働かない | 件数が1万件に満たない。X_val・y_val を渡す |
| 見込みにマイナスが出る | 二乗誤差の損失を使っている。poisson にする |
| 年始に式場が埋まる計画になる | 休場日の表に翌年の年始が無い。表が無ければ止める |
| 友引の扱いを1つに決めてしまう | 火葬場ごとに「すべて休み/一部の友引だけ休み/休みなし」を持つ |
| 開設したばかりの会館の見込みが不安定 | 近い会館を参考の値として並べ、印を付ける |
| 見込みをそのままシフトにする | 部長が確かめた計画をシフトの担当が組む |
| 月の上振れが大きすぎる | 日ごとの上振れの値を足している。週や月の合計は別に見込む |
| 火葬のみの受注で式場が埋まる | 形式の割合で分け、火葬のみは式場に割り付けない |
上の2行が、作り始めて最初に当たる失敗です。 どちらも「何を1件と数えるか」から起きます。会館ごとの毎日1行の表で、受注の日で数えると決めておけば、残りは運用の注意で足ります。
下の2行は、計画を使い始めてから気づく失敗です。 どちらも見込みの数の読み方の問題で、モデルの精度を上げても直りません。 合計を見る表と日ごとを見る表を分け、形式で式場の使い方が違うことを割り付けに入れておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 会館ごと・日ごとの受注の件数、通夜と告別式の日、形式、使った火葬場です。故人とご遺族の名前・住所・年齢・死因・宗派・金額は読みません。
- 故人とご遺族の情報を読まない … 書き出しの段階で、受注の番号・日付・会館・形式・火葬場の列だけに絞ります。件数を見込むのに、個人の情報は要りません
- 見込みをご遺族への説明に使わない … 「この日は混むので」と見込みを理由に日程をお願いすることはしません。日程は火葬場の実際の空きと、ご遺族のご事情で決まります
- 地域の死亡数を、営業の目的に使わない … 人口動態統計は季節の山の早さを知るための補助の特徴です。特定の地域や施設を狙った営業の材料にしません
- 計画の表の見られる人を決める … 会館ごとの件数の見込みは、経営の情報です。経営企画・施行の部長・会館の責任者に限ります
- 火葬場の公式の案内を写すときは出典を残す … 休場日の表の各行に、どの案内のいつの版から写したかを書きます。休場の決まりが変わったとき、どの行を直すかがすぐ分かります
- 外部へ出さない … この構成は社内のフォルダと Python の中で完結し、生成AIや外部のサービスに記録を渡しません
誤りが起きた場合のリスクは、式場とスタッフが足りない日を見落とすことと、人を余らせることの2つです。 前者は上振れの値と休場日の表で防ぎ、後者は中央の値と部長の確認で防ぎます。
10まず何から始めるか
1週目:受注の記録の日付をそろえる
施行管理のシステムの書き出しで、受注の日の列がどれかを確かめ、 過去3年分を会館ごと・日ごとの表(0件の日を含む)にします。
2週目:火葬場の休場日の表を作る
会館が使う火葬場ごとに、公式の案内から休場日と友引の扱いを写します。翌年の年始の休場日まで入れます。 案内に翌年の分がまだ載っていない火葬場は、問い合わせて確かめ、確かめた日を表に書きます。あわせて、会館ごとの式場の室数とスタッフの基準の人数を会館の表にまとめます。
3週目:平均で見込んでみる
第8章のとおり、昨年の11月を月・曜日の平均で見込み、部長の計画と実際の受注と並べます。どこで部長の見込みが勝っていたかを聞き取り、理由を書き留めます。
4週目:割り付けの規則を組む
受注の日から告別式の日までの日数の分かれ方を火葬場ごとに数え、Python で割り付けます。過去の月で、割り付けた式場の使用と実際の使用を比べます。
2か月目以降: 中央の値と上振れの値の2つのモデルを学ばせ、半自動化の計画と並べて2か月使います。上振れの値を実際が超えた日の割合がおよそ1割に収まり、部長の直しの理由が毎月の表に残るようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
loss に 'poisson' と 'quantile' を選べ、'poisson' は0以上の値を求め内部で対数のつなぎを使うこと。quantile で求める分位を0〜1で指定すること。categorical_features の既定が "from_dtype" であること。early_stopping の既定が 'auto' で、件数が1万件を超えるか X_val・y_val を fit に渡したときに有効になること(scikit-learn 1.9.1) | scikit-learn: HistGradientBoostingRegressor | 2026-10-29 |
| 埋葬又は火葬は、他の法令に別段の定めがあるものを除き、死亡又は死産後24時間を経過した後でなければ行ってはならないこと(第3条) | e-Gov 法令API: 墓地、埋葬等に関する法律 | 2026-10-29 |
| 相模原市営斎場の休場日が1月1日から3日と年2日程度の施設点検日であること。各月の第4友引の日は火葬炉を使えないこと | 相模原市: 施設案内 相模原市営斎場 | 2026-10-29 |
| 人口動態統計の月間の数値について、速報を調査月の2か月後、月報(概数)を約5か月後に公表すること | 厚生労働省: 人口動態調査 | 2026-10-29 |
火葬場の休場日と友引の扱いは火葬場ごとに違い、年によって変わります。 休場日の表は、使う火葬場の公式の案内で毎年確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2301)についてのご相談はこちらから。
