💡Listoru(リストル)は、Web上の情報から企業の営業リストを自動で収集・作成するツールです。
この「企業DB開発日誌」では、数ある機能の裏側に隠された、私たちの試行錯誤を綴っていきます。
エラー画面には出ない問題や、データとの静かな対話から見えてきたもの。
正解のない開発現場のリアルな空気を、少しだけおすそ分けさせてください。
今日もリストルの裏側で起きた、ひとつの物語をお届けします。

納得している費用に潜む盲点。AIの「APIコール回数」と送信件数の乖離

フォームへ届ける文面は、1社ずつ作っています。
その会社が何をしているのか。
こちらの用件が、その会社にとってどう関係するのか。
それを踏まえた書き出しを、AIに作らせています。
1社につき1回、AIに問い合わせる。
費用は、その回数分かかります。
同じ文面を全社に送れば、自分に向けて書かれたものかどうかは、1行目で伝わってしまう。だから、費用がかかっても、1社ずつ作っています。
かかる費用に、納得している分、その内訳は見ていませんでした。
ある日、この費用を確認していて、手が止まりました。
多いのです。
送信できた件数から計算した想定より、明らかに多い。
AIの単価を疑いました。合っています。
文面の長さを疑いました。想定どおりです。
疑う順番は、確かめやすい順でした。
単価は、見れば分かります。長さは、読み返せば分かります。
残るのは、回数です。
回数だけは、数えなければ分かりません。
そして、こちらで数えていませんでした。
AIに問い合わせた回数は、送信できた件数と同じだろうと考えていたからです。
数えていない数字は、だいたい、思っているのと違います。
回数を数え直しました。
送信した件数より、AIに問い合わせた回数のほうが、はるかに多い。
つまり、作ったのに送っていない文面が、大量にありました。
エラーログの非保持が招いたバッチ処理の罠。「減らないもの」が残り続けるループ

作った文面が使われなかった場合、その事実は、どこにも記録されていませんでした。
作った回数を数えていれば、すぐ分かります。
数えていなければ、費用の総額でしか分かりません。
そして、費用の総額は、月に一度しか見ません。
工程は、こういう順番でした。
- 送る相手を選ぶ。
- AIに文面を作らせる。
- その会社のフォームを開く。
- 入力して、送信する。
3つ目で、失敗することがあります。
フォームが見つからない。ページが存在しない。
入力欄の形が、こちらの想定と違いすぎる。
そういう会社は、そこで打ち切りになります。
このとき、すでに文面は作られています。
費用は、発生しています。そして、その文面は使われないまま消えます。
ここまでは、仕方のない話です。
開いてみないと分からないことは、あります。
問題は、その次でした。
送れないと分かった会社を、記録していませんでした。
だから、次に同じ一覧を回したとき、その会社はまた候補に入ります。
また文面を作ります。
またフォームを開きます。
また、送れません。
また、捨てます。
これを、毎回繰り返していました。しかも、繰り返すほど無駄が増える構造でした。
送れる会社は、送信すると対象から外れます。
リストから減っていきます。
送れない会社は、外れません。毎回、残ります。
つまり、回を重ねるごとに、リストに占める「送れない会社」の割合が上がっていく。
最初の1回では、目立ちません。
5回、10回と回すうちに、リストの中身が、送れない会社ばかりになっていきます。減らないものだけが、残り続ける。
支払い総額の6割がサンクコスト(埋没費用)に。システムに「状態」を記憶させる

では、その繰り返しの中に、何社が残っていたのか。
数えるまで、考えたこともありませんでした。
記録していないものは、数にもなっていません。
送れないと分かっていた会社は――394社。
この394社に対して、私たちは繰り返し文面を作り、繰り返し捨てていました。
その結果、AIにかかっていた費用は――本来の、2.7倍。
余計に払っていた分は、1通の問い合わせにもなっていません。
1社ずつ作るから、費用はかかる。そこには、納得していました。
納得している費用の陰は、いちばん隠れやすい場所でした。
2.7倍という数字は、本来かかるはずだった費用と比べたものです。
送信できた会社分だけなら、1。
実際に払っていたのが、2.7。
差の1.7が、まるごと、捨てた文面の分でした。
支払いの6割以上が、届かない文面のための費用だった計算になります。
そして、この比率は、リストを回すほど悪くなっていきます。
送れる会社は減り、送れない会社は残るからです。
放っておけば、いずれ、費用のほとんどが捨てる文面のためのものになります。
直したことは、単純です。
送れないと分かった時点で、その事実を記録するようにしました。
どの会社が、いつ、どういう理由で送れなかったのか。そして、次に一覧を作るときは、その記録を見て、除外します。
もうひとつ、工程の順番も変えました。
以前は、文面を作ってからフォームを開いていました。
いまは、先にフォームが送信できる形かを確かめ、それから文面を作ります。
順番を入れ替えただけで、捨てる文面はほとんど無くなりました。
順番を入れ替えるほうは、すぐにできました。
処理の並びを変えるだけです。
新しく作るものは、何もありません。
いちばん効いた変更が、いちばん手間のかからない変更でした。
ただし、記録には期限を付けました。
送れない理由には、いろいろあります。
ホームページを作り直して、フォームが復活することもある。
一時的に落ちていただけのこともある。
永久に除外してしまうと、第14話と同じ失敗になります。
一定の期間が過ぎたら、もう一度だけ試す。
また同じ理由で送れなければ、また記録する。
「覚えておく」と「決めつける」は、違います。
機械の「真面目さ」は費用を下げない。失敗ログの永続化がもたらす改善サイクル

この件の教訓は、費用の話に見えて、少し違います。
システムが「忘れる」と、同じ仕事を何度でもやり直します。
人なら、二度目には気づきます。「この会社、前も送れなかった気がする」と。
機械は、気づきません。記録がなければ、毎回はじめてです。
そして、はじめてのつもりで、全力で取りかかります。
手を抜いてくれれば、まだ安く済みました。
毎回、その会社のための文面を、最初から作ってしまう。
真面目さは、費用を下げてくれません。
覚えていることだけが、下げてくれます。
この件のあと、記録する対象を見直しました。
成功したことは、たいてい記録されています。
送った、登録した、取り込んだ。
うまくいかなかったことは、その場で処理が終わるので、残りません。
けれど、次の判断に効くのは、後者のほうです。
どこで、なぜ、止まったのか。それが残っていれば、次は避けられます。
失敗を記録するのは、反省のためではありません。
同じ場所で二度止まらないためです。
結果が出ないことに費用がかかるのは、仕方がありません。
やってみないと分からないことは、必ずあります。
けれど、同じ結果に何度も費用がかかるのは、やってみたことを、覚えていないからです。
そして、記録があると、別のことも分かります。
送れない理由を集計すると、どこに手を入れれば送れる会社が増えるかが見えます。
フォームが見つからない会社が多いなら、探し方を改善する価値があります。
入力欄の形が合わない会社が多いなら、対応できる形を増やす価値があります。
理由を残していなかったころは、「送れない会社がある」としか分かりませんでした。改善する場所を決められない。
記録は、無駄を減らすためだけのものではなく、次にどこを直すかを決めるための材料でもありました。
覚えておかないコストは、毎回かかります。
394社分の文面を、私たちは、繰り返し丁寧に書いていました。
しかも、毎回、少しずつ違う文面を。
同じ会社に、違う書き出しを何度も用意して、そのたびに捨てていました。
誰にも読まれないと、すでに分かっている文面を。
━━━━━━━━━━━━━━━━━━━━━━━━
次回予告
第17話「列がずれていた」
自動で送られてくるデータの、電話番号の欄に、
電話番号ではないものが入っていました。
1件では、ありませんでした。
━━━━━━━━━━━━━━━━━━━━━━━━
リストルは、今日もどこかを直しています。
→ 営業リスト探しに、もう時間をかけない。
業種別に企業情報をまとめて収集できるリストルを、まずは3,000件まで無料でお試しください。👇

📝営業リスト収集ツール「リストル」

