宿泊予約のキャンセル理由をAIで分析し対策した事例
この記事の要点
キャンセル率が高い旅館がAIでキャンセル理由を分類・分析し、3ヶ月でキャンセル率を8ポイント改善した実践事例。データ収集から施策立案まで具体的な手順を解説する。
結論:キャンセルは「なぜ起きているか」を分類するだけで対策が変わる
キャンセル率が18%を超えていた静岡県の温泉旅館が、AIを使ったキャンセル理由の分析を3ヶ月続けた結果、キャンセル率を10%まで下げた。売上換算で月間約80万円の改善だ。
この旅館が行ったことは特別なシステム導入ではない。既存のキャンセルデータをChatGPTで分類し、原因別に優先順位をつけて施策を絞った。それだけだ。
多くの旅館はキャンセルが出るたびに「仕方ない」「ポリシーを厳しくするか」という二択で考えがちだが、実際にはキャンセルの発生パターンはかなり偏っている。どのリードタイムで、どのチャネルから来た予約が、どんな理由でキャンセルされているかを把握すれば、打ちやすい施策と打てない施策が明確になる。
キャンセルの実態:「価格」より「計画変更」が多い
静岡の旅館では、過去1年間のキャンセル約420件を分類した。分類前の感覚では「他の宿のほうが安かったから」という価格競争が主因だと思われていた。
ところが実際に分類してみると内訳は以下だった。
| キャンセル理由 | 件数 | 割合 |
|---|---|---|
| 旅行計画の変更・中止 | 142件 | 34% |
| 体調不良・急病 | 98件 | 23% |
| 天候・自然災害への懸念 | 61件 | 15% |
| 料金・プランへの不満 | 52件 | 12% |
| 他施設への変更 | 38件 | 9% |
| 不明・連絡なし | 29件 | 7% |
価格競争によるキャンセルは12%に過ぎなかった。一方、旅行計画の変更と体調不良を合わせると57%を占める。これらは「そもそも旅行に行けなくなった」ケースであり、価格を下げても防げない。
しかし「旅行計画変更」の中身をさらに掘り下げると、「予定日程が合わなくなった」と「旅行自体をやめた」は対策が全く異なる。前者には日程変更の提案が有効で、後者には手の打ちようがない。
この区別をせずに「キャンセル率18%」という数字だけを見ていると、施策が散弾銃になる。
AIを使ったキャンセル理由の分類手順
ステップ1:データを集める
OTAの管理画面からキャンセル一覧をCSVでエクスポートする。楽天トラベル・じゃらん・一休などは管理画面からダウンロード可能だ。自社サイト経由や電話予約のキャンセルはスタッフが入力していたメモやメールを集める。
最低でも過去6ヶ月、できれば1〜2年分を用意する。件数が100件を下回ると傾向が見えにくいため、件数が少ない施設は複数年にまたぐか、季節ごとに分けて分析する。
集める項目は以下の5つで十分だ。
- キャンセル日と予約日(リードタイム計算のため)
- 予約チャネル(OTA名・自社・電話)
- 宿泊予定日
- キャンセル理由(OTAの選択肢テキストまたはメモ)
- 予約金額
ステップ2:ChatGPTで一括分類する
CSVのキャンセル理由列をコピーし、以下のようなプロンプトでChatGPTに渡す。
以下は旅館に寄せられたキャンセル理由の一覧です。
各行を次のカテゴリのいずれかに分類してください。
カテゴリ:
A. 旅行計画の変更(日程変更含む)
B. 体調不良・急病
C. 天候・災害
D. 料金・プランへの不満
E. 他施設への変更
F. 不明・無記入
出力はCSV形式(元のテキスト, カテゴリ記号)で返してください。
---
(キャンセル理由テキストを貼り付ける)
100件程度なら2〜3分で分類が返ってくる。精度は人間が手作業で分類したものと比べ概ね同等以上で、ゆらぎ(「急用が入った」を体調なのか計画変更なのか)は後で手修正すればよい。
ステップ3:リードタイムと掛け合わせる
キャンセル理由が分類できたら、次は「予約から何日前にキャンセルされているか」を計算する。スプレッドシートの数式で「キャンセル日 - 予約日」を計算し、リードタイム区分(当日〜3日前・4〜14日前・15〜30日前・31日以上前)を加える。
静岡の旅館ではこの掛け合わせで以下のパターンが浮上した。
- 「他施設への変更」の75%が予約から31日以上前に発生
- 「体調不良」の80%が7日以内の直前キャンセル
- 「旅行計画変更」の60%が15〜30日前に集中
このパターンが判明したことで、施策の優先順位が決まった。
分析結果から導いた3つの施策
施策1:31日以上前のキャンセルには「日程変更提案メール」
他施設への変更によるキャンセルの多くが予約から1ヶ月以上前に起きていた。この時期は旅行者がまだ比較検討段階にあることを意味する。
そこで予約確定から2週間後に「ご予定はいかがですか。日程の変更もお気軽にご相談ください」というメールを自動送信するフローを組んだ。目的はキャンセルを引き留めることではなく、「変更したいなら他の宿を探す前にここに相談できる」という心理的な接点を作ること。
メールはChatGPTで複数パターンを作成し、予約内容(人数・プラン名)に合わせた文面を使い分けた。このメールを送り始めてから、31日以上前キャンセルのうち「日程変更での再予約」に転換できた比率が月平均で12%になった。
プロンプトの作り方は老舗旅館の女将がChatGPTで宿泊プラン文を量産した事例でも触れているが、宿泊客に向けたメール文の生成は慣れると10分以内で完成する。
施策2:直前キャンセルには「前日リマインド」で体調悪化の早期把握
体調不良によるキャンセルは7日以内に集中しており、かつ「直前のキャンセル連絡」が多かった。旅館側が前日になって初めて知り、客室の準備や食材の手配がすでに完了しているパターンが頻発していた。
対策として前日15時に「明日のご到着を楽しみにしております。万が一ご体調に変化があった場合はお早めにご連絡ください」という確認メッセージを送るフローにした。
このメッセージが届いた結果、当日キャンセルが2ヶ月で40%減少した。「連絡しにくかった」という心理的ハードルを下げることで、前日や2日前のキャンセルに移行した件数が増えたためだ。食材ロスと追加人員コストが減り、効果は金額換算で月15万円程度だった。
施策3:「旅行計画変更」の主因は繁忙期設定にあった
旅行計画変更のうち「日程が合わなくなった」と記録されていた案件を深掘りすると、土日の予約が平日の予約に比べて3倍以上キャンセルされていた。聞き取りをすると「希望日が取れず、とりあえず押さえたが結局行けなかった」というパターンが多かった。
つまり人気の週末に仮押さえが増え、その多くがキャンセルされていた。対策はキャンセルポリシーの変更ではなく、繁忙期の土曜日について「仮押さえしやすい短期プラン」ではなく「2泊以上の確度が高い予約者向けプラン」に切り替えることだった。
この変更を行った翌月、土曜日のキャンセル率が19%から11%に下がった。一方、土曜日の全体予約数は12%減少した。ただし残った予約がほぼキャンセルされないため、実際の宿泊者数はほぼ変わらなかった。
分析をルーティン化する方法
一度分析をしても、季節・イベント・OTAのアルゴリズム変更によってキャンセルのパターンは変化する。静岡の旅館では毎月末に30分のキャンセルレビューをルーティン化した。
手順は以下の3ステップで固定した。
- その月のキャンセルをCSVエクスポートし、前月のシートにコピーする
- ChatGPTで分類を実行し、カテゴリ別件数をスプレッドシートに記録する
- 前月比で10%以上増えたカテゴリがあれば原因を検討する
これを担当するのは予約管理を担当するフロントスタッフ1名で、IT専任者は不要だ。慣れれば分類と集計で30分以内に収まる。
客室30室の温泉旅館がAI需要予測で稼働率を12%上げた話でも触れているが、データ分析を継続するためのコツは「分析の粒度を下げて頻度を上げる」ことだ。週次の完璧な分析より、月次の粗い分析のほうが長続きする。
小規模旅館でも始められる最小構成
10室以下の小規模旅館でキャンセル件数が月30件未満の場合、AIによる自動分類よりも手作業分類で十分なケースもある。月30件程度なら5分もあればスプレッドシートに入力できる。
一方、月50件を超えてくると手作業の負担が大きくなり、ChatGPTによる一括分類の恩恵が出やすい。判断の目安は以下だ。
| 月間キャンセル件数 | 推奨アプローチ |
|---|---|
| 30件未満 | 手動分類 + スプレッドシート集計 |
| 30〜100件 | ChatGPTで月次一括分類 |
| 100件以上 | 自動分類スクリプトの検討も視野に |
民宿や小規模旅館でのデジタル活用については民宿オーナーが一人でAIを使い回す「ひとりDX」実践記が参考になる。IT担当を置かずに一人でデータ活用を回す方法が具体的にまとめられている。
注意点:分析で得た情報の使い方
キャンセル理由には個人の体調や家族の事情など、センシティブな情報が含まれることがある。分析目的に使うのは問題ないが、ChatGPTに貼り付ける際は氏名・電話番号・メールアドレスなどの個人を特定できる情報を除いた状態にする。
OTAごとにキャンセル理由の選択肢が異なるため、「その他」や「理由記載なし」の比率が高いプラットフォームでは分析の精度が下がる。電話キャンセルや自社サイト経由のキャンセルについては、受電したスタッフが理由を簡単にメモする習慣をつけると、データの質が上がる。
また、分析結果をもとにキャンセルポリシーを変更する場合は、OTAのポリシー設定と実際の利用規約が一致しているかを確認する必要がある。変更後の告知方法についても旅館の直接予約とOTA手数料対策の戦略が参考になる。
まとめ
キャンセル率の改善は、ポリシーを厳しくするか値引きで埋めるかの二択ではない。原因を分類し、手を打てるパターンに絞って施策を集中することで、コストをかけずに数ポイントの改善は十分に狙える。
静岡の旅館が実証したのは、キャンセルデータの整理と分類そのものに価値があるという点だ。AIはその作業を高速化するツールに過ぎないが、月30分の投資で継続できる仕組みに落とし込んだことが成果につながった。
最初の一歩は過去3ヶ月のキャンセルデータを100件集めることだ。それをChatGPTに貼り付けて分類するところから始めれば、自施設のキャンセルの実態が見えてくる。
よくある質問
Q. 旅館のキャンセル分析にAIを使うには何から始めればいいですか? まず過去1〜2年分のキャンセルデータ(日付・リードタイム・キャンセル理由・予約チャネル)をCSVで整理する。その後ChatGPTやGoogleスプレッドシートのAI機能でパターンを分類・集計すると、専用ツールなしで始められる。
Q. キャンセル理由の分類はどのように行いますか? OTAのキャンセル理由テキストや電話での聞き取りメモをAIに貼り付け、「体調不良」「旅行計画変更」「価格不満」「天候」「競合への乗り換え」などのカテゴリに自動分類させる。100件程度あれば傾向が見えてくる。
Q. キャンセル率の改善にどれくらいかかりますか? データ収集・分析に1〜2週間、施策実施から効果計測まで2〜3ヶ月が目安。施策の内容によるが、リードタイムと価格戦略の見直しだけで2〜5ポイントの改善を狙える施設が多い。
Q. キャンセルポリシーの変更は逆効果になりませんか? キャンセルポリシーの厳格化は新規予約の心理的ハードルを上げるリスクがある。分析で判明したキャンセルの主因に絞って対策を打つことが重要で、全面強化ではなく「早期予約のポリシーを緩め、直前はポリシーを維持する」二段構えが有効なケースが多い。
よくある質問
旅館のキャンセル分析にAIを使うには何から始めればいいですか?
まず過去1〜2年分のキャンセルデータ(日付・リードタイム・キャンセル理由・予約チャネル)をCSVで整理する。その後ChatGPTやGoogleスプレッドシートのAI機能でパターンを分類・集計すると、専用ツールなしで始められる。
キャンセル理由の分類はどのように行いますか?
OTAのキャンセル理由テキストや電話での聞き取りメモをAIに貼り付け、「体調不良」「旅行計画変更」「価格不満」「天候」「競合への乗り換え」などのカテゴリに自動分類させる。100件程度あれば傾向が見えてくる。
キャンセル率の改善にどれくらいかかりますか?
データ収集・分析に1〜2週間、施策実施から効果計測まで2〜3ヶ月が目安。施策の内容によるが、リードタイムと価格戦略の見直しだけで2〜5ポイントの改善を狙える施設が多い。
キャンセルポリシーの変更は逆効果になりませんか?
キャンセルポリシーの厳格化は新規予約の心理的ハードルを上げるリスクがある。分析で判明したキャンセルの主因に絞って対策を打つことが重要で、全面強化ではなく「早期予約のポリシーを緩め、直前はポリシーを維持する」二段構えが有効なケースが多い。