今日の文書 — PRD(製品要求仕様書)
PRD(Product Requirements Document/製品要求仕様書) — 作るものについて「誰の、何の問題を、どこまで解くか」「成功をどう測るか」「何をやらないか」を、作る人(開発・デザイン)と合意するための文書。画面の細部や実装方法はデザインや設計書に任せ、何を作り、何を作らないかの境界を決めるのが仕事。
この文書の勝負どころ: Non-Goals(やらないこと)が書かれているか。 Non-Goals は「やらないことの一覧」ではない。「やってもおかしくない(誰かが必ず言い出す)が、今回はやらないと決めたこと」である(Google の design doc の説明では、"reasonably be goals" だが明示的に目標にしないもの。出典は設計メモ)。誰も言い出さないことを書いても意味がない。書くべきは次の3つが揃ったもの:
| 要素 | 例(今日の題材) | 無いと何が起きるか |
|---|---|---|
| やらないこと | 連携特典(クーポン)をつけない | 開発中に「ついでに」で入り、期日が延びる |
| 理由 | 特典目当ての連携は、売上の前提(1人年940円)と別の人になる | 依頼されたとき、開発者が自分で断れない |
| 再検討の条件 | 8/3の判定の後、別のPRDで | 「永久にやらない」と誤解され、反発を生む |
シナリオ
あなたは株式会社ノヴァストア EC事業本部・販促システム部の MOpsチームマネージャー・宮田(Day004〜Day018の続き)。
2028年8月24日の確認会で、中期経営計画の部門パートは案Bに決まった(Day018)。FY2029の打ち手のひとつが、購入完了画面に「LINEと会員IDの連携」の導線を出すこと(2029/5/7公開、開発3人月、予算は承認済み)。8/3(金)に、導線を見せた人と見せない10%の対照群の差で続けるか止めるかを判定する。
ところが、購入完了画面はMOpsの持ち物ではない。持ち主はサイト開発部の購入フローチームで、リードは森さん(新登場)。この画面には今「おすすめ商品」の枠があり、そこからの売上(月約1,200万円〔仮定: シナリオ内〕、クリック率6.0%〔仮定: シナリオ内〕)は購入フローチームの指標である。
宮田はこのPRDを 2029/1/19(金) に森さんへ送り、1/24(水)15:00(30分) の確認会で合意して、2/5(月)に開発着手、5/7(月)公開としたい。
- 社内では、話を聞きつけた人から「ついでに」の声が既に出ている。マーケの関課長は「連携したら300円クーポンを」、アプリ開発チームは「アプリも同時に」、マイページ担当は「マイページのバナーも新しくしたい」
- 購入完了画面で連携導線の対象になる人(ログイン会員・LINE未連携)は1日約4,000人、12週で重複を除くと約19万人〔仮定: シナリオ内〕。その14日以内のID連携率は今0.4%〔仮定: シナリオ内〕
- Day018で「4/23までに宮田が計算する」と残した検出力の計算を、このPRDで済ませる(下の〔導出〕)
- 読み手: 森さん(他部署の開発リード)。カタログの主な読み手(開発チーム)が Lv2(他部署)とそのまま一致するので、ルール5(間接読み手)は使わない
読み手プロファイル
| 項目 | 内容 |
|---|---|
| 誰が読むか | 森さん(サイト開発部 購入フローチーム リード)。森さんがチームのエンジニア3名・デザイナー1名に共有する |
| 何を判断するために読むか | ①自分の画面にこの導線を載せてよいか、どこに置くか ②2/5に着手できる見積もりが立つか ③「ついでに」の依頼が来たとき断ってよいか |
| 何を知っているか | 購入完了画面の作り、表示速度(LCP)、おすすめ商品の枠とその売上。A/Bテストの仕組み(会員IDでの振り分け)は持っている |
| 何を知らないか | 中期計画でこの導線が決まった経緯、「増分」で測る理由、8/3の判定と+1.6ptの意味、なぜ対照群が要るか |
| 何を気にしているか | おすすめ商品の売上が下がって、自分のチームの指標で責められないか。「ついでに」が積み上がって3人月で終わらないこと。表示が遅くなること。8/3にやめるとき、外す作業が自分たちに残ること |
| 読む時間と場面 | 確認会の前に、チームで30分かけて読む。開発者は細部まで読む(距離はあるが、読む時間は短くない) |
この読み手が変わると何が変わるか: 読み手が MOpsのエンジニア(自チーム) なら、経緯と測り方は共有済みなので「守ること」は短くなり、実装の分担が先に来る。マーケの関課長 なら、N2(連携特典をやらない)を冒頭に出し、いつ・どの条件で特典を試せるかを先に示す。経営層 なら、PRDではなく「8/3に何で判定するか」の1枚で足りる。今回は画面の持ち主の森さんが読むので、森さんの指標を守る条件と、やらないことの境界を先に置く。
4段階で見る — 「2. スコープ(やること・やらないこと)」
同じPRDの 「2. スコープ」 を4段階で書き分けたもの。PRDで最も差が出るのは、どこまで作り、どこから先を作らないかを決めるこの部分。タブで精読、「横に並べる」で差を一望できる。
行数ではBestがBetterより短い(字数ではBestが最長)。Non-Goalsの一覧を「承認してよいか」の1行にまとめ、中身を全文へ移したため。
やらないことが1つもない。「可能であれば」「視野に」「柔軟に」で
アプリ・特典・LINEログインまで範囲に見える。
画面の持ち主の事情に触れず「厳守で」と圧をかける。Goals / Non-Goals / 成功指標の型は揃った。
ただしNon-Goalsは名詞4つで、理由も再検討の条件もない。
測定を壊すN3が抜け、持ち主の指標を守る条件がない。「守ること」(LCP+100ms・おすすめCTRの週次報告)を先に置き、
各Non-Goalに理由と再検討の条件、測定を壊すN3を追加。
外せる作りをGoalに入れ、8/3に+1.6pt未満なら8/10に外す。冒頭は「森さんに決めていただきたい2点」。置き場所A/B/Cを
「おすすめへの影響」と「8/3に届くか」の両方で比較、推奨C。
見分けられる最小の差(−0.8pt/0.14pt)を明かし、既定は1/26 12:00。"if possible", "may consider", "handled flexibly":
scope has no edge.
"Please keep to the schedule" replaces a reason.Goals / Non-goals / Success metrics in place.
Non-goals are bare nouns: no "why", no "not now vs never".
"Increase in" is a direction, not a metric.Guardrails for the page owner come first.
Each non-goal has "why -> when we would revisit"; N3 added.
Removability is a goal; decision rule +1.6pt on 3 Aug."Decisions requested" first; placement A/B/C with the
owner's cost as a column. States what cannot be detected.
Default: Option C at noon on 26 Jan.2. スコープ
・購入完了画面にLINE連携バナーを表示する
・デザインは別途共有するFigmaを参照
・文言はマーケと調整のうえ決定
・効果測定ができるようにしておく
・アプリについても可能であれば対応
・将来的には連携特典(クーポン等)や
LINEログインとの統合も視野に入れる
・その他、必要に応じて柔軟に対応する
スケジュール: 5月GW明けリリース
備考: 中期計画で決まった施策のため、
スケジュール厳守でお願いします2. Scope
- Show a LINE link banner on the order-complete page
- Design: see the Figma file (to be shared)
- Copy to be finalized with Marketing
- Make sure it can be measured
- Support the app as well if possible
- In the future, we may also consider link incentives
(coupons, etc.) and integration with LINE Login
- Other items will be handled flexibly as needed
Schedule: release after Golden Week in May
Note: This is a mid-term plan initiative,
so please keep to the schedule."if possible" "may also consider" "handled flexibly as needed" は、英語の仕様書では範囲が決まっていない合図(scope creep の入口)として読まれる。"please keep to the schedule" は理由の代わりに圧をかけていて、他チームへの依頼文としては逆効果。
2. スコープ
2.1 Goals
G1 購入完了画面(Web)にLINE ID連携の導線を表示する
G2 表示対象: ログイン会員かつLINE未連携の購入者
G3 対照群10%には表示しない(効果測定のため)
G4 2029/5/7にリリースする
2.2 Non-Goals
・アプリ(iOS/Android)への対応
・連携特典(クーポン・ポイント)
・LINEログイン(LINEでの会員登録・ログイン)
・文言・デザインの多パターンテスト
2.3 成功指標
・ID連携率の向上(中期計画: FY2029末 42%)Badから何が変わったか:
- ②読み手適合が動いた。PRDの標準の型(Goals / Non-Goals / 成功指標)に揃い、開発者が慣れた形で読める
- ④次の行動が動いた。対象者、対照群10%、公開日が具体的になり、見積もりの前提ができた
- ⑤想定反論が少し動いた。Non-Goalsの欄ができ、アプリ・特典・LINEログインが範囲外だと分かる
- 社内のPRD書式があれば、これで提出できる。 多くのPRDはこの水準で着手される
まだ足りないもの(ここが今日の本題):
- Non-Goalsが名詞だけ。 関課長に「なぜクーポンをつけないのか」と言われたとき、森さんが自分で答えられない。結局、宮田に確認が回り、その間に「とりあえず枠だけ」で入る
- 「今回はやらない」と「やらないと決めた」が区別されていない。 アプリは効果が出たら次にやる。LINEログインはこの件では扱わない。同じ箇条書きに並ぶと、関係者には全部「いつかやる」に見える
- 一番危ない「ついでに」が抜けている。 マイページ担当の「バナーも新しく」は、対照群の人にも効いて、差が測れなくなる。Goodの4項目は「よく出る要望」で、今回の測定を壊す要望ではない
- 画面の持ち主が守りたいもの(おすすめ商品の売上、表示速度)がない。 森さんが最も気にすることに、何も約束していない
- 成功指標が「向上」。 8/3にどれだけの差なら続けるのかがなく、Day018で決めた判定とつながっていない。外す作業の扱いもない
2. Scope
2.1 Goals
G1 Show a LINE ID-link prompt on the order-complete page (web)
G2 Audience: logged-in members not yet linked to LINE
G3 Hold out 10% (not shown) for measurement
G4 Release on 7 May 2029
2.2 Non-goals
- iOS/Android app support
- Link incentives (coupons, points)
- LINE Login (sign-up/sign-in with LINE)
- Multivariate tests of copy and design
2.3 Success metrics
- Increase in ID-link rate (mid-term plan: 42% by end FY2029)Goals / Non-goals / Success metrics の英文PRDの標準の型は揃っている。ただし Non-goals が名詞だけで、英語圏の開発者がまず聞く "Why not?" と "Is this 'not now' or 'never'?" に答えていない。"Increase in" は指標ではなく方向。
2. スコープ(購入フローチーム 森さんへ)
やること(5/7公開・Webのみ)
G1 ログイン会員・LINE未連携の購入者に、購入完了画面で連携導線を出す
G2 対象者の10%には出さない(対照群)。振り分けは会員IDで固定
G3 管理画面の設定1つで、当日中に全員から消せる作りにする
守ること(購入フローチームの指標)
・購入完了画面のLCP(p75)の悪化は+100ms以内。導線の読込に失敗したら何も出さない
・おすすめ商品のクリック率(今6.0%)を、対照群と比べて毎週MOpsが報告する
やらないこと(理由 → 再検討の条件)
N1 アプリ対応 — リリース周期と審査が別 → 8/3に効果が確定したら別PRD
N2 連携特典 — 特典目当ての連携は、1人年940円の前提と別の人になる → 8/3以降
N3 他の連携導線の追加・改修(マイページ・メール) — 対照群にも効き差が測れない → 8/3まで凍結
N4 文言・色の多パターンテスト — 12週で測れる差は1つ → 8/3以降
N5 LINEログイン — 認証基盤の改修で別の案件。このPRDでは扱わないと決めた
判定: 8/3に、出した群と出さない群の「14日以内の連携率」の差が+1.6pt未満なら、8/10までに外すGoodから何が変わったか(★ここが今日の学習の中心):
読み手プロファイルの各項目に、変更を1対1で対応させている。
| 読み手プロファイルの項目 | Betterで行った変更 |
|---|---|
| 森さんが気にすること「おすすめ商品の売上で責められないか」「表示が遅くならないか」 | 「守ること」の段を新設し、Goalsより前に読まれる位置(やることの直後)に置いた。LCP+100ms以内、読込失敗時は何も出さない、おすすめのクリック率をMOpsが毎週報告する。画面の持ち主の指標を、載せる側が測って返す形にした |
| 森さんが気にすること「8/3にやめるとき、外す作業が残る」 | G3「設定1つで当日中に消せる」をGoalに入れた。 外しやすさを後で頼むのではなく、最初から作るものの一部にした。判定の行で「8/10までに外す」と期日も書いた |
| 森さんが知らないこと「なぜ対照群が要るか」 | N3の理由に「対照群にも効き差が測れない」と書き、対照群がNon-Goalsを決める理由になっていることを見せた。用語の解説を足すより、判断の中で使って見せた |
| 森さんが判断すること「ついでにを断ってよいか」 | 各Non-Goalに理由と再検討の条件をつけた。森さんは「8/3以降に別PRDで」と自分で返せる。N5だけは「扱わないと決めた」と書き、「今回はやらない」(N1〜N4)と区別した |
| 一番危ない「ついでに」 | N3(他の連携導線)を足した。 よく出る要望ではなく、今回の測定を壊す要望。Goodの4項目にはなかった |
| 成功指標「向上」 | 判定の1行で、指標(14日以内の連携率の差)・閾値(+1.6pt)・日(8/3)・満たさないときの動き(8/10までに外す)を書いた |
Non-Goalsの「理由」は誰のために書くのか: 書き手のためではなく、書き手がいない場で、読み手が断るために書く。森さんのチームには、宮田より先に「ついでに」の依頼が届く。理由のないNon-Goalは、依頼の前で1日ももたない。
それでも残っている問題(Bestで扱う):
- 導線をどこに置くかが決まっていない。 おすすめ商品の上か下かで、連携率もおすすめの売上も変わる。これは画面の持ち主の森さんが決めることで、宮田が黙って決められない
- 「おすすめのクリック率を毎週報告」しても、どれだけ下がったら何をするかがない。 しかも、4週の対照群7,500人で見分けられる差には下限がある(下の〔導出〕で−0.8pt)。それより小さな低下は、報告しても見分けられない
- N3は、森さんのチームではなくマイページ担当が守る必要がある。 森さんが承認しても、他のチームを縛れない
- 決まらなかったときの動きがない。 1/24に決まらなければ、2/5着手が止まる
ここで動いた軸: ②読み手適合(守ること・外せる作り・断るための理由)、⑤想定反論(「ついでに」への先回り、測定を壊す要望の特定)、④次の行動(判定と外す期日)。
2. Scope (for Mr. Mori, Checkout Flow team)
Goals (web only, live 7 May)
G1 Show the link prompt on the order-complete page to logged-in members not linked to LINE
G2 Hold out 10% of them, assigned by member ID and fixed for the test
G3 One admin setting must remove the prompt for everyone the same day
Guardrails (Checkout Flow team metrics)
- Order-complete page LCP (p75) must not worsen by more than 100 ms; if the prompt fails to load, show nothing
- MOps reports the recommendation click-through rate (6.0% today) against the holdout every week
Non-goals (why -> when we would revisit)
N1 App support - separate release cycle and store review -> separate PRD if 3 Aug confirms the effect
N2 Link incentives - incentive-driven linkers are not the users behind the JPY 940/year assumption -> after 3 Aug
N3 Adding or changing other link entry points (My Page, email) - would reach the holdout and erase the difference -> frozen until 3 Aug
N4 Copy/colour variants - 12 weeks can measure one difference -> after 3 Aug
N5 LINE Login - an auth-platform change; a separate project. Not in this PRD, by decision
Decision rule: on 3 Aug, if the 14-day link-rate gap (shown vs holdout) is under +1.6pt, we remove the prompt by 10 Aug."Guardrails" は、英文PRDで「この機能が壊してはいけない他の指標」を書く定型の見出し。Non-goals に "why -> when we would revisit" をつけ、N5だけ "by decision" で「今回だけではない」ことを区別した。"must" は守る条件にだけ使った(RFC 2119 の用法に近い。出典は設計メモ)。
1/24(水)の確認会で、森さんに決めていただきたいこと(2点)
① 導線の置き場所(案: C)
案 置き場所 連携率の差(見込み) おすすめ商品への影響 8/3の判定(+1.6pt)
A おすすめ商品の上 +2.0pt〔仮定〕 下がっても戻す条件がない 届く見込み
B おすすめ商品の下 +0.9pt〔導出: 見る人45%〕 ほぼなし 届かない見込み→8/10に外す
C Aの位置で始め、4週で見直す +2.0pt〔仮定〕 6/4に対照群比−0.8pt以下なら、Bの位置へ移す 届く見込み
※−0.8ptは、4週・対照群7,500人で見分けられる最小の差。これより小さな低下は見分けられない
② やらないこと5つ(N1〜N5)を、依頼が来たとき「このPRDの対象外」と返してよいか
N3(8/3まで他の連携導線を触らない)は、マイページ担当にも守っていただく。宮田が1/26までに依頼する
外せる作り: 設定1つで当日中に全員から消せること(G3)は必須。8/3に+1.6pt未満なら8/10までに外す
検出力: 12週・対照群1.9万人で、連携率の差は0.14ptまで見分けられる(判定に要る差は1.6pt)
決まらなかったら: 1/26(金)12:00 に案Cで設計に入るBetterから何が変わったか:
- ①結論の位置が動いた。冒頭を「森さんに決めていただきたいこと(2点)」にし、置き場所の3案と推奨を先に出した
- ②読み手適合が動いた。表の列を森さんの判断基準そのもの(おすすめ商品への影響)と、宮田側の判断基準(8/3の判定に届くか)の両方にした。どちらか一方だけを見せると、相手の損を隠すことになる
- ③事実と解釈の分離が動いた。「おすすめのクリック率を見張る」に、見分けられる最小の差(−0.8pt)を書いた。それより小さな低下は見張っても見分けられないことを、自分から明かした。Day018で残した検出力の穴も、ここで埋めた(判定に要る1.6ptに対し、見分けられるのは0.14pt)
- ④次の行動が動いた。6/4の見直し、N3をマイページ担当に依頼する人と期日(宮田・1/26)、決まらなかったときの既定(1/26 12:00に案C)
- ⑤想定反論が動いた。「上に置けばおすすめが下がる」には案Cの戻す条件で、「下なら影響はない」には案Bでは判定に届かないことで先回りした
Bestの方が短い理由(行数で。実測 Bad12・Good13・Better15・Best12行。ただし字数ではBest692字>Better572字で最長): Betterの「やらないこと」5行は、Bestでは「N1〜N5を対象外と返してよいか」の1行になり、中身は全文(3章)へ移した。森さんがその場で決めるのは一覧の承認であって、一覧を読むことではない。代わりに、置き場所の3案と、N3を誰が守るかを足した。
今回はBestまで作るべきか: Best必要。他部署の画面に載せてもらうPRDで、置き場所は画面の持ち主の指標と、こちらの判定の両方を動かす。この判断は森さんにしかできない。 ただし、MOpsの持ち物の画面(配信設定画面など)の改修PRDなら、Betterで十分(持ち主との交渉がなく、置き場所も自分で決められる)。
Decisions requested at the 24 Jan meeting (2)
1. Where the prompt goes (we recommend C)
Opt Placement Link-rate gap (est.) Effect on recommendations 3 Aug rule (+1.6pt)
A Above recommendations +2.0pt [assumed] No condition to roll back if it drops Likely met
B Below recommendations +0.9pt [derived: 45% see it] Negligible Likely missed -> removed 10 Aug
C Start at A; review at week 4 +2.0pt [assumed] If CTR is down 0.8pt or more vs holdout on 4 Jun, move to B Likely met
* 0.8pt is the smallest drop we can detect at week 4 with a 7,500 holdout. Smaller drops will not be visible.
2. May your team answer "out of scope for this PRD" to requests covered by N1-N5?
N3 (no other link entry points until 3 Aug) also binds the My Page team. Miyata will ask them by 26 Jan.
Removability: G3 (one setting removes it for everyone the same day) is required. Under +1.6pt on 3 Aug -> removed by 10 Aug.
Power: with a 19,000 holdout over 12 weeks we can detect a 0.14pt link-rate gap (the rule needs 1.6pt).
If undecided: we start design on Option C at noon on 26 Jan."Decisions requested" で始め、案の表に相手の損(Effect on recommendations)を自分から列にした。"Smaller drops will not be visible." は、測定の限界を先に言う英文の型で、相手の不信を先回りして下げる。"If undecided" で既定を置くのは、日本語版と同じ。
日英差分ノート
1. 「将来的に視野に入れる」は、日本語では断り、英語では約束に近い
日本語の「将来的には〜も視野に入れる」は、多くの場合今回はやらないという婉曲として通じる。英語の "we may also consider" をPRDに書くと、英語圏の開発者には「範囲に入る可能性がある」=未決として読まれ、見積もりに乗せるか確認が来る。英語版では "Non-goal"(やらないと決めた) と "not in this release; revisit after 3 Aug"(今回はやらない) を書き分ける。日本語版でも同じ区別をする(N5と、N1〜N4)方が誤解が少ない。
2. 「柔軟に対応」は、英語の仕様書では危険信号
「必要に応じて柔軟に対応する」は、日本語では協力的な姿勢の表明として好意的に読まれる。英語の "handled flexibly as needed" は、範囲に上限がないことの宣言で、開発側から見ると scope creep の入口になる。英語版では書かない。日本語版でも、柔軟さは「再検討の条件」として具体的に書く。
3. 「お願いします」の圧と、"must" の置き場所
日本語の「スケジュール厳守でお願いします」は丁寧語でも、理由なしに他部署へ求めれば圧になる。英語では "must" を自分たちが守る条件(Guardrails・Removability)に使い、相手への依頼は "May your team ...?" と許可を求める形にする。強い言葉は自分の約束に、弱い言葉は相手への依頼に、という配分は日英共通で効く。
頻出表現
| 日本語 | English | トーンの強さ |
|---|---|---|
| やらないこと(決めた) | non-goal / explicitly out of scope | 強い。理由を添える |
| 今回はやらない | not in this release / deferred | 中立。再検討の条件を添える |
| 再検討する条件 | we would revisit if / when | 中立 |
| 守ること(他の指標) | guardrail metrics / guardrails | 強い。閾値とセットで |
| 対照群 | holdout (group) / control | 中立・専門用語 |
| 外せる作り | removability / kill switch | 中立。"kill switch" は口語寄り |
| 見分けられる最小の差 | minimum detectable effect (MDE) | 中立・専門用語 |
| 視野に入れる | may consider | 弱い。英文PRDでは未決と読まれるので避ける |
| 柔軟に対応 | handled flexibly | 弱い・危険。英文仕様書では書かない |
差分5軸まとめ
| 軸 | Bad | Good | Better | Best |
|---|---|---|---|---|
| ① 結論の位置 | 作るものの箇条書きだけ | Goalsが先頭 | やること→守ること→やらないことの順 | 冒頭が「決めていただきたい2点」と推奨 |
| ② 読み手適合 | 載せる側の都合だけ | PRDの標準の型に揃えた | 画面の持ち主の指標を「守ること」として先に置き、外せる作りをGoalに入れた | 案の表に、森さんの損と宮田側の判定の両方を列にした |
| ③ 事実と解釈の分離 | 「効果測定ができるように」 | 対照群10%と書いた | 判定の指標・閾値・日を書いた | 見張っても見分けられない差(−0.8pt未満)と、判定の検出力(0.14pt)を明かした |
| ④ 次の行動 | 「柔軟に対応」 | 公開日と対象者 | 8/3に+1.6pt未満なら8/10までに外す | 6/4の見直し、N3を他チームへ頼む人と期日、1/26 12:00の既定 |
| ⑤ 想定反論 | 無視(「厳守で」) | Non-Goalsを4つ名詞で | 各Non-Goalに理由と再検討の条件。測定を壊すN3を特定 | 置き場所の3案の代償で、「上は困る」「下なら安全」の両方に先回り |
Best版・全文
日本語版 全文を見る
PRD: 購入完了画面のLINE ID連携導線(Web) 2029年1月19日 MOps 宮田 宛先: 森さん(サイト開発部 購入フローチーム) 写し: 高梨部長(販促システム部)
1. 1/24(水)15:00の確認会で、森さんに決めていただきたいこと(2点)
① 導線の置き場所(案: C)
| 案 | 置き場所 | 連携率の差(見込み) | おすすめ商品への影響 | 8/3の判定(+1.6pt) |
|---|---|---|---|---|
| A | おすすめ商品の上 | +2.0pt〔仮定〕 | 下がっても戻す条件がない | 届く見込み |
| B | おすすめ商品の下 | +0.9pt〔導出: 下まで見る人45%〕 | ほぼなし | 届かない見込み。8/10に外す |
| C(推奨) | Aの位置で始め、4週で見直す | +2.0pt〔仮定〕 | 6/4に対照群比−0.8pt以下なら、Bの位置へ移す | 届く見込み |
※−0.8ptは、4週・対照群7,500人で見分けられる最小の差〔導出〕。これより小さな低下は見分けられない。おすすめ商品経由の売上は月約1,200万円で、−0.8pt(相対で約13%)なら月約160万円にあたる〔導出〕。
② やらないこと5つ(3章のN1〜N5)について、購入フローチームに依頼が来たとき「このPRDの対象外」と返してよいか。N3はマイページ担当にも守っていただく必要があり、宮田が1/26(金)までに依頼する。
決まらなかったら: 1/26(金)12:00 に案Cで設計に入る。
2. なぜ作るか(背景を3行で)
- 2028/8の中期経営計画で、FY2029末にLINEのID連携率を37.5%→42%にすると決めた。連携した人だけに、カート放棄のお知らせなど個別の配信が届く
- 売上は「配信しなかった10%の対照群との差(増分)」で測る。1人あたり年940円の増分を前提にしている〔仮定: 2028/9以降の実測で更新〕
- 2029/8/3に、導線を見せた人と見せない人の差で、続けるか止めるかを判定する
3. スコープ
やること(5/7公開・Webのみ)
- G1 ログイン会員・LINE未連携の購入者に、購入完了画面で連携導線を出す(1日約4,000人)
- G2 対象者の10%には出さない(対照群)。振り分けは会員IDで固定し、期間中は変えない
- G3 管理画面の設定1つで、当日中に全員から消せる作りにする
守ること(購入フローチームの指標)
- 購入完了画面のLCP(p75)の悪化は+100ms以内。導線の読込に失敗したら何も出さない(購入完了の表示を待たせない)
- おすすめ商品のクリック率(今6.0%)を、対照群と比べてMOpsが毎週月曜に報告する。6/4(4週)に−0.8pt以下なら、案Cの約束どおりBの位置へ移す
やらないこと
| # | やらないこと | 理由 | 再検討の条件 |
|---|---|---|---|
| N1 | アプリ(iOS/Android)対応 | リリース周期とストア審査が別。5/7に間に合わない | 8/3に効果が確定したら、アプリ開発チームと別PRD |
| N2 | 連携特典(クーポン・ポイント) | 特典目当ての連携は、1人年940円の前提と別の人になり、増分の見込みが崩れる | 8/3以降に、特典ありの群を別に設けて試す |
| N3 | 他の連携導線の追加・改修(マイページ・メール) | 対照群の人にも効き、導線の差が測れなくなる | 8/3まで凍結。判定後は自由 |
| N4 | 文言・色の多パターンテスト | 12週・対照群1.9万人で測れる差は1つ | 8/3以降 |
| N5 | LINEログイン(LINEでの会員登録・ログイン) | 認証基盤の改修で、別の案件 | このPRDでは扱わないと決めた |
4. 成功の測り方と判定
- 指標: 対象者の 14日以内のID連携率。出した群と出さない群(対照群)の差で見る。今の連携率は0.4%〔仮定〕
- 判定: 2029/8/3(金)。12週(5/7〜7/30)の差が +1.6pt以上なら続ける。未満なら8/10(金)までに外す。期間を延ばして再判定しない
- +1.6ptの根拠〔導出〕: 中期計画の判定基準(12週で連携率+1.1pt)を、友だち約24.5万人×1.1pt=約2,700人の追加連携に直し、12週で導線を見る約17.1万人で割った値
- 検出力〔導出〕: 12週・対照群1.9万人・表示群17.1万人・今の連携率0.4%で、5%水準・検出力80%で見分けられる差は 0.14pt。判定に要る1.6ptより十分小さい(Day018で4/23までとした計算はここで済ませた)
- おすすめ商品のクリック率は、4週・対照群7,500人で見分けられる差が−0.8pt、12週・1.9万人で−0.5pt〔導出〕
5. 日程
| 日付 | 内容 | 担当 |
|---|---|---|
| 1/24(水)15:00 | 確認会(置き場所とN1〜N5) | 森・宮田 |
| 1/26(金) | N3をマイページ担当へ依頼 | 宮田 |
| 2/5(月) | 開発着手(3人月) | 購入フローチーム |
| 5/7(月) | 公開 | 購入フローチーム |
| 6/4(月) | 4週の見直し(おすすめのクリック率) | 宮田が報告、森さんが判断 |
| 8/3(金) | 判定 | 宮田 |
| 8/10(金) | 未達なら外す(G3の設定で) | 購入フローチーム |
6. まだ決まっていないこと
- 導線の文言とデザイン: 2/16(金)までにMOpsが案を出し、購入フローチームのデザイナーと決める(N4のとおり1案だけ)
- 対照群の振り分けを、既存のA/Bテスト基盤で行えるか: 森さんのチームに1/24に確認する
English 全文を見る
PRD: LINE ID-link prompt on the order-complete page (web) 19 January 2029 Miyata, MOps To: Mr. Mori (Checkout Flow team, Site Development) Cc: Mr. Takanashi (Promotion Systems)
1. Decisions requested at the 24 January (Wed) 15:00 meeting (2)
- Where the prompt goes (we recommend C)
| Option | Placement | Link-rate gap (est.) | Effect on recommendations | 3 Aug rule (+1.6pt) |
|---|---|---|---|---|
| A | Above recommendations | +2.0pt [assumed] | No condition to roll back if it drops | Likely met |
| B | Below recommendations | +0.9pt [derived: 45% scroll that far] | Negligible | Likely missed; removed on 10 Aug |
| C (recommended) | Start at A; review at week 4 | +2.0pt [assumed] | If CTR is down 0.8pt or more vs holdout on 4 Jun, move to B | Likely met |
* 0.8pt is the smallest drop we can detect at week 4 with a 7,500 holdout [derived]. Smaller drops will not be visible. Recommendation revenue is about JPY 12M a month; a 0.8pt drop (about 13% relative) would be about JPY 1.6M a month [derived].
- May your team answer "out of scope for this PRD" to requests covered by N1-N5 (section 3)? N3 also binds the My Page team; Miyata will ask them by 26 Jan (Fri).
If undecided: we start design on Option C at noon on 26 Jan (Fri).
2. Why we are building this (three lines)
- The mid-term plan agreed in Aug 2028 raises the LINE ID-link rate from 37.5% to 42% by end FY2029. Only linked users receive one-to-one messages such as cart reminders
- Revenue is measured as incremental: the difference from a 10% holdout that is not messaged. We assume JPY 940 per linked user per year [assumption; updated with actuals from Sept 2028]
- On 3 Aug 2029 we decide whether to keep or stop the prompt, based on shown vs holdout
3. Scope
Goals (web only, live 7 May)
- G1 Show the link prompt on the order-complete page to logged-in members not linked to LINE (about 4,000 a day)
- G2 Hold out 10% of them, assigned by member ID and fixed for the test
- G3 One admin setting must remove the prompt for everyone the same day
Guardrails (Checkout Flow team metrics)
- Order-complete page LCP (p75) must not worsen by more than 100 ms. If the prompt fails to load, show nothing; the order confirmation never waits for it
- MOps reports the recommendation click-through rate (6.0% today) against the holdout every Monday. If it is down 0.8pt or more on 4 Jun (week 4), we move the prompt to position B as promised under Option C
Non-goals
| # | Non-goal | Why | When we would revisit |
|---|---|---|---|
| N1 | iOS/Android app support | Separate release cycle and store review; cannot make 7 May | Separate PRD with the app team if 3 Aug confirms the effect |
| N2 | Link incentives (coupons, points) | Incentive-driven linkers are not the users behind the JPY 940/year assumption | After 3 Aug, as a separate test arm |
| N3 | Adding or changing other link entry points (My Page, email) | Would reach the holdout and erase the measurable difference | Frozen until 3 Aug; free afterwards |
| N4 | Copy/colour variants | 12 weeks with a 19,000 holdout can measure one difference | After 3 Aug |
| N5 | LINE Login (sign-up/sign-in with LINE) | An auth-platform change; a separate project | Not in this PRD, by decision |
4. How we measure success, and the decision rule
- Metric: 14-day ID-link rate of the target users, compared between shown and holdout. Today's rate is 0.4% [assumed]
- Decision: 3 Aug 2029 (Fri). If the 12-week gap (7 May-30 Jul) is +1.6pt or more, we keep it. If less, we remove it by 10 Aug (Fri). No extension, no re-test
- Where +1.6pt comes from [derived]: the mid-term plan's rule (+1.1pt link rate in 12 weeks) is about 2,700 extra linked users on a base of about 245,000 friends; divided by the about 171,000 users who see the prompt in 12 weeks
- Power [derived]: with 19,000 in holdout, 171,000 shown, and a 0.4% baseline, the minimum detectable gap at 5% significance and 80% power is 0.14pt, well below the 1.6pt the rule needs
- For recommendation CTR, the detectable drop is 0.8pt at week 4 (7,500 holdout) and 0.5pt at week 12 (19,000) [derived]
5. Timeline
| Date | What | Owner |
|---|---|---|
| 24 Jan (Wed) 15:00 | Review: placement and N1-N5 | Mori, Miyata |
| 26 Jan (Fri) | Ask the My Page team to observe N3 | Miyata |
| 5 Feb (Mon) | Build starts (3 person-months) | Checkout Flow team |
| 7 May (Mon) | Live | Checkout Flow team |
| 4 Jun (Mon) | Week-4 review of recommendation CTR | Miyata reports, Mori decides |
| 3 Aug (Fri) | Decision | Miyata |
| 10 Aug (Fri) | Remove if the rule is missed (via G3 setting) | Checkout Flow team |
6. Open questions
- Prompt copy and design: MOps proposes by 16 Feb (Fri) and agrees one version with the Checkout Flow designer (one version only, per N4)
- Whether the holdout can run on the existing A/B testing platform: to confirm with Mr. Mori's team on 24 Jan
完成の定義チェックリスト
PRDを出す前に必ず確認する。「雑・妥協」を防ぐための外部基準。1つでも未チェックがあれば、まだ出さない。
今日の演習
Bad例の最後の3行「アプリについても可能であれば対応」「将来的には連携特典(クーポン等)やLINEログインとの統合も視野に入れる」「その他、必要に応じて柔軟に対応する」だけを、Non-Goals 3行に書き直す。条件: 各行を「やらないこと — 理由 → 再検討の条件」の形にする。そのうち1行は「やらないと決めた」(再検討しない)にする。
読み手を変えて、同じPRDの「やらないこと」の部分を、マーケの関課長向けに書き直す。 関課長は「連携したら300円クーポン」を推している本人で、N2で断られる側。条件: ①N2を冒頭に出し、なぜ今回は入れないかを関課長の指標(販促の売上)の言葉で書く。②8/3以降にクーポンを試すなら、どういう設計(特典ありの群を別に設ける)で、いつから可能かを1〜2行で示す。③300円×連携数の費用と、1人年940円の増分を比べて、特典が元を取れる条件(例: 特典で連携した人の増分が年300円を超えるか)を〔仮定〕つきで1行に。④Betterで止めるか、Bestまで書くかを理由つきで決める。
取り組む前のヒント
- Non-Goalsを書く前に、「誰がこれを言い出すか」を人の名前で書き出す。名前が浮かばない項目は、Non-Goalsに入れる必要がない
- 次に、今回の測定や前提を壊す要望を探す。よく出る要望より、こちらの方が危ない(今日のN3)
- 「やらない」の理由は、相手の言葉で書く。開発チームには工数と測定、マーケには売上の前提
- 罠: 「将来検討」「別途」で終わらせない。再検討の日か条件を書かないと、相手には「永久に却下」か「いつかやる」のどちらかに読まれる
- 罠: 他部署の画面に載せるのに、持ち主の指標を守る条件を書かずに出さない。Goalsを読む前に、持ち主はそこを探している
実務での使いどころ
PRDは、企画書(企画・プロダクト#1、Day002)で「なぜやるか」が承認された後に書き、デザイン・設計書(IT-要求・設計の機能要件定義書・Design Doc)の前に置く。今日のPRDは、中期経営計画(Day018)の打ち手を、作る人の言葉に降ろしたもので、「判定の基準」はDay018から、「対照群」はDay008から引き継いでいる。続編として、リリースノート(#7)は5/7公開時に会員向けに「連携すると何が届くか」を書く回にでき、Kill判断資料(#8)は8/3に+1.6pt未満だった場合の撤退提案として書ける(今日の「外せる作り」が、そこで効く)。プロダクトロードマップ(#6)は、N1・N2・N4の「8/3以降」を、日付を約束せずに並べる回になる。
この回の設計メモ(迷った他案・扱わなかった範囲・出所)
迷った他案と採らなかった理由
- 比較するセクションを「成功指標」にする案 — 判定の基準はDay018で決めたので、今回の新しい学びが薄い。勝負どころ(Non-Goals)を直接比べる「スコープ」にした。成功指標はBetter・Bestの判定の1行と、全文の4章に入れた
- 読み手をMOpsのエンジニア(自チーム)にする案 — Lv2(他部署)に合わない。それに、自チームなら置き場所の交渉が要らず、Bestの判断がなくなる。画面の持ち主が別のチームという設定にすることで、Guardrailsと置き場所の判断が自然に出る
- 案Bを推奨にする案 — 森さんには最も楽で、おすすめ商品への影響もない。ただし +0.9pt〔導出〕で、8/3の判定(+1.6pt)に届かない見込みが計算の段階で分かっている。作って、届かないと分かっていて、外すことになる。前提(下まで見る人45%)が実測で70%以上なら +1.4pt になり、Bも選択肢に戻る
- Non-Goalsを10項目以上並べる案 — 網羅的に見えるが、誰も言い出さないこと(例: 決済方法の変更)が混ざると、本当に断る必要のある5つが薄まる。「誰が言い出すか」を名前で言えるものだけにした
- おすすめ商品への影響を「売上」で見張る案 — 森さんの指標はそちらだが、売上は1人ごとのばらつきが大きく、4週の対照群では見分けられる差がさらに大きくなる(計算していない。クリック率の0.8ptより粗いのは確実)。見分けやすいクリック率を見張り、売上への換算(月約160万円)を併記した
- Betterで置き場所の3案まで出す案 — Bestとの差がなくなるため、Betterは「守ること・やらないことの理由・判定」にとどめた
扱わなかった範囲
- 導線の文言・デザイン・画面遷移(全文の「まだ決まっていないこと」に回した。PRDではなくデザインで決める)
- LINEの連携の技術的な仕組み(LINEログインのAPI、友だち追加の同意取得)。N5で扱わないと決め、外部仕様の確認もしていない
- 個人情報・同意の扱い(会員IDとLINEのユーザーIDを結びつけることの利用目的の明示など)。このスキルは法的助言ではない。実務では法務とプライバシー担当の確認が要る
- おすすめ商品の売上で見たときの検出力(上のとおり未計算)
- 12週のあいだに季節要因(GW明け〜夏)で連携率が動く影響。対照群との差で見るので、両群に同じように効く分は打ち消される前提
数字と概念の出所
- 会社・人物・日付はすべて架空。新登場: サイト開発部 購入フローチームのリード・森さん
- 〔仮定〕(シナリオ内で置いた値): 対象者1日約4,000人・12週で重複除き約19万人・4週で約7.5万人、今の14日以内連携率0.4%、おすすめ商品のクリック率6.0%・経由売上 月約1,200万円、案A・Cの連携率の差+2.0pt、下まで見る人45%、1人年940円(Day018から引き継ぎ)、友だち約24.5万人(Day018のFY2028末23.4万とFY2029末25.8万の間)
- 〔導出〕は作成時に Python で計算した: 判定に要る差=0.011×245,000÷171,000=1.58pt→1.6pt。検出力は2群の比率の差の正規近似(α=0.05両側・検出力0.8)で、連携率0.4%・対照群19,000・表示群171,000 → 0.135pt。クリック率6.0%・4週(対照群7,500・表示群67,500)→ 0.81pt、12週 → 0.51pt。案Bの+0.9pt=2.0pt×45%。月約160万円=1,200万円×0.8÷6.0。曜日(2029/1/19金・1/24水・1/26金・2/5月・5/7月・6/4月・7/30月・8/3金・8/10金)は作成時に確認した
- Non-Goalsの定義("things that could reasonably be goals, but are explicitly chosen not to be goals"): Malte Ubl "Design Docs at Google"(https://www.industrialempathy.com/posts/design-docs-at-google/)。2026-10-04 の作成時にページを取得して確認した
- Guardrail metrics(壊してはいけない指標)の考え方、LCPのp75で見る慣行(Core Web Vitals)、RFC 2119 の "must" の用法は、一般的な実務知識として書いた。出典ページは今回取得していない(記憶による)
- 分量(行数)は、各コードブロックの行数を作成後にスクリプトで数えた実測値
何が起きているか:
これは怠慢ではなく、「PRDは作るものを書く文書」という通念から生まれる形である。書き手の頭の中では「アプリは当然あと回し」と決まっているが、書かなければ読み手には「やるかもしれない」に見える。