Layer 2/3 イベント定義 / MARK-22
「Quick Win」 の先を計測する
価値の 3 層モデル — Layer 2/3 実装仕様
Layer 1(Quick Win)は計測済み。 Layer 2(7 日以内の業務組み込み)/ Layer 3(30 日以降の習慣化)は未計測 = 改善の出発点が決まらない状態。 本書でその計測仕様を確定し、 MARK-44 観察モードと接続する。
4 つの数字で見る
Layer 2 イベント数
9
初日〜 7 日以内の業務組み込み兆候を捉える
Layer 3 イベント数
8
30 日以降の習慣化 + チーム浸透を捉える
到達判定
3 以上
各 Layer 内で 3 種類以上のイベントを達成 = Layer 到達
v2.0 後 目標
40%
v2.0 リリース後の Layer 2 到達率目標(現状は未計測)
decision-log/2026-05-11-ttv-redefinition.md で確定
9 イベント定義(初日〜 7 日以内)
| イベント名 | 発火タイミング | 主要プロパティ | Layer 2 判定基準 |
|---|---|---|---|
40_item_count_threshold | アイテム数が閾値を超えた | count ∈ {10, 50, 100} | 10 個以上で業務データを入れ始めた |
40_folder_created | フォルダを新規作成 | folder_depth ∈ {1, 2, 3+} | 階層フォルダ = 整理意識が芽生えた |
40_attribute_customized | カスタム属性追加 / 編集 | is_custom ∈ {true, false} | 業種固有の属性を追加 = 業務に合わせた |
40_csv_import_success | CSV インポート完了 | imported_count, column_count | 一括投入 = Excel からの本格移行 |
40_in_out_recorded_5x | 入出庫を 5 件以上記録 | cumulative_count | 単発でなく業務に組み込み |
40_invite_member_accepted | 招待したメンバーが参加 | inviter_id, invited_count | チーム共有が始まった |
40_alert_configured | 在庫アラート設定 | alert_count | しきい値管理が動いた |
40_barcode_scanned | バーコードスキャン(v0.2: 生成→スキャン体験に修正) | source ∈ {qr_scan, check_qr_scan} | 実機スキャン体験完了 = 在庫管理が手に乗った |
40_revisit_within_7d | 7 日以内 2 回目以降のセッション | session_number ∈ {2, 3, 4+} | 再訪 = 興味継続(3 回以上) |
Layer 2 到達判定(v0.2 追加 — 根拠明記)
サインアップ後 7 日以内に上記 9 件のうち 3 種類以上を達成 = Layer 2 到達。
判断根拠: PLG 本「顧客が価値を感じるには複数の接点が必要」 原則。 1 つでは浸透が浅く、 5 つ以上はハードルが高すぎる。 中間値の 3 を初版として採用。 実データ取得後(v0.3)に 2-4 の範囲で調整可能。
判断根拠: PLG 本「顧客が価値を感じるには複数の接点が必要」 原則。 1 つでは浸透が浅く、 5 つ以上はハードルが高すぎる。 中間値の 3 を初版として採用。 実データ取得後(v0.3)に 2-4 の範囲で調整可能。
8 イベント定義(30 日以降)
| イベント名 | 発火タイミング | 主要プロパティ | Layer 3 判定基準 |
|---|---|---|---|
50_continuous_login_14d | 過去 14 日中 7 日以上ログイン | login_days_in_14d | 半数以上の日数で開いている |
50_monthly_active_team | 過去 30 日中 3 人以上が活動 | active_member_count | チームに浸透 |
50_item_count_500 | アイテム数 500 件以上 | total_count | 本格運用のスケール |
50_csv_export_executed | Excel / CSV エクスポート実行 | export_type ∈ {full, filtered, report} | データを活用する段階 |
50_label_print_executed | ラベル印刷実行 | label_count | 物理的な業務に組み込まれた |
50_inout_workflow_active | 入出荷機能(β)を月 10 回以上利用 | usage_count | 入出荷を業務化(β 正式リリース後) |
50_owner_added_attribute_5plus | オーナーが追加属性を 5 個以上作成 | custom_attribute_count | 業種に深く適合 |
50_alert_triggered_responded | アラート発生 → 対応(数量変更) | response_time_hours | 在庫管理が業務になった |
Layer 3 到達判定
サインアップ後 30 日以降で上記 8 件のうち 3 種類以上を達成 = Layer 3 到達。
目標: v2.0 リリース後 3 ヶ月で 20% 以上(Layer 2 到達 40% × Layer 3 通過 50%)/ 長期目標 12 月: 40%
目標: v2.0 リリース後 3 ヶ月で 20% 以上(Layer 2 到達 40% × Layer 3 通過 50%)/ 長期目標 12 月: 40%
サインアップ → Layer 1 → Layer 2 → Layer 3
サインアップ 100% ████████████
↓
Layer 1 到達 26% ████ (現状: Quick Win 到達)
↓
Layer 2 到達 ??% ?? (v0.1 リリース前に baseline 取得)
↓
Layer 3 到達 ??% ?? (30 日以降のコホートで計測)
↓
Layer 1 到達 26% ████ (現状: Quick Win 到達)
↓
Layer 2 到達 ??% ?? (v0.1 リリース前に baseline 取得)
↓
Layer 3 到達 ??% ?? (30 日以降のコホートで計測)
Layer 2/3 の baseline は v0.1 リリース前(2026-06-01〜2026-06-14)に先行取得してから目標を確定(v0.3 で更新)。
Layer 2 到達率クエリ(抜粋)
WITH cohort AS (
SELECT person_id, timestamp AS register_at, properties.signup_path
FROM events WHERE event = '10_register'
AND timestamp >= '2026-06-15' AND timestamp < '2026-07-15'
),
layer2_events AS (
SELECT c.person_id,
SUM(CASE WHEN e.event = '40_item_count_threshold' AND e.properties.count >= 10 THEN 1 ELSE 0 END) AS item_10,
SUM(CASE WHEN e.event = '40_folder_created' THEN 1 ELSE 0 END) AS folder,
SUM(CASE WHEN e.event = '40_attribute_customized' AND e.properties.is_custom = true THEN 1 ELSE 0 END) AS attr,
SUM(CASE WHEN e.event = '40_csv_import_success' AND e.properties.imported_count >= 5 THEN 1 ELSE 0 END) AS csv,
SUM(CASE WHEN e.event = '40_in_out_recorded_5x' THEN 1 ELSE 0 END) AS in_out,
SUM(CASE WHEN e.event = '40_invite_member_accepted' THEN 1 ELSE 0 END) AS invite,
SUM(CASE WHEN e.event = '40_alert_configured' THEN 1 ELSE 0 END) AS alert,
SUM(CASE WHEN e.event = '40_barcode_scanned' THEN 1 ELSE 0 END) AS barcode,
SUM(CASE WHEN e.event = '40_revisit_within_7d' AND e.properties.session_number >= 3 THEN 1 ELSE 0 END) AS revisit
FROM cohort c
LEFT JOIN events e ON c.person_id = e.person_id
AND e.timestamp BETWEEN c.register_at AND c.register_at + INTERVAL 7 DAY
GROUP BY c.person_id
)
SELECT
COUNT(c.person_id) AS cohort_size,
COUNT(CASE WHEN (item_10+folder+attr+csv+in_out+invite+alert+barcode+revisit) >= 3 THEN 1 END) AS layer2_reached,
ROUND(
COUNT(CASE WHEN (item_10+folder+attr+csv+in_out+invite+alert+barcode+revisit) >= 3 THEN 1 END) * 100.0
/ COUNT(c.person_id), 2
) AS layer2_rate
FROM cohort c LEFT JOIN layer2_events l ON c.person_id = l.person_id;
PRD v2.2 チェックリスト 4 項目 ↔ Layer イベント対応(v0.2 追加)
| PRD v2.2 要素 | 連動イベント | Layer |
|---|---|---|
| セクション 4.6 サンプル生成(サンプルフォルダ) | 40_folder_created | Layer 2 |
| セクション 4.7 チェックリスト 1 アイテム追加 | 30_item_add | Layer 1 |
| セクション 4.7 チェックリスト 2 入出庫 | 40_in_out_recorded_5x(5 件累積で発火) | Layer 2 |
| セクション 4.7 チェックリスト 3 メンバー招待 | 40_invite_member_accepted(招待された側が参加) | Layer 2 |
| セクション 4.7 チェックリスト 4 バーコード | 40_barcode_scanned(source = qr_scan) | Layer 2 |
| セクション 4.5 Q2 属性取捨選択 | 40_attribute_customized(カスタム属性追加) | Layer 2 |
このマッピングにより、 MARK-44 v0.3 のチェックリスト完了率と Layer 到達率が同一行で比較可能。
Phase 1 → 2 → 3 の段階実装
| Phase | 期間 | 対象イベント |
|---|---|---|
| Phase 1 | MARK-1 実装と並行(6 月) | 40_item_count_threshold / 40_folder_created / 40_attribute_customized / 40_csv_import_success / 40_invite_member_accepted / 40_alert_configured |
| Phase 2 | v2.0 リリース時(7 月) | 40_in_out_recorded_5x / 40_barcode_scanned / 40_revisit_within_7d |
| Phase 3 | v2.0 本番後 1 ヶ月(8 月) | Layer 3 の 8 件すべて |
関連する MARK-* タスク
| タスク | 内容 |
|---|---|
MARK-1 | PRD v2.2 — Layer 2/3 のうち PRD で発火する 30_* イベント実装 |
MARK-44 | 観察設計 v0.3 — Layer 2/3 到達率を月次観察 KPI に追加 |
MARK-21 | Engagement Score v1.0 — Layer 2/3 イベントを重みに反映 |
MARK-40 | monthly-review Playbook — 月次で Layer 2/3 到達率をレビュー |
NANCO-?? | Layer 2/3 イベント実装(Phase 1/2/3 段階) |
MARK-?? | engagement-score-design.md 命名統一マイグレーション(MARK-21 確定前に必須) |