メインコンテンツへスキップ

計測は実装と同時に入れる

North Starを1本、activationを定義し、コアイベント6個を機能PRに同梱する。後付けのイベント設計は必ず穴が開く。医療プロダクトではPHIをイベントに乗せない追加規律も守る。

  • レッスン 2 / 6
  • 12分

このレッスンで

終わる頃には、次ができるようになります

  • North Starとactivationの違いを自分のプロダクトの言葉で説明できる
  • コアイベント6個を自分の機能に当てはめて設計できる
  • 医療プロダクトのイベントプロパティからPHIを除外して実装できる

前のレッスンで、続ける条件と止める条件を3行で書きました。その条件を判定日に確かめるには、数字が要ります。ここで計測を入れます。

後付けのイベント設計は、必ず穴が開く

機能を作り終えてから「計測もついでに入れよう」とすると、たいてい失敗します。どの画面で何が起きたかを一番よく覚えているのは、作った瞬間の自分だけだからです。

だから計測は、機能のプルリクエストにイベント送信のコードを同梱します。ボタンを実装したら、そのクリックイベントも同じコミットに入れる。この順番を守れば、後から穴を探す作業が消えます。

イベントは増やしすぎないことも大事です。全部のクリックを取ろうとするとダッシュボードが情報の山になり、誰も見なくなります。最初に置くのは6個だけです。

手順1: North Starを1本決める

「このプロダクトは機能しているか」を、1つの数字で言えるようにします。売上でも登録者数でもなく、ユーザーが価値を受け取った回数です。

学習系なら「週あたり、演習セッションを最後まで終えた人数」。情報参照系なら「週あたり、記事を読み終えて次の行動に進んだ回数」。開いた回数ではなく使い切った回数を数えます。

North Starは1本に絞ってください。複数持つと優先順位が割れます。

手順2: activationを定義する

計測設計の中で、一番重要な1行です。

activationの定義: 初回◯◯日以内に、△△をN回した

「初めて開いた人が、価値に到達したと言えるのはどの時点か」を観測できる形で書きます。「なんとなく使ってくれた」ではなく「初回セッションで演習を1問解いた」のように、数えられる条件にします。

この定義がないと、次のレッスンで扱う無料枠の設計ができません。無料枠は活性化に必要な最小回数から逆算するからです。推測で埋めず、初期ユーザーの実データで確定させてください。

手順3: コアイベント6個

命名は object_action の形でスネークケースに統一します。

イベント取る理由主なプロパティ
signup_completed入口の量を見るsource, plan
activation_reached価値に到達したか(手順2の定義)days_since_signup, attempts
core_action_completedNorth Starの構成要素action_type, duration_ms, result
paywall_viewed課金導線に到達したかtrigger(枠切れ・機能ロック・自発)
checkout_started意思の表明plan, price
subscribe_completed転換plan, price, is_annual

signupからsubscribeまでを1本のファネルとして見ると、どの段階で人が離れているかが分かります。

加えて、原価ログを別系統で持ちます。input_tokens output_tokens model action user_id を、分析ツールではなく自前のDBかログに記録します。次のレッスンで原価から値をつけるとき、この記録が要ります。分析SaaSにトークン数まで送る必要はありません。

医療プロダクトの追加規律: PHIをイベントに乗せない

minaton・pedia・愛育系のように医療に触れるプロダクトは、ここで1段階、規律が厳しくなります。イベントプロパティに入れてはいけないものがあります。

医療プロダクトのイベントに乗せてよいもの

乗せない

症状名・疾患名・検査値・服薬内容。記事スラッグが疾患名を含む場合はIDに変換する

実数の年齢・生年月日(年代のバケットにする)

チャット本文・検索クエリの生の文字列

施設名と診療科の組み合わせ

乗せてよい

画面ID・機能ID

カテゴリの大分類

滞在時間・到達フラグ

海外サーバーに送る前提で線を引く

分析SaaSの多くは海外サーバーにデータを保存します。「患者情報を扱わない」という前提が崩れると、医療機器該当性や3省2ガイドラインの適用外という立て付けが揺らぎます。計測の便利さで、この一線を越えてはいけません。

実装の基準と、置いた後の確認

AMPLの基準実装はminatonです。PostHogでプロダクト分析、GAで流入と検索を追っています。両方必須ではなく、プロダクト分析が要るならPostHog、集客の可視化だけならGAで十分です。

イベントを置いたら、次の3点を確認するまで「計測を入れた」とは言いません。

01

飛んでいるか

本番で1回ずつ自分の手で踏んで確かめる

02

ファネルが見えるか

signupからsubscribeまでが1画面で見える

03

ペイロードを目視

医療プロダクトなら禁止プロパティが紛れていないか確認する

計測を入れた、と言うまでの3点

いまのAMPLで、計測が揃っているものと空いているもの

同じ会社の中でも、計測の状態はプロダクトごとにばらばらです。

minaton

PostHog・GA・web_vitalsが入った基準実装。⑪計測まで到達、値付けだけが空

pedia

自社計装(lib/analytics.tsからSupabaseのeventsテーブルへ)。決済ファネルのイベントを追加した段階

tokyo-speed

Plausibleを使う宣言だけがコードにあり、実際には接続されていない。課金再開前に埋める

計測の状態(プロダクト別)

計測を実装と同時に入れるべきだった、で終わる話ではありません。気づいた時点で次の機能から入れ始めれば追いつけます。

今日のまとめ

  • North Starを1本、activationを観測できる形で定義してから、コアイベント6個を機能と同じコミットで入れる
  • 原価ログは分析ツールと別系統で持ち、医療プロダクトのイベントには症状・検査値・自由入力テキストを乗せない
  • 計測は「入れた」で終わりではなく、本番で1回ずつ踏んでファネルとペイロードを目で確かめるまでが工程

次のレッスンでは、この計測とログをもとに、原価の裾から値をつける手順に進みます。

セルフチェック

1. 計測を実装と同時に入れるべき理由として、最も適切なものはどれですか

2. activationの定義として適切なものはどれですか

3. 医療プロダクトのイベントプロパティに含めてよいものはどれですか

このレッスンは役に立ちましたか?