〜目次〜
はじめに
観光地域づくりにおいて、データに基づくマーケティングや事業評価の重要性が高まっています。
一方で、公的統計には詳細な分析が可能な「個票データ」が存在していても、データ容量の大きさや集計方法の専門性から、地域のDMOが実務で活用するには一定のハードルがあります。
一般社団法人ディスカバー東広島では、観光庁が提供する「インバウンド消費動向調査」の個票データを活用し、Pythonによるローカル環境でのデータ処理と、生成AIによる分析設計・分析支援を組み合わせた分析基盤を試作しました。
今回対象とした個票データは、2024年4-6月期から2026年1-3月期までの8四半期です。
観光庁では現在、同期間の個票データを申請により提供しており、個票には訪日外国人旅行者一人ひとりの回答結果をクリーニングしたデータが収録されています。
本記事では、1GBを超える大容量の個票データをどのように分析可能な形へ変換し、観光施策の検討につなげたのかをご紹介します。
そもそも「インバウンド消費動向調査」の個票データとは
「インバウンド消費動向調査」は、訪日外国人旅行者の消費動向等を把握するため、観光庁が実施している調査です。
観光庁では通常の集計結果に加えて、2024年4-6月期以降については、申請により調査票情報(個票データ)を利用できるようにしています。
今回主に活用したのは、以下の2種類です。
| 調査 | 主な用途 | 今回分析した8四半期のサンプル数 |
|---|---|---|
| A1 全国調査 | 国籍・地域、訪日回数、訪問地、消費、旅行目的、周遊等 | 63,282件 |
| B1 地域調査 | 都道府県別の訪問、泊数、消費等 | 204,583件 |
※A1全国調査とB1地域調査はそれぞれ別の調査であり、両者のサンプル数を単純に合算した「旅行者数」ではありません。
個票を利用することで、通常の公表集計だけでは確認しにくい、
- 国籍・地域 × 広島県訪問
- 初訪日/リピーター × 消費
- 国籍・地域 × 平均泊数
- 広島県訪問者の前後の訪問地
- 同一旅行内での併訪地域
など、複数の条件を組み合わせた独自分析が可能になります。
課題は「データを入手した後」
個票データを取得すると、すぐに分析できるわけではありません。
今回取得したデータ一式は1GBを超える容量となり、一般的なExcelでそのまま複数四半期を横断して分析することは現実的ではありませんでした。
また、単純にCSVの件数を数えたり平均値を計算したりすればよいわけでもありません。
インバウンド消費動向調査では、母集団を推計するためにウェイトを用いた集計が必要です。さらにB1地域調査では、分析する項目によって使用するウェイトが異なります。
そのため、「大容量データを処理できること」に加えて、「観光庁の調査設計に沿って正しく集計できること」の両方が必要でした。
生成AIに個票を直接分析させるのではなく、役割を分担
今回構築した運用のポイントは、生成AIに1GBを超える個票データそのものを毎回読み込ませる仕組みにしなかったことです。
実運用では、次のように役割を分けています。
分析フロー
① 観光庁から個票データを取得
② 個票データは利用者のローカルPC内に保存
③ Pythonで個票を自動処理
- 必要変数の抽出
- ウェイト集計
- 欠損値処理
- 国籍別集計
- 都道府県別集計
- 周遊分析
- QA(データチェック)
④ 分析用Excelを自動生成
⑤ 集計・加工後のデータを生成AIで分析
⑥ 市場分析・モデルコース・施策検討へ反映

この方法により、大容量の個票処理はローカルPC、分析結果の解釈や施策検討は生成AIという役割分担ができます。
なお、本記事で紹介する運用は、個票データそのものを外部の生成AIサービスへ入力することを推奨するものではありません。個票データの利用に当たっては、観光庁の利用手引きや利用条件を確認する必要があります。
Pythonに詳しくなくても操作できる「分析装置」を作成
今回、生成AIの支援を受けながら、個票データを自動処理するPythonプログラムを段階的に構築しました。
ただし、利用者が毎回Pythonのコードを書いたり、専門的な操作を行ったりする必要はありません。
最終的には、専用の実行ファイルをクリックし、画面上で個票データを保存しているフォルダを選ぶだけで、自動的に8四半期分のデータを集計・分析できる仕組みにしました。
処理が完了すると、国籍別の市場規模や広島県訪問率、消費額、周遊傾向などを整理したExcelファイルが自動で作成されます。
新しい四半期の個票が追加された場合も、所定のフォルダへデータを追加して同じ操作を行うことで、分析結果を更新できます。
つまり、Pythonは利用者が日常的にプログラミングするためのものではなく、大量データを裏側で処理する「分析エンジン」として使用しています。 

「動いた」だけで終わらせず、観光庁の公式値と照合
大容量データを自動集計できても、計算方法が間違っていては施策判断には利用できません。
そこで、まず2024年4-6月期をテストデータとして、個票から算出した結果と観光庁が公表している集計表を照合しました。
例えばB1地域調査から算出した広島県の1人当たり直接支出では、以下の結果となりました。
| 費目 | 個票からの算出値 | 観光庁公表値 | 判定 |
|---|---|---|---|
| 宿泊費 | 18,384.31円 | 18,384円 | PASS |
| 飲食費 | 12,908.65円 | 12,909円 | PASS |
| 都道府県内交通費 | 1,386.66円 | 1,387円 | PASS |
| 娯楽等サービス費 | 1,313.38円 | 1,313円 | PASS |
| 買物代 | 5,815.71円 | 5,816円 | PASS |
| その他 | 0円 | 0円 | PASS |
| 直接支出6費目合計 | 39,808.71円 | 39,809円 | PASS |
個票から算出した結果を公式値と照合することで、ウェイトや欠損値処理等が適切に実装されているかを確認してから独自分析へ進みました。
これは、生成AIをデータ分析へ利用する際に特に重要な工程だと考えています。
8四半期の個票から「重点市場」を分析
分析基盤を8四半期へ拡張し、国籍・地域別に、
- 全国市場規模
- 広島県訪問者数
- 広島県訪問率
- 平均泊数
- 県内直接支出
- 前年度からの変化
等を分析しました。
その結果、東広島市のインバウンド施策を検討する上では、例えば市場を次のように整理できました。
成果拡大型市場
米国、豪州、英国、フランス、ドイツ等、既に広島県を訪問する割合が比較的高い市場です。
この市場については「広島県まで来てもらう」だけでなく、広島市・宮島等を訪れている旅行者を東広島市まで周遊させるという視点が重要になります。
訪問率転換型市場
韓国、台湾、中国等、全国の訪日市場は非常に大きい一方、広島県訪問率にはまだ伸びしろがあります。
こうした市場では、広島県への訪問率を高めることと、その中から東広島市へ誘導することを一体的に考える必要があります。
分析結果を踏まえ、現在は米国・台湾・韓国等を中心に市場別の施策検討を進めています。

個票から「実際の周遊傾向」も分析
さらに分析プログラムを拡張し、A1全国調査に含まれる回答者ごとの訪問地の順序を利用して、周遊パターンも分析しました。
今回は米国・台湾・韓国の約2万件の回答を対象とし、そのうち広島県を訪問した954件について、前後訪問地や併訪先を分析しました。
その結果、3市場では旅行構造が大きく異なることが分かりました。
| 市場 | 個票から確認できた主な周遊傾向 | モデルコース検討の方向性 |
|---|---|---|
| 米国 | 東京・京都・大阪との併訪が非常に多い | ゴールデンルート+広島+東広島 |
| 台湾 | 福岡・岡山・瀬戸内との広域周遊が特徴 | 広島空港・瀬戸内広域周遊+東広島 |
| 韓国 | 広島空港利用が高く、広島エリア完結型が比較的多い | 広島空港―東広島―広島市・宮島 |
例えば米国の広島県訪問者では、
- 東京都:89.0%
- 京都府:79.0%
- 大阪府:70.0%
が同一旅行内で訪問されていました。
最も多い広島県前後の組み合わせも、京都府 → 広島県 → 大阪府となっています。
一方、韓国では広島県訪問者の約7割が広島空港から入出国しており、国籍によってモデルコースの入口そのものを変える必要があることが見えてきました。

この分析結果は現在、東広島市のインバウンド向けモデルコース検討にも活用しています。
細かく分析すればするほど、サンプル数への注意が必要
個票データには大きな可能性がありますが、何でも分析できるわけではありません。
例えば今回、8四半期を統合しても、東広島市を訪問したサンプルは、
- 米国:2件
- 台湾:5件
- 韓国:7件
にとどまりました。
そのため、「米国人は実際にこのルートで東広島市を訪れている」といった分析には使用していません。
代わりに、「広島県を訪れる米国人の実際の周遊行動を確認し、その動線上に東広島市をどう組み込むか」という形でモデルコースを検討しています。
公的統計であっても、分析条件を細かくするほどサンプル数は少なくなります。生成AIで分析できることと、統計的に意味のある結論を出せることは別です。この点は、個票データを施策検討へ利用する際に特に注意が必要です。
分析基盤を作る過程で分かったこと
今回の取組では、一度プログラムを作って終わりではありませんでした。
実際には、
- 四半期による変数リストの形式変更
- 国籍・地域区分の変更
- 訪問地コードの変更
- 使用するウェイトの違い
- 欠損値と「支出なし」の区別
などを確認しながら、分析プログラムを段階的に修正しました。そこで現在のプログラムには、未登録コードや集計不整合等を自動チェックするQA機能も追加しています。
新しい四半期データが提供された場合には、個票追加 → 自動集計 → QA確認 → 分析結果更新という流れで運用します。
生成AIは「分析そのもの」だけでなく、分析環境づくりにも使える
今回の取組を通じて特に感じたのは、生成AIの活用範囲です。
生成AIには、分析結果の文章化だけではなく、
① 調査票・変数リスト・利用手引きの読み解き
② 分析方法の設計
③ Pythonプログラムの作成
④ エラー原因の特定・修正
⑤ 公式値との照合方法の設計
⑥ 集計結果の分析
⑦ 観光施策への反映
まで、一連の工程を支援させることができました。
その結果、Pythonを専門的に扱った経験がなくても、1GBを超える個票データを継続的に処理できる分析環境を構築することができました。
生成AIを「分析結果を文章化してくれるツール」としてだけでなく、職員自身がデータを扱える環境をつくるための実務パートナーとして活用することも、地域DMOにおける一つの活用方法だと考えています。
全国のDMOでも応用できる可能性
今回の仕組みは東広島市固有のデータだけを扱うものではありません。
観光庁の個票データは申請により利用可能であるため、分析条件を各地域へ変更することで、
- 自県を訪問する外国人市場の分析
- 国籍別の消費・宿泊分析
- 併訪都道府県の分析
- 自地域への送客可能性がある市場の抽出
- 実際の周遊傾向を踏まえたモデルコース検討
などへの応用が考えられます。
特に、専任のデータアナリストを配置していない地域DMOにおいても、生成AIを分析設計やプログラム構築の補助として活用することで、公的な個票データを施策検討につなげられる可能性があります。
個票データを扱う際の注意点
一方で、個票データである以上、利用方法には十分な注意が必要です。
観光庁では、個票データを利用する際の手引きを公開し、申請時に利用条件への同意を求めています。
今回構築した運用では、個票データそのものは利用者の管理下にあるローカル環境で処理し、生成AIには集計・加工後のデータのみを入力して、分析結果の解釈や施策検討等に活用することを基本としています。
この運用方法について、当記事公開前に観光庁へ確認し、生成AIに入力する集計結果が個票データの利用に係る遵守事項に抵触しないものであれば、差し支えないとの回答をいただきました。
あわせて、生成AIの利用に当たっては、学習データとして利用される可能性や、システムの不具合等による情報流出のリスクも踏まえ、適切に判断する必要がある旨の助言をいただいています。
また、個票データや個人を識別できる情報を公開せず、遵守事項を守ったうえで、分析方法・集計結果・活用事例を公表することについても、団体の責任において公表可能との回答をいただいています。
そのため、本記事で紹介する取組は、個票データを生成AIへ直接投入することを推奨するものではありません。
他地域で同様の取組を行う場合も、観光庁の個票データ利用に係る手引き・遵守事項を確認するとともに、利用する生成AIサービスのデータ取扱方針や情報管理上のリスクを踏まえて運用することが重要です。
まとめ|「使えるデータ」に変えるところから生成AIを活用する
観光分野では、多くの統計や調査データが公開されています。しかし、データが存在することと、地域の観光施策に利用できることは同じではありません。
今回の取組では、1GBを超える個票データに対して、
データ構造を理解する
→ 正しい集計方法を設計する
→ 自動分析できる環境をつくる
→ 精度を検証する
→ 市場・周遊を分析する
→ 施策へ反映する
という一連のプロセスに生成AIを活用しました。
その結果、これまで扱うことが難しかった大容量の個票データを、重点市場の選定やインバウンド向けモデルコースの検討に活用できる分析基盤へ発展させることができました。
今後も、新しい四半期データが提供されるたびに分析基盤を更新しながら、「認知 → 来訪 → 周遊 → 消費 → 再訪」までをデータに基づいて検討できる観光地域づくりにつなげていきます。
出典・参考
観光庁「インバウンド消費動向調査」個票データより算出。
調査概要、個票データの提供、各期の公表資料については、観光庁「インバウンド消費動向調査」を参照。
https://www.mlit.go.jp/kankocho/tokei_hakusyo/gaikokujinshohidoko.html