競合商品の価格をAIで24時間自動監視する方法|値下げアラートで営業戦略を即反映
当サイトはアフィリエイトプログラムを利用しており、紹介リンク経由での申込により報酬を得る場合があります。記事内で紹介するサービスには筆者が実際に使用しているものと、客観情報として比較掲載しているもの(未使用・PR表記あり)が含まれます。
結論
競合商品の価格監視は、Claude/ChatGPTにPythonスクリプトを書かせ、GitHub Actionsで定期実行すればコード経験ゼロでも構築できる。値下げを検知するとDiscordに即通知が飛ぶ仕組みを、体感1〜2時間で動かせた。費用はほぼゼロ。
競合価格を毎朝手でチェックしていた頃の話#
当サイトを運営するうえで、競合サービスの料金ページを定期的にチェックしていた時期がある。リストアップしたURLを1件ずつ開いてスクショを撮り、Googleスプレッドシートに手で転記する。所要時間は毎回30分前後。しかも「見た瞬間には値段が変わっていた」という事後確認になりがちだった。
これを「AIとPythonスクリプトで自動化できないか」とClaudeに相談してみたのが、今回紹介するシステムの始まりだ。結論として、ほぼ丸投げで動くものができた。以降は実際の構築手順と、3週間運用してわかった注意点をまとめる。
なぜ今、競合価格の自動監視が必要か#
競合の値下げは予告なくやってくる。発見が遅れると、顧客が競合に流れた後になって「あ、値段変わってたんだ」と気づく最悪のパターンになる。特に次のような状況で、自動追跡の恩恵が大きい。
- ECサイト・SaaS・サブスクサービスを扱っている
- 複数の競合を定点観測している
- 営業チームが提案前に毎回競合価格を調べている
- 「先月まであの値段だったのに…」という後追い確認が多い
手動確認は「やろうと思えばできるが、続かない」典型的な作業だ。AIを組み合わせた自動化と相性がよい。
仕組みの全体像:5つのパーツを組み合わせる#
このシステムは以下のパーツで成立する。すべて無料または月額ゼロで使える。
| パーツ | 役割 | 費用 |
|---|---|---|
| Claude / ChatGPT | Pythonスクリプトを自然言語で生成 | 無料プランで対応可 |
| Python スクリプト | 競合ページから価格をスクレイピング | 無料 |
| Google スプレッドシート | 価格履歴を日付ごとに蓄積・比較 | 無料 |
| GitHub Actions | スクリプトを1〜6時間ごとに定期実行 | 月2,000分まで無料 |
| Discord Webhook | 値下げ検知時に即アラート通知 | 無料 |
AIでシステムを作る:実際の手順#
手順
- 監視したい競合ページのURLと「価格が書かれているCSSセレクタ」をブラウザの検証ツールでメモする
- Claude/ChatGPTに後述のプロンプトを渡してPythonスクリプトを生成させる
- Google Cloud Consoleでサービスアカウントを作成し、認証用JSONをダウンロードする
- Discordのサーバー設定からWebhookを作成し、URLをコピーする
- GitHubにプライベートリポジトリを作り、スクリプト・認証情報・Actionsワークフローをプッシュする
- 手動でActionsを起動し、スプレッドシートへの書き込みとDiscord通知が届くか確認する
Step 1〜2:Claudeにスクリプトを書かせる#
Claudeへのプロンプトはこのように渡した(実際に試したもの):
以下の条件でPythonスクリプトを書いてください。
- 対象URL:https://(競合サイト)/pricing
- 取得したい情報:「スタンダードプラン」の月額料金(数値のみ)
- 取得後:Googleスプレッドシートの指定シートに「取得日時」「価格」を追記する
- 前回の値から変化があった場合、Discord Webhookに
「【値下げ検知】◯◯が△△円→□□円に変更されました」と通知する
- 使用ライブラリ:requests、beautifulsoup4、gspread
これを渡すと、ほぼ完成形のスクリプトが返ってきた。CSSセレクタの特定だけは「このページで価格はどのタグにあるか調べて」と追加で聞くか、ブラウザの検証ツールで右クリック→「セレクターをコピー」すれば取得できる。ここが唯一のやや手間な工程だった。
メモ
スクレイピングを禁止しているサービスは多い。robots.txt や利用規約を事前に確認すること。公式APIや価格フィードを提供しているサービスがあれば、そちらを使う方が安定して取得できる。
Step 3:Googleスプレッドシートとの連携#
Googleスプレッドシートは「サービスアカウント」経由でAPIを叩く。手順はClaudeに「gspreadライブラリでサービスアカウント認証する方法を教えて」と聞けばそのまま出てくる。
実際の流れはこうなる:
- Google Cloud Consoleでサービスアカウントを作成
- 認証用JSONファイルをダウンロード
- 監視用スプレッドシートをサービスアカウントのメールアドレスに共有設定
価格の変動がスプレッドシートに蓄積されていくので、後から「いつ何円になったか」を時系列で確認できる。Google Driveをもともと使っているため、ファイルが散らばらない点が気に入っている。
Step 4:Discord Webhookで即時アラート#
Discordのサーバー設定→「連携サービス」→「ウェブフック」からURLを取得するだけ。Claudeが生成したスクリプトにはすでに requests.post(webhook_url, json={"content": "..."}) の通知部分が含まれているので、URLを貼り替えれば動く。
作業用のDiscordに「price-alert」チャンネルを作り、通知を集約している。スマホでも即確認できるため、移動中に競合の値下げを把握できるのは、作業感覚がかなり変わった。
Step 5:GitHub Actionsで定期実行#
GitHub ActionsのYAMLもClaudeに依頼できる。「PythonスクリプトをGitHub Actionsで6時間ごとに実行するワークフローを書いて」と伝えるだけで、認証情報のSecretsへの渡し方まで含めた完成形が返ってくる。
on:
schedule:
- cron: '0 */6 * * *' # 6時間ごとに実行
GitHub無料枠(月2,000分)は、軽いPythonスクリプトなら余裕で収まる。1回の実行が1〜2分以内なら、月700回以上動かせる計算だ(目安であり保証ではない)。
注意
GitHubリポジトリをパブリックに設定すると認証情報が外部から見える。Secretsに登録した値自体は非表示だが、スクリプト内にAPIキーを直書きしていると漏洩する。リポジトリは必ずプライベートに設定し、秘匿情報はすべてSecretsで管理すること。
3週間運用してわかった:向き・不向き#
メリット
- 設定後は完全放置で動き続ける
- 価格変動の全履歴がスプレッドシートに自動蓄積される
- 競合が10社でも20社でも、スクリプトに数行追加するだけで拡張できる
- GitHub Actionsの無料枠で十分まかなえる
デメリット
- 対象サイトがJavaScript動的レンダリングの場合、beautifulsoup4では取得できないことがある(PlaywrightやSeleniumが必要になり難易度が上がる)
- サイトのHTML構造が変わると取得失敗する(定期的な動作確認が必要)
- AmazonなどスクレイピングをROBOTSで禁止しているサービスには適用できない
さらに深める:AI自動化スキルを体系的に身につけたい人へ#
今回の価格監視システムは「Claude/ChatGPTにコードを書かせる」というアプローチの一例にすぎない。同じ考え方で、受注管理の自動化、問い合わせの自動分類、週次レポートの自動生成なども実現できる。
個別に試行錯誤するのが難しいと感じる場合、AIスクールで業務自動化を体系的に学ぶのも選択肢の一つだ。自分の業種に合った活用方法を専門家に相談できる無料カウンセリングを提供しているところもある。
PRおすすめAIスクール(無料カウンセリングあり)AIを活用した業務自動化を体系的に学べる。無料カウンセリングで自分の業種に合った活用法を相談できる(成果・収益を保証するものではない)。まとめ#
競合価格の自動監視は次の4ステップで構築できる。
- Claude/ChatGPTにPythonスクリプトを生成させる(CSSセレクタの特定のみ自分でやる)
- Googleスプレッドシートに価格履歴を自動蓄積(サービスアカウント認証)
- Discord Webhookで値下げを即通知(スマホで外出中も確認できる)
- GitHub Actionsで6時間ごとに自動実行(無料枠で十分)
初期設定は体感1〜2時間。動き出したら手作業ゼロで、競合の価格変動をDiscordで把握できる体制になる。「競合の値段は毎週チェックしている」「発見が遅れて商機を逃した経験がある」という人に、まず試してほしい自動化の一つだ。
よくある質問#
Pythonが全くわからなくても設定できますか?#
コードの中身を理解する必要はない。Claude/ChatGPTに「このエラーを直して」とメッセージを貼り付ければ修正してくれる。実際の操作は「コードをファイルに貼る」「GitHubにアップロードする」程度。プログラミング経験なしで1〜2時間以内に動かせたという声は複数ある(個人差があり、時間を保証するものではない)。
Amazonや楽天の価格も監視できますか?#
Amazonは利用規約でスクレイピングを禁止しており、このシステムの適用外だ。楽天は公式の商品検索APIが提供されており、APIキーを取得すれば価格の取得が可能なケースがある。スクレイピングを試みる前に必ず各サービスの利用規約を確認すること。
スクリプトが失敗したときに気づけますか?#
デフォルトでは取得失敗が静かに起きる。対策として「取得エラーが発生した場合もDiscordに通知する」エラーハンドリングをスクリプトに追加しておくと安心だ。「エラー時の通知処理も追加して」とClaudeに依頼すれば、既存のスクリプトに組み込んでもらえる。GitHub Actionsのメール通知設定も合わせて有効にしておくとよい。