Implementation × EC Marketing実装
Shopify Subscription Marketing Dashboard
観測記録OBSERVATION RECORD / 87B4D14CRECORDED : 2026-09-13DOMAIN : IMPLEMENTATIONSTATUS : ARCHIVED

Shopifyマーケティング
ダッシュボード作成

Shopifyの注文だけでは、定期契約の状態や継続回数は読み切れない。定期購買アプリ「Huckleberry」の契約だけでは、同時購入された単品や確定売上、顧客の購買履歴までは揃わない。

そこで、Shopifyの注文・顧客CSV、商品マスター、Huckleberryの注文単位・契約単位CSVを突合し、売上、粗利、F2、定期LTV、継続・解約、データ品質まで同じ条件で確認できるローカルダッシュボードを構築した。

売上、原価、粗利、顧客数、LTVを表示するShopifyマーケティングダッシュボードのテスト画面
約2,000注文規模の架空データによるテスト画面。商品名、顧客、金額、日付を含め、表示内容はすべて検証用である。

データを増やすより先に、役割を分ける

注文、顧客、商品、定期契約は、同じ販売活動を別の角度から記録している。どれか一つを正本として無理に広げると、初回注文に含まれた単品を定期商品として扱ったり、解約済み契約の将来売上をLTVへ含めたりする。

この実装では、ShopifyとHuckleberryから公式にエクスポートできるCSVと、各サービスが公開している項目・カラム定義を基準に取り込み仕様を固定した。商品マスターだけは自社でSKU、商品区分、原価を管理する。

注文CSVは決済済みの売上と明細、顧客CSVは顧客識別、商品マスターはSKUと原価、定期購買アプリ「Huckleberry」の注文単位CSVは定期由来の注文イベント、契約単位CSVは契約状態と継続の母集団を担当する。

Shopify 注文CSV注文番号、決済状態、返金、商品明細、クーポン、注文金額を確認する。
Shopify 顧客CSVShopify顧客IDを主キーとして顧客を識別する。IDがない場合のみ正規化したメールを補助キーにする。
商品マスター販売SKUを実商品・商品区分へまとめ、原価と数量倍率を付与する。
定期購買アプリ「Huckleberry」注文単位CSV定期契約から発生した注文イベントと決済回数を追跡する。
定期購買アプリ「Huckleberry」契約単位CSV契約商品、開始日、現在状態、次回日、解約理由を契約単位で確認する。

グラフより先に、売上と継続の定義を固定する

確定売上は、決済済みで返金のない注文だけを対象にした。保留や与信中は見込として別に残し、確定売上、注文数、顧客数、商品数、原価、粗利、LTVには入れない。全額返金と一部返金の注文も、注文単位で集計対象から外す。

定期LTVは、契約に含まれる定期商品の成功決済だけで計算する。初回注文で同時購入された単品は、Shopifyの売上には含めるが、定期LTVには含めない。継続コホートは「決済回数への到達率」、解約コホートは「確認済みの累積解約率」として、同じ母集団から別の事実を表示する。

重要な前提
元データに存在しない顧客ID、原価、契約状態、解約理由は推測で補わない。欠損はデータ品質画面へ出し、数値を作らないことを優先している。

確認できるのは、売上だけではない

売上・商品

確定売上、注文数、顧客数、販売数量、原価、粗利、粗利率、商品別推移を確認する。

マーケティング

初回購入商品別F2率、買い合わせ、クーポン、実効割引率、90日LTVを確認する。

定期・LTV

単品から定期への転換、契約あたりLTV、商品別LTV、決済回数到達を確認する。

継続・解約

継続曲線、累積解約率、現在の契約状態、解約理由を確認する。

顧客・地域

新規・既存顧客、顧客別購買、都道府県別の売上と顧客分布を確認する。

品質・算出ロジック

欠損、未結合、除外件数、更新状態を確認し、各指標の意味と式を画面上で確認する。

初回購入商品別のF2率とLTVを表示するテスト画面
初回購入商品ごとのF2率と90日LTV。商品名と数値はすべて架空である。

定期LTVと継続は、契約の実績から見る

LTVの期間を伸ばしたとき、解約済み契約まで将来の継続として数えると、数字は簡単に膨らむ。このダッシュボードでは、成功した決済の累積額を対象契約数で割り、まだ発生していない将来売上を加えない。

継続曲線も、現在の契約状態を並べるのではなく、初回成功決済を起点に何回目まで到達したかを表示する。開始日と終了日を指定できるため、直近1年など任意の期間に絞って比較できる。将来の回数にまだ到達できないセルは0%ではなく「未成熟」と表示する。

定期契約の平均観測売上と決済回数別到達を表示するテスト画面
定期契約の観測済みLTV。成功決済の実績だけを対象にしている。
商品区分別の継続到達率を表示するテスト画面
商品区分別の決済回数到達率。グラフ上の名称と数値は検証用である。
開始月別に12回目までの継続到達率を表示するテスト画面
継続コホート(決済回数到達率)。開始月ごとの母数を固定し、12回目までの到達実績を確認できる。
開始月別の確認済み累積解約率を表示するテスト画面
解約コホート(確認済み累積解約率)。継続到達率とは別に、確認できた解約の累積を同じ開始月単位で追う。

テスト版は、本番に見えないデータで検証する

公開用サンプルには、約2,000注文規模の架空データを用意した。商品名とSKUには「TEST」を明示し、実在商品のマスターや名称を混ぜていない。ダッシュボード右上にもテストデータ表示が出るため、検証値を本番実績と誤認しにくい。

サンプルは、売上だけが並ぶデータではない。単品、定期、解約、継続回数、クーポン、返金、未確定決済、原価を含み、各画面の除外条件と集計結果を確認できる。データ品質画面では、読み込み件数、除外、欠損、未結合を確認できる。

読み込み件数、除外、欠損、未結合を表示するデータ品質のテスト画面
テストデータ読み込み後の品質画面。エラーと要確認を分け、異常があるまま数値だけを見ることを防ぐ。

テスト版を動かす

テスト版はWindows向けのローカルツールである。外部サービスへ顧客データを送らず、自分のPC上でCSVを読み込み、ブラウザでダッシュボードを表示する。

01 / DOWNLOAD

ZIPをダウンロードし、フォルダごと展開する。ZIPの中から直接起動しない。

02 / START

START_DASHBOARD.cmdを実行する。Python、Tkinter、openpyxlが必要である。

03 / VERIFY

テスト表示とデータ品質を確認し、各タブ、絞り込み、指標ヘルプを試す。

04 / REPLACE

本番利用時は、サンプル4 CSVとサンプル商品マスターを削除し、自社の4 CSVと商品マスターへ完全置換してから初回起動する。

Shopify Marketing Dashboard v4.8.4 — テスト版

架空の注文・顧客・定期契約・商品マスターを同梱した検証用ZIPである。本番データや本番商品マスターは含まない。

テスト版ZIPをダウンロードZIP / 約237 KB / Windows向け
本番への切り替え方
テストと本番は追加・併用しない。サンプルを残したまま本番CSVを足すのではなく、Raw直下のサンプル一式を削除して自社データへ完全置換する。本番データだけになれば右上のテスト表示は消え、テストと本番が混在した場合は警告を表示する。

ダッシュボードの価値は、グラフの数ではなく確認可能性にある

売上、顧客、商品、定期契約を一画面に集めても、定義が曖昧なら判断は速くならない。どの注文を売上と呼ぶか、誰を同じ顧客とみなすか、単品と定期をどこで分けるか、返金と保留をどう扱うかが先に必要である。

各指標には意味と算出ロジックの説明を付けた。数字に違和感があれば、データ品質、対象期間、絞り込み、算出式まで同じ画面から辿れる。マーケティングボードを報告資料ではなく、検証できる判断基盤にするための構成である。

まとめ

注文を集計するだけでは、
定期通販の状態は見えない。
データの役割と除外条件を固定して、
初めてLTVと継続を判断できる。

参照したデータ仕様

取り込み項目は、各サービスの公式エクスポートと公開されている項目・カラム定義を、実際に出力したCSVと照合して固定した。

Shopify ヘルプセンター|顧客情報のインポートとエクスポート
Huckleberry 定期購買|注文・契約データのエクスポートに関する案内