ClaudeでRevPAR・ADR・稼働率を月次分析 — 宿泊施設の曜日別・チャネル別に読む
PMSの予約CSVを泊単位に整え、客室稼働率・ADR・RevPARを月次で出し、曜日別とチャネル別に分けて料金を見直す論点を探す手順です。Claude for Excelに任せる範囲と検算の仕方も示します。
宿泊施設の月次レポートは、稼働率だけでは足りません。部屋が埋まっても単価を下げて埋めたのなら、売上の伸びは小さいからです。稼働率とADR(平均客室単価)を掛け合わせたRevPAR(販売可能客室1室あたりの客室売上)なら、両方の動きが1つの数字に入ります。Claude for Excelなら、PMS(宿泊管理システム)から出した予約CSVを同じブックの中で集計し、曜日別・チャネル別に分解するところまで進められます。
この記事は、泊単位に整えたCSVから3指標を出す月次シートの組み方と、Claudeへの指示、人が行う検算を順に示します。宿泊者を特定する列(氏名・連絡先・予約番号)はブックに入れない前提です。
3つの指標は「分母」で決まる
3指標の違いは分母にあります。客室売上を何で割るかが変わるだけで、材料は同じです。この記事では次の定義で統一します。
| 指標 | 式 | 分母が表すもの |
|---|---|---|
| 客室稼働率 | 式販売室数 ÷ 総室泊数 | 分母が表すもの売れる部屋の総数 |
| ADR | 式客室売上 ÷ 販売室数 | 分母が表すもの実際に売れた部屋 |
| RevPAR | 式客室売上 ÷ 総室泊数 | 分母が表すもの売れる部屋の総数 |
総室泊数は「客室数 × その月の日数」です。販売室数は、その月に宿泊者が利用した客室の延べ数(1室1泊を1と数える)です。3つの間には、RevPAR = 稼働率 × ADRという関係が成り立ちます。
稼働率の考え方は、観光庁が毎月公表する宿泊の統計と同じ形です。その用語の解説では、客室稼働率を「利用客室数を総客室数で除して算出したもの」とし、総客室数を「客室数に各月の日数を乗じて算出したもの」と定めています。ADRとRevPARは、この用語解説には載っていません。売上を使う指標なので、施設ごとに何を売上に含めるかを先に決める必要があります。
売上に含めるものを決めずに集計すると、月ごとに数字が比べられなくなります。次の3点は、月次シートの見出しか設定シートに書き残しておきます。
- 客室売上は、税・サービス料を抜いた宿泊料だけにするか、朝食などの付帯を含めるか
- 館内使用や無料宿泊の部屋を、販売室数に入れるか外すか
- 改修や故障で売れなかった部屋を、総室泊数から引くか残すか
観光庁の定義に合わせるなら、客室数 × 日数をそのまま分母にします。売れない部屋を引いて運営上の稼働率を見る場合は、外部の統計と比べられなくなるので、定義を併記します。
渡すデータは、泊単位の集計行だけにする
PMSの予約CSVは、予約1件が1行で、連泊は1行にまとまっています。このまま月で集計すると、月またぎの連泊が片方の月に寄ります。月次の分析には、宿泊日ごとに1泊1行へ展開した形が必要です。
Claude for Excelに読ませるのは、次の5列の「日次」シートです。
| 列 | 中身 |
|---|---|
| A | 中身宿泊日(その夜の日付) |
| B | 中身チャネル(自社サイト、OTA、法人など) |
| C | 中身部屋タイプ |
| D | 中身販売室数 |
| E | 中身客室売上(税・サービス料抜き、円) |
宿泊者名、連絡先、予約番号は載せません。PMSから出した予約データを、宿泊日・チャネル・部屋タイプで数えた表に直してから貼ります。連泊の展開は、PMSに泊単位の出力があればそれを使います。無ければ、Claudeに「1予約を泊数ぶんの行に展開し、宿泊料は泊数で割る」と指示して別シートに作らせ、行数が元の延べ泊数と合うかを確かめます。
別に「設定」シートを作り、B1に総客室数を入れておきます。もう1つ「カレンダー」シートを作り、A列に対象期間のすべての日付、B列に =WEEKDAY(A2,2) を置きます。月曜が1、日曜が7になります。後の曜日別集計で、その月の各曜日の日数を数えるために使います。
月次シートの式を組む
「月次」シートのA列に月初日(例: 2026/10/1)を入れ、B列以降に式を置きます。
B2 販売室数: =SUMIFS(日次!$D:$D, 日次!$A:$A, ">="&$A2,
日次!$A:$A, "<="&EOMONTH($A2,0))
C2 客室売上: B2 の式の $D:$D を $E:$E に替える
D2 総室泊数: =設定!$B$1*DAY(EOMONTH($A2,0))
E2 稼働率: =IF(D2=0,"",B2/D2)
F2 ADR: =IF(B2=0,"",C2/B2)
G2 RevPAR: =IF(D2=0,"",C2/D2)
H2 検算: =IF(ABS(E2*F2-G2)<0.5,"OK","要確認")E列は「0.0%」、F列とG列は「#,##0」の表示形式にします。H列は、稼働率 × ADRがRevPARと一致するかの確認で、ずれたら集計範囲か分母の定義を疑います。
Claude for Excelに任せる手順
Claude for Excelは、ブックに関する質問にセル単位の引用付きで答え、新しいモデルを自然言語の説明から作れます。ピボットテーブルの編集や条件付き書式にも対応します。式の下書きと、数字の読み解きに向いた作業です。
月次シートを作らせて検算するまで
- 1
列の意味と定義を文章で渡す
日次シートの列、設定シートの総客室数、売上の範囲(税・サービス料抜き、付帯を含む・含まない)を書いて伝えます。
- 2
新しいシートに作らせる
既存のシートは書き換えず、「月次」シートを新しく作るよう指示します。上の表の列と式を示すと、定義のずれを防げます。
- 3
式の参照先を説明させる
E・F・G列がどのセルを参照しているかを聞きます。回答のセル引用から、集計範囲の取りこぼしを見つけやすくなります。
- 4
1か月を電卓で照合する
次の節の計算例のように、1か月分を手で計算し、シートの値と合うかを見ます。
指示の例を示します。
添付ブックの「日次」シートは、宿泊日・チャネル・部屋タイプごとの
販売室数と客室売上(税・サービス料抜き)です。
「設定」B1が総客室数、「カレンダー」は日付と曜日(月曜=1)です。
既存シートは変更せず、新しいシート「月次」を作ってください。
月ごとに、販売室数、客室売上、総室泊数(総客室数×月の日数)を集計し、
稼働率(販売室数÷総室泊数)、ADR(売上÷販売室数)、
RevPAR(売上÷総室泊数)を出してください。
最後に、稼働率×ADRがRevPARと一致しているかの検算列も付けてください。設定画面の指示欄(Instructions)には、すべての会話に効く決まりごとを書けます。「金額は円、桁区切りあり」「稼働率は小数第1位まで」のような表示の約束は、そこに置くと毎回の指示が短くなります。この指示欄は、PowerPointやWordの指示欄とは別になっています。
検算: 9月と10月を手計算で照合する
式が合っているかは、1か月分を電卓で出して確かめます。以下は動作確認のために作った架空の数字で、総客室数は50室です。
| 項目 | 9月 | 10月 |
|---|---|---|
| 月の日数 | 9月30 | 10月31 |
| 総室泊数 | 9月1,500 | 10月1,550 |
| 販売室数 | 9月1,110 | 10月1,240 |
| 客室売上(円) | 9月9,990,000 | 10月10,560,000 |
| 稼働率 | 9月74.0% | 10月80.0% |
| ADR(円) | 9月9,000 | 10月8,516 |
| RevPAR(円) | 9月6,660 | 10月6,813 |
9月は1,110 ÷ 1,500 = 0.740、9,990,000 ÷ 1,110 = 9,000、9,990,000 ÷ 1,500 = 6,660です。10月は1,240 ÷ 1,550 = 0.800、10,560,000 ÷ 1,240 ≒ 8,516、10,560,000 ÷ 1,550 ≒ 6,813になります。
シートの値が合わないときは、次を順に疑います。
- 日付が文字列になっていて、SUMIFSの「>=」の比較が効いていない
- 連泊が展開されておらず、月またぎの泊が片方の月に入っている
- 総客室数が、改修で閉めた部屋を引いた数になっている(定義とずれる)
- 館内使用や無料宿泊の行が、販売室数に混ざっている
- 売上が税込みの行と税抜きの行で混在している
RevPARの増減を、稼働率とADRに分けて読む
10月のRevPARは9月より約2.3%高くなりました。この増加は、2つの比に分けられます。
| 見る量 | 9月 → 10月の比 |
|---|---|
| 稼働率(74.0% → 80.0%) | 9月 → 10月の比約1.081(上昇) |
| ADR(9,000円 → 8,516円) | 9月 → 10月の比約0.946(低下) |
| RevPAR(6,660円 → 6,813円) | 9月 → 10月の比約1.023(上昇) |
1.081 × 0.946 ≒ 1.023で、RevPARの比と合います。稼働率は8%伸びたのに、単価が5%以上下がったため、RevPARの伸びは2%台にとどまりました。売上全体で見ても、10月は部屋数が約12%増えて売上は約5.7%の増加です。部屋は売れていても、1室あたりの収入は下がっています。
ここから先の「なぜ下がったか」は、数字だけでは決まりません。Claudeに原因を推測させるより、次のように分解する質問を立てます。
| 稼働率 | ADR | 次に見る分解 |
|---|---|---|
| 上昇 | ADR低下 | 次に見る分解チャネル構成の変化、値引き施策、部屋タイプの構成 |
| 上昇 | ADR上昇 | 次に見る分解需要が強い日の偏り、料金の改定時期 |
| 低下 | ADR上昇 | 次に見る分解高単価の日だけが売れた可能性、閑散日の落ち込み |
| 低下 | ADR低下 | 次に見る分解需要全体の減少、競合施設や催事の影響 |
分解の結果は、施設の事情を知る人が解釈します。Claudeは集計と、どの切り口で見るかの候補出しまでを担当させ、結論は人が出します。
曜日別に分けると、料金を見直す日が見える
曜日別の集計は、日次シートに曜日の列を足して行います。F列に =WEEKDAY(A2,2) を置き、月次と同じ形でSUMIFSに曜日の条件を加えます。分母は、総客室数 × その月のその曜日の日数です。曜日の日数は、カレンダーシートに対して COUNTIFS(カレンダー!$B:$B, 1, カレンダー!$A:$A, ">="&$A2, カレンダー!$A:$A, "<="&EOMONTH($A2,0)) のように数えます(1は月曜)。
2026年10月は木・金・土が5回、ほかの曜日が4回あります。上の10月の数字(総室泊数1,550)を曜日に分けた例を示します。
| 曜日 | 販売室数 | 稼働率 | ADR(円) | RevPAR(円) |
|---|---|---|---|---|
| 月 | 販売室数150 | 稼働率75% | ADR(円)7,800 | RevPAR(円)5,850 |
| 火 | 販売室数140 | 稼働率70% | ADR(円)7,700 | RevPAR(円)5,390 |
| 水 | 販売室数150 | 稼働率75% | ADR(円)7,700 | RevPAR(円)5,775 |
| 木 | 販売室数190 | 稼働率76% | ADR(円)8,200 | RevPAR(円)6,232 |
| 金 | 販売室数240 | 稼働率96% | ADR(円)9,400 | RevPAR(円)9,024 |
| 土 | 販売室数250 | 稼働率100% | ADR(円)9,820 | RevPAR(円)9,820 |
| 日 | 販売室数120 | 稼働率60% | ADR(円)7,400 | RevPAR(円)4,440 |
見るべき点は2つあります。土曜は稼働率が100%なので、需要が部屋数を上回った日は数字に現れません。満室の日は、稼働率を上げる余地がなく、単価の水準を点検する日です。逆に日曜は稼働率が60%で、ADRも最も低くなっています。単価だけを下げても稼働率が伸びたかどうかは、曜日別の前年同月比や、料金を動かした前後の比較で確かめます。
チャネル別に分けると、単価の差が見える
チャネル別は、日次シートのB列を条件にして同じ集計をします。上の10月を例にすると、次のようになります。
| チャネル | 販売室数 | 客室売上(円) | ADR(円) |
|---|---|---|---|
| 自社サイト | 販売室数400 | 客室売上(円)3,600,000 | ADR(円)9,000 |
| OTA | 販売室数600 | 客室売上(円)5,040,000 | ADR(円)8,400 |
| 法人 | 販売室数240 | 客室売上(円)1,920,000 | ADR(円)8,000 |
売上の半分近くをOTAが占め、ADRは自社サイトより600円低い構成です。ただし、OTAには手数料が掛かります。手数料率は契約ごとに異なるため、実際の手取りで比べるなら手数料率の列を足し、ADRから差し引いた値を並べます。この列はClaudeに推測させず、契約書の率を人が入力します。
料金見直しの案を作らせるときの頼み方
曜日別とチャネル別の表ができたら、見直しの案を作らせます。ここでの「案」は、検討の材料です。最終的な料金は、需要の見込み、競合施設の動き、予約の入り方を知る担当者が決めます。
指示の例です。
月次シートの曜日別とチャネル別の表を読み、料金を見直す論点を挙げてください。
稼働率が90%を超える曜日、稼働率が70%を下回る曜日、
ADRが全体平均より低いチャネルの3つに分けてください。
各論点に、根拠にしたセル範囲と、確認すべき追加データを添えてください。
推測は推測と書き、料金の金額は提案しないでください。金額を出させないのは、需要の予測や競合の料金がブックに無いからです。論点とセルの根拠が付いた案なら、人が追加の資料と突き合わせて判断できます。
使うときの注意
Claude for Excelは、Pro、Max、Team、Enterpriseの各プランで使えます。動作するExcelは、Excel on the web、Microsoft 365版のWindows(ビルド16.0.13127.20296以降)、Mac(バージョン16.46以降)です。Excel 2016と2019の永続・ボリュームライセンス、iPad、Androidでは動きません。マクロとVBA、データテーブルにも対応していません。
利用上の注意として、次が挙げられています。
- 人の確認を経ない最終成果物や、検証を伴わない監査上重要な計算には向かない
- 機微情報や規制対象のデータは、管理が十分でないまま扱わない
- 外部から受け取ったファイルには、隠された指示が含まれていることがある。信頼できるブックだけで使う
PMSのCSVは自社で出力したものでも、OTAや代理店から受け取ったリストを混ぜるなら、貼る前に中身を確かめます。リスクのある操作を提案されたときは確認が出るので、内容を読んでから承認します。既存データを上書きする前にも警告が出ますが、元のブックは必ず複製してから始めます。
月次の数字は、前月や前年同月と並べて初めて意味を持ちます。前月比と前年同月比に理由メモを付ける手順はClaude for Excelで月次変動分析にあります。稼働の指標を扱う別の例として、病棟の利用率を入退院数と在院日数に分けて読むClaude for Excelで病床稼働率と平均在院日数を月次分析する手順も、分解の考え方が同じです。出張者の宿泊費を点検する側の話は旅費規程の日当・宿泊費上限で出張精算をClaudeが点検する手順で扱っています。
まとめ
RevPARは、稼働率とADRを掛けた1つの数字です。月次の見出しには定義を書き、泊単位の集計行から3指標を出し、稼働率 × ADR = RevPARの検算を毎月回します。曜日別とチャネル別に分けると、満室で伸びしろのない日、単価の低いチャネルといった論点が見えてきます。料金を動かす判断は、需要と競合の情報を持つ人が行う領域です。