仕組み
自社の商品を、どこで、どの販売者が売っているかを毎朝確かめる仕組みです。なぜ自分では見に行けないのか、毎朝どんな形で届くのか。仕組みそのものの説明は、そのあとに置いています。
「ウェブから情報を取ってくる」と言うと簡単に聞こえますが、難しいのは取ることではなく、取れた記録が信用できることです。 順に説明します。
一言でいうと
「自社の商品を、世界のどこで、どの販売者が、いくらで売っているか」を、毎朝、記録つきでお出しします。 販売者を正規販売店のリストと照合し、リスト外の販売者は要確認として残します。模倣品か、非正規の流通かを決めるのは人です ―― 機械は見つけて、記録するところまでです。
「いろいろな店が出しています」ではありません。モールのショップA(リストにある)、ショップZ(リストに無い)、複数の店が相乗りする出品(ページから店を特定できない)―― それぞれのページはここ、読んだのは今朝6時、価格はこう ―― という形です。
読むのは、登録していただいた販売ページです(5 か国の回線から)。国内の主要モールでは、登録の無い新しい出品の候補も毎日探して、画面に並べます。
照合の結果は「正規販売店」の画面に、商品ごとの国・販売者・照合・契約市場の内外は「世界での現在地」の画面に並びます。
なぜ「だいたい」では困るのか
自社の商品がどう売られているかを調べると、返ってくるのはたいてい 「よく見かける」「安く出ている店がある」 という印象です。
印象は間違いではありません。ただ、それでは誰にも連絡できません。
- リスト外の販売者に問い合わせるには、どの店の、どのページかが要ります
- 値崩れの原因を確かめるには、どの販売者が、いつから、いくらで出しているかが要ります
- 海外での流通を把握するには、その国から見て、誰が売っているかが要ります
「よく見かける」は、この3つのどれにも答えていません。
なぜ自分で見に行けないのか
見に行けます。1回なら。
問題は2つあります。
① 100商品 × 5サイトを毎朝見るのは、人の仕事ではありません
500回ページを開いて、販売者と価格を写して、昨日と比べる。1日で終わりません。そして毎日やらないと意味がありません ―― 昨日どの店が出していたかは、記録していなければ二度と手に入らないからです。
② 自分の国からは、自分の国の売り場しか見えません
これが一番伝わりにくいところなので、丁寧に書きます。
同じURLを開いても、どこからアクセスしたかで、ページは違う内容を返します。 並ぶ販売者が違う。値段も通貨も、在庫の有無も違います。並び順も、送料も、キャンペーンも違います。
これは何かの仕掛けではなく、ごく普通のことです。 日本から来た人には日本向けの売り場を出す ―― お店として当たり前の作りです。
つまり、東京のパソコンから見ても、アメリカの客に自社の商品を誰が売っているかは、永久に見えません。
私たちは指定された国のサーバーを経由してページを開きます。同じページを複数の国から同時に読んで、並べてお出しできます。
「生成AIに聞けばいいのでは」への答え
よく聞かれます。実際に試したので、その結果をお見せします。
| 対話型AIに聞いた | 「両市場はほぼ同水準です」 |
| 同じ日・同じ商品を実測 | 米国市場は日本より17%上 |
面白いのはここからです。AIが挙げた2つの数字は、どちらも実在する正しい値でした。 片方は買取価格、もう片方は市場指数です。
性質のまったく違う2つを並べて引き算していて、回答のどこにも、その区別は書かれていませんでした。 この違いだけで、差の符号が反転します。
これはAIの出来の問題ではありません。5つとも、聞き方では埋まりません。
- 返ってくるのは「相場」で、「売主」ではない ―― 正しい答えですが、動くための答えではありません
- 自分の国からしか見えない ―― 「サンパウロから見て」と頼めるプロンプトは存在しません
- その数字がどこから来たか言わない ―― だから間違いに気づけません
- 「昨日」を持っていない ―― 誰も保存していないので、後から買うこともできません
- 毎回、違う答えが返る ―― 先週の資料と今週の資料が比較できません
AIへの批判ではなく、AIが何のためのものかという説明です。 特定のページを、特定の国から、特定の時刻に読み、その記録を残す ―― それは別の仕事です。
毎朝、届くもの
1行につき、これだけが付いてきます。
| 販売者 | 掲載ページに出ていた出品者を、そのまま |
| 価格(税抜) | ¥118,000 |
| 前回との差 | −¥4,200 |
| 自社比 | +8.6% |
| 読んだ国 | どの国のサーバーを経由したか |
| 掲載URL | 実際に読み取ったページ |
| 取得時刻 | 2026-08-22T02:20:04.756Z |
| 為替レート | 適用したレートと、そのレート自体の公表日 |
この項目は切り離せません。 別料金でもオプションでもなく、必ず全部付きます。
理由は1つです ―― 出どころの無い記録は、会議で守れないから。 「リスト外の店が9万円で出しています」と報告して「どのページ?」「いつの?」「税込? 税抜?」と聞かれて答えられなければ、その報告では誰も動けません。
上の項目が1行ごとに届くのは、画面(今朝の表)、CSV、毎朝のメールの3つです。 Webhook は「掃引が終わった」という合図で、届くのは件数と、掃引の ID・取得時刻だけです(monitor.sweep_completed:掃引の ID・情報源の数・答えた数・答えなかった数・相手に断られた数・こちらの都合で読めなかった数・見た掲載の数・新しく出た数・値が動いた数・消えた数・判定を保留した数・取得時刻)。販売者・価格・URL・為替は入りません。行ごとの中身は、合図を受けてから画面・CSV・メールでご覧ください。
一番地味で、一番効くところ
リスト外の販売者が出ているモールを、毎日見に行っているとします。ある朝、そのモールが改装されて、こちらの読み取りが失敗しました。返ってくるデータは「0件」です。
素朴に作ると、こう報告されます ―― 「リスト外の掲載が、一晩で全部消えました」。
データの上では、「取得に失敗した」と「全部消えた」は、まったく同じ形をしています。 そしてこれは、対応が済んだと人が判断してしまう記録です。
私たちがやっていること:
- その情報源が今日ちゃんと答えたかを、先に確かめます。 答えなかった情報源の掲載は、消滅の判定から外します
- 1回見えなかっただけでは「消えた」と判定しません。 2回続けて無いことを確かめてからです。並び順が変わっただけで見えなくなるのは日常です
- 拒否は拒否として記録します。 「アクセスが多すぎます」を「中身が空の成功」にはしません
そして読めなかった情報源は、画面にもCSVにもメールにも、名前が出ます。 黙って落とすと、先週より短いリストが「リスト外の店が減った」と読まれるからです。
ここから先は、仕組みの話です
1. どこから見るか
ページは、誰が見に来たかで姿を変えます。
同じ商品ページでも、日本から見れば円建てで在庫あり、米国から見ればドル建てで在庫なし、ということが普通に起こります。検索結果の並び順も、表示される同意バナーも変わります。
だから、その国のアドレスから見に行く必要があります。 リクエストごとに国を指定していただき、そこから読みます。
2. どう読むか ―― 安い段から順に
ページの読み取りは3段階で、安い順に試します。
| 段 | 何をするか | 費用 |
|---|---|---|
css | 指定されたセレクタを読む | なし |
structured_data | サイトが既に公開している JSON-LD / OpenGraph を読む | なし |
llm | ページをモデルに説明させる | トークン |
前の段が取れた項目は、後の段では触りません。そして llm を選ばなければ、モデルは呼ばれません。 商品ページの多くは最初の2段で足ります。
これは費用の話であると同時に、再現性の話でもあります。セレクタと構造化データは、同じページなら同じ結果を返します。
一覧は「行」で返します
一覧ページを読むとき、列ごとに配列を返す設計にはしていません。
1枚のカードに価格が無いだけで、その配列だけが1つ短くなり、以降の組み合わせが全部ずれます。そしてこれはエラーになりません ―― 実在する商品名と実在する価格が並んだ、別々の商品の表ができあがります。後工程では検出できません。
Kansoku は行として返すので、欠けた項目はその行の中の空欄になり、前後はずれません。
3. 何を一緒に返すか
データだけでは、会議で守れません。全ての行に、こう付きます。
seller | 掲載されていた出品者そのまま |
url | 読み取ったページ |
retrieved_at | 読んだ時刻 |
fx_rate / fx_published_on | 適用した為替レートと、そのレート自体の公表日 |
price_ex_tax_jpy | 税抜に揃えた価格 |
level / attempts | どの段が値を出したか、試した全ての段とその結果 |
税抜への変換は取得時に一度だけ行い、比較はその列しか読みません。 税込の日本価格と税別の香港価格も、同じ基準で並びます。
4. 同じ条件で比べるための作法
数字は、次の4つの作法を通して組み立てます。
- 税をそろえて比べる ―― 税込と税抜は取得の時点でそろえ、比較は税抜の列で行います
- 付属品と本体を分ける ―― 周辺アクセサリは本体とは別に数え、本体の価格差に混ぜません
- 型番の枝番まで見る ―― 末尾1文字の違いも別の商品として扱います
- 2回続けて不在を確かめる ―― 一覧から2回続けて見えなかったときに、消えた掲載として記録します
商材が変わっても、作法は同じです。
5. どこから読むか ―― 5 か国の回線
同じ商品でも、どの国から見るかで価格・在庫・通貨が変わります。 販売サイトはアクセス元の国で出し分けているからです。
Kansoku は5 か国の実在の回線から読みます ―― VPN でも翻訳でもありません。
| 国 | 状態 |
|---|---|
| 日本 | 読めます |
| アメリカ | 読めます |
| 韓国 | 読めます |
| 台湾 | 読めます |
| シンガポール | 読めます |
契約の前に、無料で診断できます
見たい販売ページが読めるかを、先に確かめられます。 あなたが見たい URL を入れると、 読めるか・断られるか・どの国からなら読めるかをその場でお返しします。結果を見てから決めてください。
ほかの国も見たい場合は sales@kansoku.ai までお知らせください。ご要望に合わせて、読める国を広げます。
6. 毎日読んで、動いたときに知らせます
| 頻度 | 1 日 1 回(プランにより変わります) |
| 届き方 | 翌朝のメール。Webhook は掃引が終わった合図(件数と掃引の ID・時刻)だけを自社の仕組みへ送ります |
| 中身 | 動いた価格と、その幅 |
| 答えなかった先 | 相手に断られたのか、こちらの都合かを分けて書きます |
| 記録 | 店名・掲載 URL・取得時刻・使った為替レート(レート自身の日付で) |
| ページの原本 | そのとき読んだページを保管します。あとから確かめられます |
条件を決めて知らせることもできます ―― この額を下回ったら、○% 以上動いたら、自社より安くなったら、日本と米国の差が ○% を超えたら。最後のものは、出口の国を選べるからできることです。
守っている取得の作法
- クライアントの正体を、そのまま名乗って読みます
- CAPTCHA を越えて読む仕組みは持っていません(読むのは、誰でも開ける公開ページです)
- アカウントなしで見られる範囲だけを読みます
- サイトが宣言した速度の上限を守ります
読み取り先の個人情報を集めないことは、運用の方針として守っています(取得方針をご覧ください)。
原則だけでなく、商売の理由もあります。 一度拒否された取得元は二度と読めません。失うのは当社だけでなく、その情報源を必要としているお客様です。利害と倫理が同じ方向を向いています。
取得方針に、何を確認してから読むかを書いています。
仕組みが同じまま何に使えるかはできることに、他の手段との違いはツール選びにあります。
最終更新 2026-10-09
最終更新