これで何ができるか

以前、分割払いの入金照合をAIに任せられるかを実測しました。請求10件・そのうち分割払い3件という材料で、見落としも二重計上も0件という結果でした。

ただし以前の実測は、ずっと「請求10件・分割3件」という決まった規模でしか試していませんでした。案件がもっと増えたら、AIは分割払いのペアを見失いやすくなるのではないか——これを確かめるのがこの記事です。

架空の予約表と入金明細を、件数がちょうど3倍になる2つの規模で用意しました。

予約の総数 うち分割払い 一括払いだが本当に未入金
小規模条件 12件 3件 1件
大規模条件 36件 9件 3件

これを、業種の違う2つの架空データ(出張整体サロンの予約表/音楽教室の月謝一覧)で作り、同じ聞き方をそれぞれ3回ずつ、合計12回試しました。

予約件数を3倍にしても入金照合の誤判定が増えるかを実測した結果を示す表。すべて「起きた回数」で少ないほど良い。小規模条件(12件)で本当の未入金1件を見落とした回数は6回中0回、分割払いを誤って未入金扱いした回数も6回中0回。大規模条件(36件、分割件数は3件から9件に増加)で本当の未入金3件のどれかを見落とした回数も6回中0回、分割払いを誤って未入金扱いした回数も6回中0回。行番号まで指定して明細の使い回しを確認した回数(大規模のみ3回)でも使い回しは0回。入金の二重計上を自己申告した回数は全12回を通じて0回。下の枠には、小規模も大規模も見落とし・誤判定とも0回で差が出なかったこと、大規模データに偶然混在していた「阪本様」「坂本様」という似た氏名も6回とも取り違えなかったこと、この材料・この回数の範囲では件数を増やしても入金照合の精度は落ちなかったという結論が書かれている。
件数を3倍にしても、見落とし・誤判定・二重計上は12回を通じて0件でした。

結論から言うと、この12回の実験では、件数を3倍にしても誤判定は増えませんでした。小規模も大規模も0件のままです。ただし「何回試しても絶対に崩れない」という意味ではありません。この記事の最後で、崩れそうになった場面も1つ紹介します。

前提

かかる時間 20分
費用 無料。ブラウザのチャットAIで足ります
必要なもの 予約(請求)一覧と、入金明細の2つの表
プログラミング 不要。この記事の指示文をコピーして貼るだけです

口座番号や実在の顧客名は貼らないでください。入金明細は日付・摘要(氏名)・金額の3列だけにしてください。この記事は架空の氏名・金額を使っています。実在の人物・団体とは関係ありません。

この記事は「件数が増えたら精度が落ちるか」という規模の影響だけを見ています。分割入金そのものの基本的な挙動(一部入金の区別・摘要不明の入金の扱いなど)は分割払いの入金照合を実測した記事に、似た名前をAIが誤って1つにまとめないかは似た取引先名の名寄せを実測した記事にあります。

AIへの頼み方

1. まず小規模の予約表で素朴に聞く

架空の出張整体サロンの予約表(12件・うち分割払い3件・一括払いで本当に未入金が1件)を用意しました。

まだ入金されていない予約はどれですか。1件の予約が複数回に分けて入金されることがあります。合計額が予約金額と一致するかどうかも確認してください。

上に続けて、予約一覧12件と入金明細を貼ります。

3回とも、本当に未入金の1件(加藤様・8,000円)だけを正しく挙げました。分割払いの3件(吉田様・伊藤様・鈴木様、いずれも予約金6,000円+当日精算14,000円=20,000円)を誤って未入金扱いした回や、2回の入金を2件の別予約として数えた回は、3回とも0回でした。

2. 同じ指示文を、件数が3倍のデータでそのまま使う

①と1文字も変えず、同じ指示文を予約36件(分割払いは9件、本当の未入金は3件)のデータで3回試しました。

3回とも、本当に未入金の3件(山田様・阪本様・藤田様)を過不足なく挙げ、分割払いの9件を誤判定した回は0回でした。さらに、このデータには偶然「阪本様」と「坂本様」という似た氏名が混ざっていました(別人・別予約です)。3回とも、坂本様の入金(8,000円)を阪本様のものとして誤って消し込むことはありませんでした。3回中2回は「阪本様と坂本様は別人なので、坂本様の入金を阪本様に使い回すことはできません」と自分から注記しました。

3. 別の業種のデータでも確かめる

業種が変わっても同じ結果になるかを見るため、架空の音楽教室(月謝+教材費の分割払い)でも同じ実験をしました。指示文だけ生徒向けの言葉に直しています。

まだ入金されていない生徒はどれですか。1人の月謝が複数回に分けて入金されることがあります。合計額が請求額と一致するかどうかも確認してください。

小規模(12人・分割3人・本当の未入金1人)を3回、大規模(36人・分割9人・本当の未入金3人)を3回、合計6回試しましたが、見落とし・誤判定とも0回でした。整体サロンの実験と合わせて、2種類の材料・合計12回を通じて、件数を3倍にしても誤判定は増えていません。

4. 対応させた入金明細まで書かせる

もう少し負荷をかけるため、根拠まで書かせる言い方も大規模データ(36件)で3回試しました。

まだ入金されていない予約はどれですか。どの入金明細(日付・摘要・金額)が対応するかを、予約ごとに書いてください。同じ入金明細を2つの予約に使い回さないでください。

3回とも、42行ある入金明細を1件ずつ重複なく33件の予約に対応させ、未入金の3件を正しく挙げました。同じ明細を2つの予約に使い回した回は0回でした。「対応させた明細まで書かせる」と、後から人がその場で検算しやすくなります。

うまくいかないときの言い直し方

表を2回に分けて送ったら

件数が増えると、入金明細を1回で全部貼れず、2回に分けて送りたくなることがあります。ここで気になったので試しました。

大規模データ(36件)の入金明細42行のうち、前半21行だけを貼り、後半はまだ送っていない状態にして、①と同じ素朴な聞き方をしました。

まだ入金されていない予約はどれですか。1件の予約が複数回に分けて入金されることがあります。今回は入金明細を2回に分けて送ります。今日届いているのは前半だけです。

2回とも、断定はせず「後半が届いたら再照合する」という留保つきの答えでした。分割払いの9件(前半にはどちらか一方しか記載がない)を誤って「未入金」と決めつけた回は0回です。ただし1回は、後半待ちの分まで含む表の見出しそのものに「未入金分」という言葉を使っていました。文章の結論部分では「後半待ちの可能性が高い」と正しく書いていたものの、表の見出しだけを読むと未入金だと早合点しかねない書き方でした。

これを防ぐには、「確定できないものは待たせてよい」とはっきり書きます。

まだ入金されていない予約はどれですか。1件の予約が複数回に分けて入金されることがあります。ただし、今回は入金明細を2回に分けて送ります。今日届いているのは前半だけです。前半の記載だけでは「入金済みか未入金か」を確定できない予約があれば、断定せずに「保留(後半待ち)」としてください。

2回とも、分割払いの9件と、前半に記載の無い一括払いの15件を、すべて「保留(後半待ち)」という言葉で分けて書きました。「未入金」という言葉自体が、確定した3件(実際には後半を待たないと分からないのでこの時点ではまだ0件)以外には使われなくなりました。表を分けて送るなら、「確定できないものは保留にしてよい」と先に許可しておくと、見出しの言葉に早合点しにくくなります。

応用・次の一手

毎月やるなら、件数が何件でも同じ手順で回せる形にしておくと安心です。

毎月、着手金と残金の2回払いになる予約と一括払いの予約が混ざります。件数は月によって10件のときも40件のときもあります。入金明細と予約一覧を毎月同じ形で突き合わせたいです。プログラミングはできません。私が毎月やることを、番号を振って箇条書きで教えてください。

2回試したところ、どちらも「一括払いを先に消し込む」「分割払いは着手金→残金の順で消し込む」「一致しなかったものだけを最後にまとめて確認する」という骨格が共通していました。件数が変わっても手順自体は変えず、この骨格をテンプレートにしておくとよさそうです。

⚠️ この結果は、この2種類の架空データ・合計12回(追加検証を含めても18回)の実測です。「AIは何件になっても分割払いを絶対に間違えない」と一般化しないでください。この記事で試したのは最大36件・分割9件までで、それより先の規模や、分割が3回以上に分かれるケース、摘要が全く読み取れない入金は試していません。督促や確定申告の判断は、この記事の外に置いています。

今回の生の返りと集計は docs/evidence/installment-scale-does-not-increase-misses.md に全文置いてあります。