{
  "id": "event-study-pilot-store-incremental-sales",
  "schemaVersion": 2,
  "title": {
    "ja": "試験店の導入効果 — 比較店との差は導入後に広がる",
    "en": "Pilot Store Lift — The Gap from Matched Stores Widens After Launch"
  },
  "summary": {
    "ja": "介入前の平行推移と比較群からの反実仮想を重ね、施策導入後の差の差を時系列で読むイベントスタディ",
    "en": "An event study compares pre-launch trends and a comparison-based counterfactual to estimate post-launch lift."
  },
  "capturedAt": "2026-09-25",
  "categories": [
    "presentation"
  ],
  "tags": [
    "data-viz",
    "minimal"
  ],
  "useCases": [
    "comparison",
    "comparison"
  ],
  "format": "slide-16x9",
  "density": "medium",
  "layout": {
    "kind": "axis",
    "canvas": {
      "w": 1920,
      "h": 1080
    },
    "margin": {
      "top": 100,
      "right": 140,
      "bottom": 90,
      "left": 140
    }
  },
  "type": {
    "title": {
      "size": 44,
      "weight": 700,
      "tracking": "0.01em"
    },
    "subtitle": {
      "size": 22,
      "weight": 500
    },
    "axisTitle": {
      "size": 22,
      "weight": 700
    },
    "tick": {
      "size": 20,
      "weight": 500
    },
    "seriesLabel": {
      "size": 20,
      "weight": 500
    },
    "eventTag": {
      "size": 20,
      "weight": 700
    },
    "effect": {
      "size": 26,
      "weight": 700
    },
    "takeaway": {
      "size": 26,
      "weight": 500
    },
    "note": {
      "size": 20,
      "weight": 400
    }
  },
  "colors": {
    "ground": "#FFFFFF",
    "surface": "#F4F6F9",
    "ink": "#131820",
    "muted": "#667183",
    "accent": "#1F5FA8",
    "rule": "#DBE1E9",
    "series": []
  },
  "rules": [
    {
      "ja": "導入前の推移が平行に近いことを確かめ、比較店が試験店の反実仮想として妥当か検討する",
      "en": "Check that pre-launch trends are reasonably parallel and that comparison stores are a credible counterfactual."
    },
    {
      "ja": "反実仮想は比較店の導入前後の変化を試験店の導入前値に加えて推定する",
      "en": "Estimate the counterfactual by adding comparison-store change to the pilot store's pre-launch level."
    },
    {
      "ja": "施策と同時に変わった要因があれば、導入後の差を施策だけの因果効果と断定しない",
      "en": "Do not attribute the entire post-launch gap to the intervention if other factors changed at the same time."
    },
    {
      "ja": "架空の週次指数。値と平行トレンド仮定は説明用で実測ではない",
      "en": "Fictional weekly index; both values and the parallel-trends assumption are illustrative, not measured."
    }
  ],
  "cover": "https://design-vault.pages.dev/_astro/cover.RaTWWDum.png",
  "assets": [],
  "shortlist": false,
  "status": "published",
  "relations": {
    "similar": []
  },
  "license": "Original",
  "publishedAt": null,
  "reproduction": {
    "spec": {
      "format": "slide-16x9",
      "density": "medium",
      "layout": {
        "kind": "axis",
        "canvas": {
          "w": 1920,
          "h": 1080
        },
        "margin": {
          "top": 100,
          "right": 140,
          "bottom": 90,
          "left": 140
        }
      },
      "type": {
        "title": {
          "size": 44,
          "weight": 700,
          "tracking": "0.01em"
        },
        "subtitle": {
          "size": 22,
          "weight": 500
        },
        "axisTitle": {
          "size": 22,
          "weight": 700
        },
        "tick": {
          "size": 20,
          "weight": 500
        },
        "seriesLabel": {
          "size": 20,
          "weight": 500
        },
        "eventTag": {
          "size": 20,
          "weight": 700
        },
        "effect": {
          "size": 26,
          "weight": 700
        },
        "takeaway": {
          "size": 26,
          "weight": 500
        },
        "note": {
          "size": 20,
          "weight": 400
        }
      },
      "colors": {
        "ground": "#FFFFFF",
        "surface": "#F4F6F9",
        "ink": "#131820",
        "muted": "#667183",
        "accent": "#1F5FA8",
        "rule": "#DBE1E9"
      },
      "rules": [
        "Check that pre-launch trends are reasonably parallel and that comparison stores are a credible counterfactual.",
        "Estimate the counterfactual by adding comparison-store change to the pilot store's pre-launch level.",
        "Do not attribute the entire post-launch gap to the intervention if other factors changed at the same time.",
        "Fictional weekly index; both values and the parallel-trends assumption are illustrative, not measured."
      ]
    },
    "prompt": {
      "ja": "以下の仕様でスライドを 1 枚作ってください。\n\n- 版面 1920 × 1080\n- 余白 上 100 右 140 下 90 左 140\n\n## 文字（版面 1920px に対する px）\ntitle  44px / 700 / 字間 0.01em\nsubtitle  22px / 500\naxisTitle  22px / 700\ntick  20px / 500\nseriesLabel  20px / 500\neventTag  20px / 700\neffect  26px / 700\ntakeaway  26px / 500\nnote  20px / 400\n\n## 配色\n地 #FFFFFF / 面 #F4F6F9 / 文字 #131820 / 補助 #667183 / 強調 #1F5FA8 / 罫 #DBE1E9\n\n## 外すと崩れる点\n- 導入前の推移が平行に近いことを確かめ、比較店が試験店の反実仮想として妥当か検討する\n- 反実仮想は比較店の導入前後の変化を試験店の導入前値に加えて推定する\n- 施策と同時に変わった要因があれば、導入後の差を施策だけの因果効果と断定しない\n- 架空の週次指数。値と平行トレンド仮定は説明用で実測ではない\n\n内容は［ここに自分の内容を書く］に置き換えてください。寸法と配色はそのまま守ってください。\n正確に再現する場合は、この HTML をそのまま使ってください: https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/pattern.html",
      "en": "Produce one slide to the following specification.\n\n- Canvas 1920 × 1080\n- Margin top 100 right 140 bottom 90 left 140\n\n## Type (px against a 1920px canvas)\ntitle  44px / 700 / tracking 0.01em\nsubtitle  22px / 500\naxisTitle  22px / 700\ntick  20px / 500\nseriesLabel  20px / 500\neventTag  20px / 700\neffect  26px / 700\ntakeaway  26px / 500\nnote  20px / 400\n\n## Colour\nGround #FFFFFF / Surface #F4F6F9 / Ink #131820 / Muted #667183 / Accent #1F5FA8 / Rule #DBE1E9\n\n## Constraints — dropping these breaks it\n- Check that pre-launch trends are reasonably parallel and that comparison stores are a credible counterfactual.\n- Estimate the counterfactual by adding comparison-store change to the pilot store's pre-launch level.\n- Do not attribute the entire post-launch gap to the intervention if other factors changed at the same time.\n- Fictional weekly index; both values and the parallel-trends assumption are illustrative, not measured.\n\nReplace the content with [your content]. Keep the measurements and colours as given.\nFor an exact reproduction, use the verbatim HTML at https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/pattern.html."
    },
    "code": {
      "html": "<!doctype html>\n<meta charset=\"utf-8\">\n<title>試験店の導入効果 — 比較店との差は導入後に広がる</title>\n<meta name=\"dv-font\" content=\"Zen Kaku Gothic New:400;500;700\">\n<link rel=\"stylesheet\" href=\"./font.css\">\n<style>\n:root{--ground:#FFFFFF;--surface:#F4F6F9;--ink:#131820;--muted:#667183;--accent:#1F5FA8;--comparison:#667183;--counterfactual:#C16A24;--rule:#DBE1E9;\n  --plot-color-1: #F7EFE4;\n}\n*{box-sizing:border-box;margin:0}html,body{width:1920px;height:1080px}body{font-family:\"Zen Kaku Gothic New\",\"Hiragino Sans\",sans-serif}\n.artboard{width:1920px;height:1080px;padding:100px 140px 90px;background:var(--ground);color:var(--ink);position:relative}.content{width:1640px;height:890px}.content>svg{position:absolute;left:0;top:0}\n</style>\n<div class=\"artboard\" data-artboard><div class=\"content\" data-content>\n<svg width=\"1920\" height=\"1080\" viewBox=\"0 0 1920 1080\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"店舗施策の導入週を0とするイベントスタディ。試験店と比較店の週次売上指数を表示し、比較店の変化を試験店の反実仮想として破線で延長。導入3週後の差は9ポイント。\">\n<style>\ntext{font-family:\"Zen Kaku Gothic New\",\"Hiragino Sans\",sans-serif}.ink{fill:var(--ink)}.muted{fill:var(--muted)}.title{font-size:44px;font-weight:700;letter-spacing:.01em}.subtitle{font-size:22px;font-weight:500}.axis-title{font-size:22px;font-weight:700}.tick{font-size:20px;font-weight:500}.series-label{font-size:20px;font-weight:500}.event-tag{font-size:20px;font-weight:700}.effect{font-size:26px;font-weight:700}.takeaway{font-size:26px;font-weight:500}.note{font-size:20px;font-weight:400}.grid{stroke:var(--rule);stroke-width:1}.axis{stroke:var(--ink);stroke-width:2}.comparison{fill:none;stroke:var(--muted);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.treatment{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.cf{fill:none;stroke:var(--counterfactual);stroke-width:4;stroke-dasharray:12 9;stroke-linecap:round}.dot-treatment{fill:var(--accent);stroke:var(--ground);stroke-width:3}.dot-comparison{fill:var(--muted);stroke:var(--ground);stroke-width:3}.dot-cf{fill:var(--counterfactual);stroke:var(--ground);stroke-width:3}\n</style>\n<rect width=\"1920\" height=\"1080\" fill=\"var(--ground)\"/>\n<g transform=\"translate(140 100)\">\n<text class=\"ink title\" data-type=\"title\" x=\"0\" y=\"58\">試験店の導入効果 — 比較店との差は導入後に広がる</text>\n<text class=\"muted subtitle\" data-type=\"subtitle\" x=\"0\" y=\"98\">売上指数 / 導入前を100に正規化 / 架空の8週データ</text>\n<line x1=\"0\" y1=\"130\" x2=\"1640\" y2=\"130\" stroke=\"var(--rule)\" stroke-width=\"2\"/>\n\n<text class=\"ink axis-title\" data-type=\"axisTitle\" x=\"810\" y=\"177\" text-anchor=\"middle\">導入前の傾向を基準にすると、試験店の売上はどれだけ上振れしたか</text>\n<text class=\"muted tick\" x=\"0\" y=\"220\">売上指数</text>\n<!-- Shared vertical scale; the launch boundary separates pre and post periods. -->\n<g class=\"grid\">\n<line x1=\"210\" y1=\"650\" x2=\"1360\" y2=\"650\"/><line x1=\"210\" y1=\"550\" x2=\"1360\" y2=\"550\"/><line x1=\"210\" y1=\"450\" x2=\"1360\" y2=\"450\"/><line x1=\"210\" y1=\"350\" x2=\"1360\" y2=\"350\"/><line x1=\"210\" y1=\"250\" x2=\"1360\" y2=\"250\"/>\n</g>\n<g class=\"muted tick\" text-anchor=\"end\">\n<text data-type=\"tick\" x=\"190\" y=\"657\">100</text><text x=\"190\" y=\"557\">105</text><text x=\"190\" y=\"457\">110</text><text x=\"190\" y=\"357\">115</text><text x=\"190\" y=\"257\">120</text>\n</g>\n<line class=\"axis\" x1=\"210\" y1=\"650\" x2=\"1360\" y2=\"650\"/>\n<line x1=\"785\" y1=\"238\" x2=\"785\" y2=\"650\" stroke=\"var(--counterfactual)\" stroke-width=\"2\" stroke-dasharray=\"7 7\"/>\n<rect x=\"704\" y=\"196\" width=\"162\" height=\"36\" rx=\"18\" fill=\"var(--plot-color-1)\"/>\n<text class=\"ink event-tag\" data-type=\"eventTag\" x=\"785\" y=\"221\" text-anchor=\"middle\">施策を導入</text>\n\n<!-- Pilot and matched stores move almost in parallel before launch. -->\n<path class=\"treatment\" d=\"M280 650 L420 610 L560 590 L700 550 L840 450 L980 390 L1120 350 L1260 290\"/>\n<path class=\"comparison\" d=\"M280 650 L420 630 L560 610 L700 570 L840 550 L980 530 L1120 510 L1260 490\"/>\n<!-- Counterfactual extends the pilot's pre-launch level using comparison-store change. -->\n<path class=\"cf\" d=\"M700 550 L840 530 L980 510 L1120 490 L1260 470\"/>\n<g class=\"dot-comparison\"><circle cx=\"280\" cy=\"650\" r=\"10\"/><circle cx=\"420\" cy=\"630\" r=\"7\"/><circle cx=\"560\" cy=\"610\" r=\"7\"/><circle cx=\"700\" cy=\"570\" r=\"7\"/><circle cx=\"840\" cy=\"550\" r=\"7\"/><circle cx=\"980\" cy=\"530\" r=\"7\"/><circle cx=\"1120\" cy=\"510\" r=\"7\"/><circle cx=\"1260\" cy=\"490\" r=\"7\"/></g>\n<g class=\"dot-treatment\"><circle cx=\"280\" cy=\"650\" r=\"4\"/><circle cx=\"420\" cy=\"610\" r=\"8\"/><circle cx=\"560\" cy=\"590\" r=\"8\"/><circle cx=\"700\" cy=\"550\" r=\"8\"/><circle cx=\"840\" cy=\"450\" r=\"8\"/><circle cx=\"980\" cy=\"390\" r=\"8\"/><circle cx=\"1120\" cy=\"350\" r=\"8\"/><circle cx=\"1260\" cy=\"290\" r=\"8\"/></g>\n<g class=\"dot-cf\"><circle cx=\"840\" cy=\"530\" r=\"7\"/><circle cx=\"980\" cy=\"510\" r=\"7\"/><circle cx=\"1120\" cy=\"490\" r=\"7\"/><circle cx=\"1260\" cy=\"470\" r=\"7\"/></g>\n<g class=\"muted tick\" text-anchor=\"middle\">\n<text data-type=\"tick\" x=\"280\" y=\"684\">−4</text><text x=\"420\" y=\"684\">−3</text><text x=\"560\" y=\"684\">−2</text><text x=\"700\" y=\"684\">−1</text><text x=\"840\" y=\"684\">0</text><text x=\"980\" y=\"684\">+1</text><text x=\"1120\" y=\"684\">+2</text><text x=\"1260\" y=\"684\">+3</text>\n</g>\n<text class=\"muted axis-title\" x=\"785\" y=\"722\" text-anchor=\"middle\">導入週からの週数</text>\n\n<!-- Gap at week +3 is the difference-in-differences estimate. -->\n<line x1=\"1320\" y1=\"290\" x2=\"1320\" y2=\"470\" stroke=\"var(--counterfactual)\" stroke-width=\"3\"/>\n<line x1=\"1308\" y1=\"290\" x2=\"1332\" y2=\"290\" stroke=\"var(--counterfactual)\" stroke-width=\"3\"/>\n<line x1=\"1308\" y1=\"470\" x2=\"1332\" y2=\"470\" stroke=\"var(--counterfactual)\" stroke-width=\"3\"/>\n<text class=\"ink effect\" data-type=\"effect\" x=\"1350\" y=\"360\">+9pt</text>\n<text class=\"muted series-label\" x=\"1350\" y=\"394\">導入3週後</text>\n\n<g transform=\"translate(185 770)\">\n<line x1=\"0\" y1=\"0\" x2=\"44\" y2=\"0\" stroke=\"var(--accent)\" stroke-width=\"4\"/><circle cx=\"22\" cy=\"0\" r=\"6\" fill=\"var(--accent)\"/><text class=\"ink series-label\" data-type=\"seriesLabel\" x=\"56\" y=\"7\">試験店の実績</text>\n<line x1=\"315\" y1=\"0\" x2=\"359\" y2=\"0\" stroke=\"var(--muted)\" stroke-width=\"4\"/><circle cx=\"337\" cy=\"0\" r=\"6\" fill=\"var(--muted)\"/><text class=\"ink series-label\" x=\"371\" y=\"7\">比較店の実績</text>\n<line x1=\"635\" y1=\"0\" x2=\"679\" y2=\"0\" stroke=\"var(--counterfactual)\" stroke-width=\"4\" stroke-dasharray=\"10 7\"/><text class=\"ink series-label\" x=\"691\" y=\"7\">反実仮想（比較店の変化を延長）</text>\n</g>\n<rect x=\"250\" y=\"818\" width=\"1140\" height=\"70\" rx=\"10\" fill=\"var(--surface)\"/>\n<text class=\"ink takeaway\" data-type=\"takeaway\" x=\"820\" y=\"862\" text-anchor=\"middle\">導入3週後: 試験店118 − 反実仮想109 = 推定差 +9ポイント</text>\n<line x1=\"0\" y1=\"915\" x2=\"1640\" y2=\"915\" stroke=\"var(--rule)\"/>\n<text class=\"muted note\" data-type=\"note\" x=\"0\" y=\"954\">因果解釈には導入前の平行トレンドと、試験店だけの同時要因がないことの確認が必要。</text>\n</g></svg></div></div>\n",
      "url": "https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/pattern.html",
      "fonts": [
        "https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/font.css",
        "https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/font-0.woff2",
        "https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/font-1.woff2",
        "https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales/font-2.woff2"
      ]
    }
  },
  "urls": {
    "ja": "https://design-vault.pages.dev/designs/event-study-pilot-store-incremental-sales",
    "en": "https://design-vault.pages.dev/en/designs/event-study-pilot-store-incremental-sales"
  },
  "notesMarkdown": "### 視覚的な問い\n\n店舗施策の導入後、試験店の売上は比較店の通常推移を上回ったか。上回ったなら、どの程度の差が観測されたか。\n\n### 構造\n\n横軸は導入前後の週、縦軸は導入前を100にそろえた売上指数。試験店と比較店の実績を実線で示し、比較店の導入前後の変化を試験店の導入前値へ足して、導入後の反実仮想を破線で延長する。導入3週後は試験店118、反実仮想109で、差の差は+9ポイント。\n\nこれは店舗間の単純な事後比較ではなく、導入前の水準差と導入前後の共通変化を差し引こうとするイベントスタディの説明図。因果解釈には、介入がなければ両群の推移が平行だったという仮定や、試験店だけに同時発生した別要因がないことが必要。図中の値は架空。\n\n### 適用\n\n- 店舗・地域ごとに時期をずらして施策を導入し、導入前後の影響を比較する\n- 観測された差、比較群が表す反実仮想、因果解釈の前提を同じ図で説明する"
}