賃貸の内見後に申込に至っていない客を毎週洗い出し、申込に近い順と次に出す物件・連絡の案をまとめる
賃貸の内見まで進んだのに申込に至っていない客を毎週月曜に洗い出し、反響と内見の記録から申込に近い順に並べます。客ごとに、決め手を欠いた点と、それに合う次の物件、連絡の案を付けて担当者へ渡します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Python
- 対象業界
- 不動産
- 対象部門
- 営業
- 対象業務
- 比較検討/集計・分析
- 主な課題
- 判断に時間がかかる/営業フォローが追いつかない/属人化している
- AIで行う処理
- 予測
- 主な効果
- 判断支援/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 担当者が、顧客管理で自分の担当する内見済み・未申込の客を一覧にする
- 1人ずつ、反響の内容、内見した物件、内見のメモ、これまでの連絡を読み返す
- 客が何を理由に決めなかったかを思い出し、空室の一覧から次に出せる物件を探す
- 誰から連絡するかを決める(多くは、印象に残っている客から)
- メールかSMSの文を書き、送る。電話をかけることもある
- 送った内容を顧客管理に記録する
- 自動毎週月曜の朝、顧客管理から内見済み・未申込の客を抜き出す
- 自動断りの意思を示した客、他社で決めた客、最後の内見から45日を過ぎた客を外す
- 自動客ごとに、反響の内容、内見した物件とメモ、連絡の履歴をまとめる
- 自動空室の一覧から、希望条件で候補の物件を10件まで絞る(内見済み・紹介済みの物件は除く)
- 自動Claude API にまとめて渡し、段階、根拠、決め手を欠いた点、次の物件、連絡の案を受け取る
- 自動返ってきた物件が候補の中にあるか、いまも空いているかを確かめる
- 自動段階と、内見からの日数、入居の希望時期で並べ、担当者ごとの一覧にする
- 人担当者が月曜の朝に一覧を読み、段階と根拠を確かめ、連絡する客を決める
- 人連絡の案を直して、担当者が自分で送る。結果を顧客管理に記録する
- 自動2週間後、段階ごとに申込に至った割合を数える
各工程の詳しい説明を読む
- 担当者が、顧客管理で自分の担当する内見済み・未申込の客を一覧にする
- 1人ずつ、反響の内容、内見した物件、内見のメモ、これまでの連絡を読み返す
- 客が何を理由に決めなかったかを思い出し、空室の一覧から次に出せる物件を探す
- 誰から連絡するかを決める(多くは、印象に残っている客から)
- メールかSMSの文を書き、送る。電話をかけることもある
- 送った内容を顧客管理に記録する
(a)内見後の連絡が後回しになる。 平日の昼は新しい反響の返信と内見の案内で埋まり、内見後の客の見直しは、手が空いたときにしかできません。 繁忙期ほど、内見まで来た客に1週間以上連絡していない状態が生まれます。
(b)誰から連絡するかが勘で決まる。 12名の担当者が持つ内見後の客は、1人あたり15人前後です。全員を毎週読み返す時間は無いので、「この前、感じの良かった客」から連絡します。 申込に近いのは、内見で具体的な質問をした客や、入居日が迫っている客なのに、そちらが後になります。
(c)次に出す物件が、決めなかった理由とずれる。 「日当たりが気になる」と言って決めなかった客に、同じ家賃帯の北向きの部屋を送ってしまう。内見のメモを読み返さずに、条件の検索だけで物件を選ぶと、こうなります。
(d)追客のやり方が担当者ごとに違う。 毎週連絡する担当者もいれば、1回送って返事が無ければ終わりにする担当者もいます。断りの返事をもらった客に連絡を続けてしまうこともあり、それは客との関係だけでなく、勧誘のルールの面でも問題になります。
- 【自動】 毎週月曜の朝、顧客管理から内見済み・未申込の客を抜き出す
- 【自動】 断りの意思を示した客、他社で決めた客、最後の内見から45日を過ぎた客を外す
- 【自動】 客ごとに、反響の内容、内見した物件とメモ、連絡の履歴をまとめる
- 【自動】 空室の一覧から、希望条件で候補の物件を10件まで絞る(内見済み・紹介済みの物件は除く)
- 【自動】 Claude API にまとめて渡し、段階、根拠、決め手を欠いた点、次の物件、連絡の案を受け取る
- 【自動】 返ってきた物件が候補の中にあるか、いまも空いているかを確かめる
- 【自動】 段階と、内見からの日数、入居の希望時期で並べ、担当者ごとの一覧にする
- 【人】 担当者が月曜の朝に一覧を読み、段階と根拠を確かめ、連絡する客を決める
- 【人】 連絡の案を直して、担当者が自分で送る。結果を顧客管理に記録する
- 【自動】 2週間後、段階ごとに申込に至った割合を数える
8番目と9番目は、人の仕事として残します。 一覧は「誰から連絡するか」の提案で、連絡するかどうかも、何を送るかも担当者が決めます。 自動で送る設計にはしません。
10番目が、この構成を続けられるかの分かれ目です。 段階Aの客が本当に申込に近いのかは、数えなければ分かりません。数えた結果で、並べ方と指示を直します。
02今回想定するシステム構成
顧客管理(反響・内見・連絡の履歴)+ 空室の一覧
│
▼【トリガー】毎週月曜 6:00
Python ── 内見済み・未申込の客を抜き出す
── 断り・他決・45日超を外す
── 客ごとに記録をまとめ、候補の物件を10件まで絞る
▼
Claude API(Message Batches API + 構造化出力)
│ 段階(A〜D)と根拠の一文
│ 決め手を欠いた点/次に出す物件/連絡の案
▼
Python ── 物件が候補の中にあるか、空いているかを確かめる
── 段階・内見からの日数・入居の希望時期で並べる
▼
担当者ごとの一覧(スプレッドシート)+ 社内チャットで通知
▼
【人】月曜の朝に確認 → 連絡する客を決め、案を直して自分で送る
▼
2週間後:段階ごとの申込の割合を集計| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Claude(Claude API の Message Batches API と構造化出力) | OpenAI API、Gemini API |
| 集計 | Python(対象の抜き出し、候補の物件の絞り込み、並べ替え、段階ごとの申込の割合) | 表計算ソフトの関数 |
| 顧客管理 | いま使っている賃貸仲介向けの顧客管理 | 同種の顧客管理 |
| 一覧 | Google スプレッドシート | Microsoft 365 の共有ファイル |
| 通知 | 社内チャット | メール |
顧客管理と空室の一覧は、新しく足すものではありません。 この構成は両方から読むだけで、顧客管理への書き込みは担当者が行います。 連絡の結果を書く欄が顧客管理にあれば、それを10番目の集計に使います。
Claude API を Message Batches API で呼ぶのは、急がないからです。 月曜の朝に一覧がそろっていればよく、1人ずつ即座に返事をもらう必要はありません。Message Batches API は、多くの要求をまとめて非同期に処理する仕組みで、費用が50%下がります。 多くのバッチは1時間以内に終わり、処理が24時間以内に終わらなかった要求は期限切れになります。 月曜6時に投げれば、店舗が開くまでに十分間に合います。
1つのバッチは、10万件の要求か256MBのどちらか先に達したほうが上限です。 週に約180人なら、1つのバッチで足ります。結果は作成から29日間ダウンロードでき、その後はバッチを見ることはできても結果は取れません。
構造化出力は、output_config.format に JSON スキーマを渡して使います。 返答がスキーマに沿った形になることが保証され、JSON.parse() の失敗や、必須の項目の欠けが起きません。 Message Batches API は Messages API のほぼすべての機能に対応しているとされています。バッチの要求に構造化出力を付けて期待どおりに返るかは、最初の試験で確かめます。
03どうやって実装するのか
処理の起点を決める
毎週月曜の6時に、社内のサーバーで Python のスクリプトを定時で動かします。 曜日を月曜にするのは、土日の内見の結果が顧客管理に書き終わっていることと、週の初めに連絡の計画を立てられることの両方のためです。
処理は2つに分けます。6時の処理でバッチを投げ、7時半の処理で結果を取りに行きます。 7時半の時点で終わっていなければ、30分おきに取りに行きます。店舗が開く10時までに一覧がそろわない場合は、前週の一覧に「今週分は未作成」と書いて通知します。
繁忙期(1月から3月)は、週2回に増やします。 物件が数日で埋まる時期は、週1回では候補の物件の多くが翌週には無くなっています。月曜と木曜の2回にし、木曜は段階AとBの客だけを見直します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 客の基本情報 | 客のID、担当者、反響の日、入居の希望時期、世帯の人数 | 顧客管理 |
| 希望条件 | エリア・駅、賃料の上限、間取り、広さ、こだわりの条件 | 顧客管理(反響時と、内見後に更新したもの) |
| 内見の記録 | 内見した日、物件、担当者のメモ(客の反応) | 顧客管理 |
| 連絡の履歴 | 日時、手段、要旨、客からの返事の有無と要旨 | 顧客管理 |
| 候補の物件 | 物件ID、賃料、間取り、広さ、向き、駅からの距離、初期費用の要点、入居可能日 | 空室の一覧(Python で10件まで絞ったもの) |
質を決めるのは、内見の記録です。 「気に入っていた」だけのメモからは、決め手を欠いた点が取れません。この構成を始める前に、内見のメモに「良かった点」「気になった点」「次に見たい条件」の3つを書くように、店舗でそろえます。書き方をそろえるだけで、AIを使わなくても見直しが速くなります。
名前、電話番号、メールアドレスは渡しません。 段階を付けるのにも、物件を選ぶのにも要らないからです。客は顧客管理のIDで表し、一覧を作る段階で名前に戻します。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| 内見済み・未申込の客 | 顧客管理 | 顧客管理の出力の機能(CSVの書き出し、またはAPI)で、ステータスが「内見済み」の客を取る |
| 内見の記録と連絡の履歴 | 顧客管理 | 同じく、客IDごとの履歴を取る |
| 空室の一覧 | 物件データベース | 毎朝の更新の後の一覧を取る |
| 前週の一覧 | 自社の保管先 | 前週に出した段階と、担当者が付けた結果を読む |
顧客管理から取れる形は、製品によって違います。 APIがある製品ならAPIで、無ければ画面からCSVを書き出す形になります。CSVの書き出しが手作業なら、月曜の6時の前に担当者の1人が書き出して所定のフォルダに置く運用にし、スクリプトはそのファイルを読みます。この部分は利用している顧客管理に応じた個別対応が必要です。
前週の一覧も入力にします。 先週「段階A」だった客が今週も未申込なら、先週の連絡が届いたか、返事があったかを見て、段階を付け直す必要があります。
AIへ渡す前に整形する
- 対象から外す … 顧客管理に「断り」「他社で決定」「連絡不要」の印がある客、最後の内見から45日を過ぎた客を外します
- 連絡の履歴を読んで外す … 客からの返事に「もう探していない」「連絡は結構です」にあたる文があれば、AIに渡さず担当者の確認に回します
- 記録をまとめる … 1人分の記録を、反響、内見、連絡の順に日付で並べ、1つの文書にします
- 候補の物件を絞る … 空室の一覧から、エリア、賃料の上限(1万円の幅まで)、間取りで絞り、内見済みと紹介済みの物件を除いて10件までにします
- 重複をまとめる … 同じ客が別の店舗やポータルから二重に反響していれば、1人にまとめます
custom_idを付ける … バッチの要求ごとに、客IDと週の日付から作った識別子を付けます(英数字・ハイフン・アンダースコアで64文字まで)
2番目を、AIより前の段階に置くのは意図してのことです。 断りの意思を示した客にAIが連絡の案を作ると、案が一覧に載った時点で、誰かが送ってしまう危険があります。 宅地建物取引業法施行規則では、相手方が契約を締結しない旨の意思(勧誘を引き続き受けることを希望しない旨の意思を含む)を表示したにもかかわらず勧誘を継続することが禁止されています。案を作らないのが、いちばん確実な止め方です。
4番目で候補を絞るのは、AIに物件を探させないためです。 空室の一覧を丸ごと渡すと、AIは条件から外れた物件を「おすすめ」として出すことがあります。条件に合う物件を選ぶのは Python、その中から決め手を欠いた点に合うものを選ぶのが AI、と分けます。
AIに処理させる
させるのは、記録を読んで段階を付け、その根拠を書き出し、決め手を欠いた点に合う物件を候補の中から選ぶことです。
| させること | 具体的に |
|---|---|
| 段階を付ける | A(申込間近)/B(検討中)/C(様子見)/D(連絡の方法を担当者が見直す) |
| 根拠を書き出す | 段階の根拠にした記録の一文を、そのまま写す |
| 決め手を欠いた点を拾う | 賃料、広さ、日当たり、駅からの距離、初期費用、設備、家族の意見など |
| 次の物件を選ぶ | 候補の10件の中から、決め手を欠いた点に合うものを3件まで |
| 連絡の案を作る | 手段、時期、伝える要点、短い文の下書き |
段階の決め方は、指示文に基準として書きます。
| 段階 | 基準の例 |
|---|---|
| A | 申込の手続きや初期費用について具体的に聞いた。入居の希望時期が1か月以内。気になった点が1つだけで、それを満たす候補がある |
| B | 気になった点がはっきりしていて、連絡に返事がある |
| C | 気になった点が書かれていない、または返事が途絶えている |
| D | 記録が乏しく判断できない。または返事の内容から、連絡のしかたを変えたほうがよい |
「予測」といっても、確率の数字は出させません。 記録の量が客ごとにばらばらで、数字にしても根拠が説明できないからです。出させるのは、基準に照らした段階と、その根拠の一文です。 段階が申込とどれくらい結びつくかは、第7章の保存・ログで数えます。
| させないこと | 理由 |
|---|---|
| 候補にない物件を出す | 空いていない物件や、条件外の物件を案内することになる |
| 確率や点数を出す | 根拠が説明できない。並べ方は段階と日数で決める |
| 客の属性で段階を変える | 年齢や家族構成で見込みを決めると、公正さを欠く |
| 断りの意思を示した客に案を作る | 前処理で外している。残っていても案を作らない |
| 連絡を送る | 送るのは担当者 |
3行目は、指示で明示します。 世帯の人数は物件の広さを選ぶために渡していますが、それを「申込に近いかどうか」の材料にさせません。 段階の根拠は、客が内見で言ったことと、連絡への返事だけにします。
指示内容を固定する
あなたは賃貸仲介の店舗で、内見のあと申込に至っていない客の記録を見直す担当です。
下の【記録】だけを根拠にしてください。記録にないことを推測しないでください。
【やること】
1. 段階を A / B / C / D のどれかにしてください。基準は【段階の基準】のとおりです。
2. 段階の根拠にした記録の一文を、evidence にそのまま写してください。
根拠の一文を写せない場合は、段階を D にしてください。
3. 客が内見した物件で「気になった点」を blocking_factors に並べてください。
記録に書かれていない点を足さないでください。書かれていなければ空の配列にしてください。
4. 【候補の物件】の中から、気になった点を解消する物件を3件まで選び、
どの点を解消するかを reason に書いてください。候補に無い物件を出さないでください。
合う物件が無ければ空の配列にしてください。
5. 連絡の案を作ってください。手段は記録で客が返事をしてきた手段に合わせてください。
文の最初に、会社名と担当者名を名乗る一文を入れてください。
1回の連絡で伝えることは1つか2つにしてください。
【厳守事項】
- 段階の根拠に、年齢、性別、家族構成、国籍、職業を使わないでください。
- 客からの返事に、探すのをやめた、連絡は要らない、という趣旨の文があれば、
stage を D、stop_contact を true にし、連絡の案を作らないでください。
- 賃料の値下げ、初期費用の免除など、物件の条件を変える約束を連絡の案に書かないでください。
- 物件が「まだ空いている」と断定する表現を使わないでください。
- 確率や点数を書かないでください。
【段階の基準】{stage_rules}
【記録】{customer_record}
【候補の物件】{candidate_properties}
【前週の段階と結果】{last_week}
「根拠の一文を写せなければD」が、この指示の要です。 これが無いと、記録が乏しい客にも「内見の反応が良かったため」とそれらしい根拠を作ってAを付けます。写す一文が無いことを、判断できないことの印にします。
「空いていると断定しない」は、空室の一覧の遅れのためです。 他社管理の物件は、一覧にあっても申込が入っていることがあります。連絡の案では「ご案内できるか確認してご連絡します」の形にさせます。
出力形式を固定する
客1人ごとに、次の形のJSONで受け取ります。
{
"customer_id": "",
"stage": "A | B | C | D",
"evidence": [ { "date": "", "source": "viewing_note | contact_log | inquiry", "text": "" } ],
"blocking_factors": [ "sunlight", "rent", "station_distance" ],
"recommended_properties": [ { "property_id": "", "reason": "" } ],
"contact_plan": {
"channel": "email | sms | phone",
"timing": "today | this_week | next_week",
"points": [ "" ],
"draft": ""
},
"stop_contact": false,
"needs_human_reason": ""
}
1つ目の理由は、evidence を記録の日付と出どころ付きで返させられることです。 担当者は一覧で段階の横に根拠の一文を読み、顧客管理を開かずに段階の妥当性を判断できます。
2つ目は、recommended_properties を Python で検査できることです。 返ってきた property_id が候補の10件にあるかを機械的に照らし、無ければその行を落とします。 自由文で物件名を書かせると、この照合ができません。
3つ目は、stop_contact で一覧から外す処理を決められることです。 true のものは担当者の一覧に「連絡しない理由の確認」として別に出し、連絡の案の欄には何も出しません。
構造化出力には、スキーマに沿わない応答になる場合があります。 安全上の理由で拒否した場合は stop_reason が refusal になり、max_tokens の上限で切れた場合は stop_reason が max_tokens になって、出力が不完全になることがあります。 どちらも例外処理で扱います。また、列挙した値の大文字・小文字は保証されないので、段階の値は大文字にそろえてから比べます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 顧客管理 | CSVの書き出し、またはAPI | 内見済み・未申込の客と、履歴を読む |
| 空室の一覧 | ファイルまたはデータベースの読み取り | 候補の物件を絞り、結果を確かめる |
| Claude API | Message Batches API | 客ごとの要求をまとめて投げ、結果を取る |
| 一覧 | スプレッドシートへの書き込み | 担当者ごとのシートに並べる |
| 社内チャット | 通知 | 「今週の一覧ができた」と、段階Aの人数 |
バッチの結果は、投げた順には返りません。 結果の並びは要求の順と一致しないことがあるので、必ず custom_id で客と結び付けます。 結果の種類は succeeded、errored、canceled、expired の4つで、succeeded 以外は課金されません。 errored と expired の客は、次の処理で1人ずつ投げ直します。
一覧の並べ方は、Python が決めます。 段階の順(A→B→C→D)、同じ段階の中では入居の希望時期が近い順、その次に内見からの日数が短い順です。AIに順番そのものを付けさせないのは、客どうしを比べる材料をAIに渡していないからです。 1人ずつ別の要求で見ているので、並べるのは後段の仕事です。
顧客管理には書き込みません。 段階は一覧にだけ載せ、担当者が連絡した結果を顧客管理に書きます。 段階をそのまま顧客管理に書くと、AIの見立てが客の記録として残ってしまいます。
人が確認する
担当者は月曜の朝、自分のシートを上から読みます。 1人15人前後の一覧です。
- 段階Aの根拠を読む … 根拠の一文が本当にAの基準に当たるかを確かめます。当たらなければ段階を直し、直したことを残します
- 次の物件を確かめる … 他社管理の物件は、連絡の前に空きを掲載元へ確かめます
- 連絡の案を直して送る … 手段と時間を決め、文を直してから自分で送ります
stop_contactの客を確かめる … 本当に断りの意思なのか、単に忙しいという意味なのかを記録で確かめます。迷ったら連絡しません- 結果を顧客管理に書く … 連絡した、返事があった、内見を再設定した、申込に至った
2番目を省かないでください。 空いていない物件を案内すると、客の信頼をいちばん早く失います。 自社管理の物件は一覧で足りますが、他社管理の物件は必ず確かめます。
電話をかけるときは時間帯に気をつけます。 施行規則では、迷惑を覚えさせるような時間の電話又は訪問による勧誘も禁止されています。連絡の案の channel が phone でも、かける時間は担当者が決めます。
目標は、1人3分です。 根拠を読むのに1分、物件と案を直すのに2分という想定で、記録の読み返しと物件探しは、一覧の中で終わっています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 内見の記録が空 | 段階はDで返る。担当者に「メモの記入を」と出す |
| 候補の物件が0件 | 希望条件が厳しいか、空室が無い。「条件の見直しの相談」を連絡の案にする |
| 返ってきた物件が候補に無い | その行を落とす。落とした件数を記録する |
| 物件が確認の時点で埋まっていた | 一覧から外し、次の候補を出す |
| 同じ客が二重に載っている | 前処理でまとめる。漏れたら客IDで重複を落とす |
| 客が別の経路で申込していた | 顧客管理のステータスで外す。反映が遅れた分は担当者が消す |
stop_reason が refusal | その客は段階なしで担当者の確認に回す |
stop_reason が max_tokens | 記録が長い客。古い連絡の履歴を要旨だけにして投げ直す |
errored / expired | 次の処理で1人ずつ投げ直す。2回失敗したら段階なしで一覧に載せる |
| 10時までに一覧がそろわない | 前週の一覧に「今週分は未作成」と付けて通知する |
上から2行目が、実は大事な情報です。 候補が0件の客は、希望条件と空室の実態が合っていない客です。条件を少し広げる相談をすれば、新しい内見につながります。「出す物件が無いから連絡しない」を防ぎます。
6行目の「別の経路で申込」は、店舗をまたぐと起きます。 顧客管理のステータスの反映が1日遅れるだけで、申込済みの客に「ほかの物件もいかがですか」と送ってしまいます。 前処理で外したうえで、担当者の目でも確かめます。
記録を残す
- 週ごとのバッチのID、投げた日時、結果を取った日時、
custom_idと客IDの対応 - 客ごとに渡した記録と候補の物件、返ってきたJSONの全文
- Python が落とした行(候補に無い物件、埋まっていた物件)
- 担当者が段階を直した記録 … どの客を、何から何へ、理由
- 連絡したか、何を送ったか(顧客管理の記録から)
- 2週間後の結果 … 内見の再設定、申込、他決、連絡不要
最後の行で、段階が当たっていたかを数えます。 段階ごとに、2週間以内に申込に至った客の割合を出し、AとBで差が無ければ、基準の書き方を直します。 担当者が直した記録も合わせて見ると、どの基準で見立てがずれているかが分かります。
バッチの結果は、29日を過ぎると取れなくなります。 返ってきたJSONは、受け取った時点で自社の保管先に写します。
04実装レベルの3段階
本記事の想定は半自動化です。 1人10分が3分になるのは、この段階です。顧客管理からの取り出しが手作業のCSVでも、半自動化は組めます。 本格構成で足すのは、当たり外れの集計の自動化です。 顧客管理にAPIがあり、ステータスの変化を取れることが前提です。ここまで来ると、段階の基準を毎月直していけます。 段階を飛ばさないでください。 最小構成で「ほとんどがD」になる会社は、半自動化にしても一覧がDで埋まります。内見のメモの書き方をそろえてから進みます。
05工数削減シミュレーション
導入後 720件 × 3分 ÷ 60 = 36 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 賃貸の仲介を複数店舗で行い、内見まで進んだのに申込に至っていない客が週に100人以上たまる会社。内見のあとの連絡が担当者の記憶と手帳に頼っていて、誰にいつ何を送るかが担当者ごとに違う場合。顧客管理に内見の記録と連絡の履歴が残っており、空室の一覧を毎日更新している場合。
- 内見後の客が週に数人で、担当者が全員の状況を覚えていられる場合。内見の記録が顧客管理に残っておらず、客の反応が担当者の頭の中にしかない場合(先に記録の書き方をそろえる必要がある)。空室の一覧が更新されておらず、提案した物件がすでに埋まっていることが多い場合。
07最小構成で試す方法
- 先月、内見したのに申込に至らなかった客から20人を選ぶ(その後に申込に至った客を5人ほど入れる)
- 20人分の反響・内見・連絡の記録を、名前と連絡先を消して1人ずつテキストにする
- Claude の画面に第7章の指示文と段階の基準を貼り、1人ずつ記録を渡して段階と根拠を出させる
- 出てきた段階と、実際にその後申込に至ったかを突き合わせる
- 担当者2名にも同じ20人の段階を付けてもらい、AIの段階と比べる
5番目を必ずやってください。 AIの段階だけを見ても、良いのか悪いのか分かりません。担当者の見立てと比べて、どちらが実際の申込に近かったかを見ます。
| 出てきた結果 | 判断 |
|---|---|
| 申込に至った客がAかBに入った | Python で抜き出しとバッチをつなぐ段階に進む |
| 根拠の一文がそれらしいが、記録に無い | 「写す」の指示を強める。根拠の照合を後段で足す |
| ほとんどがDになった | 内見の記録が足りない。 メモの書き方をそろえるのが先 |
| 担当者の見立てとAIが大きく違う | どちらが当たったかを見る。担当者が当たっていれば、その基準を指示に足す |
3行目が出たら、それが最初の成果です。 記録が足りないという事実は、AIを使わなくても追客が回らない理由そのものです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 根拠の無い客にAが付く | 「写せなければD」を指示に書く。根拠の一文が記録にあるかを Python で照合する |
| 候補に無い物件が出る | 候補の10件だけを渡し、property_id を後段で照合する |
| 埋まった物件を案内する | 他社管理の物件は、連絡の前に必ず掲載元で確かめる |
| 断りの意思を示した客に連絡してしまう | 前処理で外し、AIにも案を作らせない。stop_contact の客は別に出す |
| 客の属性で段階が変わる | 属性を根拠にしないよう指示し、根拠の一文を担当者が読む |
| 結果が客と結び付かない | バッチの結果は順不同。custom_id で結び付ける |
| 段階の値の大文字・小文字がばらつく | 列挙の値の大文字・小文字は保証されない。そろえてから比べる |
| 結果を取り損ねる | 29日で取れなくなる。受け取った時点で保管先に写す |
| 繁忙期に物件がすぐ無くなる | 週2回にし、木曜はAとBだけ見直す |
| 段階が当たっているか分からない | 2週間後の申込の割合を段階ごとに数える |
| 内見のメモが乏しくDばかりになる | メモに「良かった点」「気になった点」「次に見たい条件」を書くようそろえる |
上の2行が、この構成の失敗のほとんどです。 どちらも、記録や候補に無いことを、AIがそれらしく埋めるところから起きます。根拠を写させる、候補を絞って渡す、後段で照合する、の3つで防ぎます。3行目と4行目は、AIではなく担当者の確認で止めます。
10行目は、最初から組み込んでください。 当たり外れを数えない順位づけは、1か月もすると担当者に読まれなくなります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 客の希望条件(賃料、エリア、世帯の人数、入居の時期)、内見の記録、連絡の履歴です。住まいを探している事情や家族の状況が、メモに書かれていることがあります。
- 名前と連絡先をAIに渡さない … 客は顧客管理のIDで表し、一覧を作るときに名前に戻します。メモの中に書かれた電話番号や勤務先も、前処理で伏せます
- 断りの意思を示した客に連絡しない … 宅地建物取引業法施行規則では、契約を締結しない旨の意思(勧誘を引き続き受けることを希望しない旨の意思を含む)を表示した相手方への勧誘の継続が禁止されています。前処理とAIの両方で止め、最後は担当者が確かめます
- 勧誘のときに名乗る … 同じく、勧誘に先立って商号又は名称、勧誘を行う者の氏名、勧誘をする目的である旨を告げずに勧誘を行うことも禁止されています。連絡の案の最初に、会社名と担当者名を入れさせます
- 電話の時間は人が決める … 迷惑を覚えさせるような時間の電話又は訪問による勧誘も禁止されています
- 客の属性で見込みを決めない … 年齢、家族構成、国籍、職業を段階の根拠にさせません
- 段階を客の記録として残さない … 段階は一覧にだけ置き、顧客管理には担当者が連絡した事実だけを書きます
内見後の連絡が、どこまで「勧誘」にあたるかは、自社の顧問や業界団体の見解に従ってください。 本記事は、施行規則の改正の要点として国土交通省が示している内容を、連絡の設計に反映しています。
誤りが起きた場合のリスクは、断りの意思を示した客に連絡してしまうことと、空いていない物件を案内することの2つです。 どちらも、AIに判断させず、前処理と担当者の確認で止める設計にしています。
10まず何から始めるか
1週目:内見のメモの書き方をそろえる
店舗の担当者全員で、内見のメモに「良かった点」「気になった点」「次に見たい条件」の3つを書くと決めます。この週の内見から始めれば、4週目には材料がたまっています。
2週目:20人で試す
先月の内見後の客から20人を選び、名前と連絡先を消して Claude の画面で段階と根拠を出させます。担当者2名の見立てとも比べ、実際の申込とどちらが合っていたかを見ます。
3週目:段階の基準を決める
2週目の結果から、AとBの基準を店舗で決めます。申込に至った客の記録に何が書いてあったかを拾い、基準に足します。あわせて、断りの意思として扱う文の例を集めます。
4週目:Python で抜き出しとバッチをつなぐ
顧客管理の書き出しから、対象の抜き出し、候補の物件の絞り込み、Message Batches API への投入、一覧の作成までを組みます。最初は1店舗の担当者3名だけで回します。
2か月目: 4店舗に広げ、担当者が段階を直した件数と、stop_contact で止めた件数を毎週数えます。3か月目以降: 2週間後の申込の割合を段階ごとに数え、基準を直します。段階AとBの客の申込の割合が、Cの客よりはっきり高くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Message Batches API が多くの Messages の要求を非同期にまとめて処理し、費用を50%下げること。多くのバッチが1時間以内に終わり、24時間以内に処理が終わらない要求は期限切れになること。1つのバッチが10万件または256MBのどちらか先に達したほうが上限であること。結果は作成から29日間取得できること。custom_id が英数字・ハイフン・アンダースコアの1〜64文字であること。結果が要求の順と一致しないことがあり custom_id で結び付けること。結果の種類が succeeded/errored/canceled/expired で、succeeded 以外は課金されないこと。Messages API のほぼすべての機能に対応すること | Claude Docs: Batch processing | 2026-09-30 |
構造化出力を output_config.format に JSON スキーマで指定し、スキーマに沿った応答が保証されること。オブジェクトの additionalProperties を false にする必要があること。安全上の拒否で stop_reason が refusal、上限で切れた場合に max_tokens となり、スキーマに沿わないことがあること。列挙した値の大文字・小文字が保証されないこと | Claude Docs: Structured outputs | 2026-09-30 |
| 宅地建物取引業法施行規則の改正で、勧誘に先立って商号又は名称・勧誘を行う者の氏名・勧誘をする目的である旨を告げずに勧誘を行うこと、相手方が契約を締結しない旨の意思(勧誘を引き続き受けることを希望しない旨の意思を含む)を表示したにもかかわらず勧誘を継続すること、迷惑を覚えさせるような時間の電話又は訪問による勧誘が禁止されたこと。平成23年10月1日に施行されたこと | 国土交通省: 宅地建物取引業法施行規則の一部改正について | 2026-09-30 |
内見後の連絡のどこまでが勧誘の規制の対象になるかは、自社の顧問と業界団体の見解に従ってください。 顧客管理からのデータの取り出し方は製品によって異なり、この部分は利用している顧客管理に応じた個別対応が必要です。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0389)についてのご相談はこちらから。
