predictive-personalization について
EC チーム向けに、行動データに基づく商品推薦、オファー、メールのパーソナライズ方法を案内するスキルです。既存ツールの選定から、高トラフィックのヘッドレスストア向け独自エンジンの構築まで扱います。
主な機能
- 01ストア規模に応じたツール選定
- 02推薦枠と戦略の設定
- 03メールへの商品推薦の追加
- 04A/B テストによる効果測定
- 05データ不足時の推薦への対処
活用シーン
- 01ホーム、商品、カートページへの推薦追加
- 02購入履歴に基づくメール商品の個別化
- 03新規訪問者向けの人気商品表示
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill predictive-personalizationインストール後、Claude Code で/predictive-personalizationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
tile.jsonevals/behavioral-event-tracking-and-user-profi/criteria.jsontask.mdevals/collaborative-filtering-model-with-jacca/criteria.jsontask.mdevals/recommendation-scoring-diversity-a-b-tes/criteria.jsontask.md詳細
予測型パーソナライゼーション
概要
予測型パーソナライゼーションは、訪問者の行動、購入履歴、類似する顧客の傾向に基づき、関連性の高い商品レコメンデーション、パーソナライズされたコンテンツ、ターゲットを絞ったオファーを表示して、一人ひとりに合わせたショッピング体験を提供します。ほとんどのマーチャントは、専用のパーソナライゼーションアプリを使えば、カスタムの ML コードを用意せずにこれを実現できます。カスタムのレコメンデーションエンジンを構築する価値があるのは、アプリのコストやデータ管理要件を踏まえても複雑さに見合う、トラフィックの多いヘッドレスストア(毎月の訪問者数が 10 万人以上)に限られます。
このスキルを使うタイミング
- 訪問者の行動に関係なく、すべての訪問者に同じ商品を表示している場合
- ホームページ、PDP、カートに「あなたへのおすすめ」セクションを追加したい場合
- メールキャンペーンで、リスト全体に同じ商品を送信している場合
- コンバージョン率が頭打ちになり、関連性を高めて改善したい場合
- ルールベースの商品マーチャンダイジングから、データに基づくパーソナライゼーションへ移行する準備ができた場合
基本手順
ステップ 1:適切なパーソナライゼーションツールを選ぶ
| プラットフォーム | 最適な用途 | Shopify | WooCommerce | BigCommerce | 価格 |
|---|---|---|---|---|---|
| Rebuy | 商品レコメンデーション、クロスセル/アップセルウィジェット | アプリストア | 限定的 | 限定的 | 月額 99 ドル以上 |
| LimeSpot | パーソナライゼーション+マーチャンダイジング | アプリストア | プラグイン | アプリマーケットプレイス | 月額 18 ドル以上 |
| Nosto | 中堅市場、ホームページ全体+メールのパーソナライゼーション | アプリストア | プラグイン | アプリマーケットプレイス | レベニューシェア |
| Dynamic Yield | エンタープライズ、包括的な A/B テスト+パーソナライゼーション | JS タグ経由 | JS タグ経由 | JS タグ経由 | 月額 1,000 ドル以上 |
| Klaviyo(メール) | メールフロー内のパーソナライズされた商品ブロック | アプリストア | プラグイン | アプリマーケットプレイス | Klaviyo に含まれる |
| カスタム | ヘッドレスストア、毎月 10 万人以上の訪問者 | API | API | API | 開発費用 |
ストア規模別のおすすめ:
- 売上 100 万ドル未満:レコメンデーションウィジェットには Rebuy または LimeSpot、パーソナライズされたメールには Klaviyo
- 売上 100 万~1,000 万ドル:サイト全体+メールのパーソナライゼーションには Nosto
- 売上 1,000 万ドル以上:エンタープライズ向けのパーソナライゼーション+実験には Dynamic Yield
ステップ 2:商品レコメンデーションを設定する
Shopify
Rebuy を使う場合:
- Shopify アプリストアから Rebuy をインストールします
- Rebuy → Smart Cart に移動し、AI を活用したクロスセルレコメンデーションをカートページに追加します。コードは不要です
- Rebuy → Data Sources に移動し、レコメンデーションのロジックを設定します:
- 「よく一緒に購入される商品」 — 同じ注文で一緒に購入された商品
- 「類似商品」 — 類似するタグや属性を持つ商品
- 「あなたへのおすすめ」 — 閲覧履歴に基づくパーソナライズ
- Rebuy → Widgets に移動し、商品ページ、カート、ホームページにレコメンデーションカルーセルを追加します
- Rebuy は Shopify の注文データに直接接続し、併買パターンを算出します。追加の設定は不要です
LimeSpot を使う場合:
- Shopify アプリストアから LimeSpot Personalizer をインストールします
- LimeSpot → Placements に移動し、任意のページ(ホームページ、コレクション、商品、カート)にレコメンデーションボックスを追加します
- 各配置のレコメンデーション戦略として、「人気上昇中」、「最近閲覧した商品」、「こちらもおすすめ」、「よく一緒に購入される商品」を設定します
- LimeSpot はストアの行動データから自動的に学習します
WooCommerce
- WooCommerce → Products → [Product] → Linked Products に移動し、商品ごとに手動でクロスセルとアップセルを追加します
- ML ベースの自動レコメンデーションを利用するには、LimeSpot for WooCommerce または Barilliance プラグインをインストールします
- メールをパーソナライズするには、購入後のフローで Klaviyo の動的な商品ブロックを設定します(Klaviyo の
Catalogブロックは購入履歴を使って、パーソナライズされたレコメンデーションを自動生成します)
代替案(より簡単): YITH WooCommerce Frequently Bought Together をインストールします。月額サブスクリプションなしで、注文履歴を使った「この商品を購入したお客様は、こちらの商品も購入しています」セクションを追加できます。
BigCommerce
- BigCommerce App Marketplaceにアクセスし、LimeSpotまたはNostoをインストールします
- どちらのアプリもBigCommerceの商品APIと注文APIを統合し、レコメンデーションを算出します
- メールの場合は、BigCommerce App MarketplaceからKlaviyoをインストールし、フローでCatalogブロックを使ってパーソナライズされた商品をレコメンドします
カスタム/ヘッドレス
ヘッドレスストアでは、行動イベントデータと協調フィルタリングを使用してレコメンデーションエンジンを構築します。
// Collect behavioral events for each visitor
interface PersonalizationEvent {
userId: string | null; // null for anonymous visitors
sessionId: string;
eventType: 'view' | 'add_to_cart' | 'purchase';
productId: string;
categoryId?: string;
timestamp: Date;
}
// Maintain a real-time user profile in Redis
async function updateUserProfile(event: PersonalizationEvent) {
const key = event.userId ?? `anon:${event.sessionId}`;
const recentViews = JSON.parse(await redis.get(`profile:${key}:views`) ?? '[]');
if (event.eventType === 'view') {
recentViews.unshift(event.productId);
if (recentViews.length > 50) recentViews.pop();
await redis.setex(`profile:${key}:views`, 30 * 86400, JSON.stringify(recentViews));
}
const categoryScores = JSON.parse(await redis.get(`profile:${key}:categories`) ?? '{}');
if (event.categoryId) {
const weight = { view: 1, add_to_cart: 3, purchase: 5 }[event.eventType] ?? 1;
categoryScores[event.categoryId] = (categoryScores[event.categoryId] ?? 0) + weight;
await redis.setex(`profile:${key}:categories`, 30 * 86400, JSON.stringify(categoryScores));
}
}
// Nightly batch job: build co-purchase similarity from 90-day order history
// Serve recommendations via Redis cache for sub-10ms response times
// Fallback: trending/popular items when user has no history (cold start)
ほとんどのヘッドレスストアでは、ゼロから構築する代わりに、NostoまたはDynamic YieldのJavaScriptウィジェットとREST APIを使用します。APIを利用すると、レコメンデーションエンジンのインフラストラクチャーを維持せずに、同じパーソナライズデータを取得できます。
ステップ3:動的な商品ブロックでメールをパーソナライズする
Klaviyoを使えば、すべてのプラットフォームで利用できます。
- 任意のKlaviyoフロー(購入後、再購入促進、閲覧後の離脱)にProduct Blockを追加します
- 商品ソースを**「Personalized Recommendations」**に設定します。Klaviyoは受信者の購入履歴を使って商品を選択します
- または、**「Cross-sell」**を使います。Klaviyoは顧客が最後に購入した商品と一緒によく購入される商品を表示します
- さまざまな顧客プロフィールでメールをプレビューし、受信者ごとにレコメンデーションが変わることを確認します
ステップ4:ホームページに「Recommended for You」を設定する
RebuyまたはLimeSpotを使ったShopify
- アプリのダッシュボードで、Placements → Homepageに移動します
- レコメンデーション戦略を「Recommended for You」に設定します(パーソナライズには過去の訪問または購入が少なくとも1回必要です。新規訪問者にはトレンド商品が表示されます)
- アプリのテーマエディターウィジェットを使います。Shopify → Online Store → Themes → Customizeで、ホームページのセクションにドラッグします
ステップ5:パーソナライズの効果を測定する
全面展開の前に、必ずパーソナライズのA/Bテストを実施してください。RebuyとNostoには、どちらもA/Bテスト機能が組み込まれています。
| 指標 | 目標 | 確認場所 |
|---|---|---|
| レコメンデーションウィジェットのCTR | > 5% | アプリの分析ダッシュボード |
| レコメンデーションによる売上 | 全体の10~20% | アプリの分析 |
| AOVの向上(パーソナライズ対コントロール) | > 5% | アプリのA/Bテスト結果 |
| メールのパーソナライズブロックのCTR(静的ブロックとの比較) | 2倍超 | Klaviyoフローの分析 |
ベストプラクティス
- 購入後のクロスセルから始める — 「Xを購入した顧客はYも購入しています」は、最もコンバージョン率の高いレコメンデーション表示方法です。注文確認ページと購入後のメールに設定します
- ホームページに「最近閲覧した商品」を表示する — 以前閲覧した商品を見るリピーターは、コンバージョン率が3~4倍高くなります。RebuyとLimeSpotは、どちらも標準でこの機能に対応しています
- フォールバックにはトレンド商品や人気商品を使う — 履歴のない新規訪問者には、空のレコメンデーション枠ではなく、トレンド商品を表示します
- レコメンデーションを複数のカテゴリーに分散させる — 似たような商品ばかりが12点表示されないよう、カテゴリーごとの最大表示数を4点に設定します
- パーソナライズと編集者によるキュレーションをテストする — 高級品やギフトなどの商品タイプによっては、アルゴリズムによるレコメンデーションより、スタッフが選んだ商品が効果的な場合があります
よくある問題
| 問題 | 解決策 |
|---|---|
| 購入済みの商品がレコメンデーションに表示される | アプリを設定し、購入済みの商品をレコメンデーションから除外します |
| データのない新しいストアで、レコメンデーションが不適切に見える | 行動データが蓄積されるまでの最初の60~90日間は、「Trending」または編集者によるキュレーションを使用します |
| レコメンデーションがすべて1つのカテゴリーの商品になる | アプリの設定で多様性の制御を有効にします。ほとんどのアプリは「カテゴリーごとの最大表示数」に対応しています |
| パーソナライズされたメールのレコメンデーションが全員に同じ内容で表示される | プラットフォームからKlaviyoにPlaced Orderイベントが届いていることを確認します。Klaviyo → Integrationsでステータスを確認してください |
関連スキル
- @cross-sell-upsell-engine
- @email-marketing-automation
- @ab-testing-ecommerce
- @customer-analytics
- @search-autocomplete