3つのシステムをまたぐ会員データの毎日更新を、手順ごと仕組みにした話
この記事の内容
会員制サービスを運営されている企業様では、会員の状態を把握するために、複数のシステムをまたいでデータを毎日更新しています。配信ツール、集計用のスプレッドシート、会員向けサイト。この3つの間でデータを往復させる作業です。
お手伝いを始めたとき、この業務はすでに手順書として存在していました。それでも定期的に事故が起きていた。原因を見ていくと、手順の複雑さではなく定義の曖昧さにありました。
毎日、データが3つの場所を往復している
やっていることを単純化すると、次の流れです。
- 配信ツールから、友だちの反応履歴を書き出す
- 会員向けサイトから、ログイン履歴を書き出す
- 両方をスプレッドシートで突き合わせ、状態を判定する
- 判定結果を配信ツールに戻し、タグとして付ける
タグが付くと、状態に応じた案内を出し分けられるようになります。つまりこの作業は、単なるデータ整理ではなくコミュニケーションの前提条件を毎日作り直している作業です。だから止められないし、間違えられません。
事故は「貼り付ける前に消し忘れる」で起きる
いちばん多い事故は、拍子抜けするほど単純です。スプレッドシートの既存データを消さずに新しいデータを貼る。すると行が重複し、重複したまま判定され、その結果が配信ツールに戻り、誤った案内が会員に届きます。
この事故の質が悪いのは、貼った瞬間には何も起きないことです。おかしいと気づくのは、配信が終わったあとになります。
手順に固定した3点
- 貼る前に、対象範囲を必ず全削除する(追記ではなく置換)
- 取り込み設定は「選択したセルを先頭にデータを置換する」で固定する。ほかの設定だと数式が壊れる
- 戻すときの動作設定(タグ付けを実際に発火させるか)を、毎回目で確認する
この3点は自動化していません。取り返しのつかない操作なので、手順として固定したうえで人が確認しています。
本体は、ツールではなく「アクティブの定義」だった
この業務でいちばん時間を使ったのは、作業の自動化ではなく「アクティブとは何か」を決めることでした。
言葉としては誰でも使いますが、いざ数字にしようとすると全員の定義が違います。メールを開いた人はアクティブか。ログインしただけの人はどうか。判断の分かれ目を決めないまま集計すると、出てくる数字は毎回変わります。
この案件では、複数の接点のいずれかに直近で反応があればアクティブ、という形に落としました。そのうえで「開封」は入れないと決めています。開封率と、リンクをクリックした率には大きな開きがあり、開封を含めると行動の裏づけとしては弱くなるからです。
ORとANDを取り違えると、数字が別物になる
判定ロジックで最も間違えやすいのが、この部分です。
| 判定 | 条件のつなぎ方 | 意味 |
|---|---|---|
| アクティブ | OR(どれか1つでも反応) | どこかで動いていれば生きていると見なす |
| 非アクティブ | AND(すべてが無反応) | 全部の接点で止まって初めて離れたと見なす |
アクティブ判定をANDにすると、実際には利用している人を大量に取りこぼします。非アクティブ判定をORにすると、生きている人にまで離脱者向けの案内が飛びます。どちらも、システムはエラーを出しません。静かに間違った数字が出るだけです。
分母を決めないと、率は意味を持たない
もう1つ決めたのが分母です。同じ「アクティブ率」でも、全登録者を分母にするか、現在の有効な会員だけを分母にするかで、数字はまったく違うものになります。
この案件では、古い基盤に残っている名簿ではなく、現在有効な会員を分母にしました。理由は、直近で入った人ほど古い基盤に存在しておらず、そちらを分母にすると新しく入った層がほとんど計算に入らないからです。結果として実態より低く出ます。
率を出すときは、分子の定義より分母の定義のほうが揉めます。先に分母を決めてから分子を決めると、話が早く済みます。
定義が決まると、打ち手が決まる
状態が正しくタグとして付くようになると、案内の出し分けができるようになります。入会直後の人と、しばらく反応がない人に、同じ文章を送る必要がなくなる。
あわせて、在籍期間による区切りも入れました。ここで実務的に大事なのが、入会30日以内の数字は「継続率」ではないという点です。判定の対象期間が在籍期間をほぼ覆ってしまうので、実質的には「最初に使い始めてもらえたか」を見ている指標になります。継続を見たいなら、その次の区切りを見る必要があります。
同じことをやるなら、この順番で
| 順番 | やること | 終わりの合図 |
|---|---|---|
| 1 | 使いたい言葉(アクティブ・継続・離脱)の定義を文章で書く | 関係者3人に見せて解釈が割れない |
| 2 | 分母を決める | 「何人のうちの何人か」が1文で言える |
| 3 | 条件のつなぎ方(ORとAND)を表にする | 表を見れば第三者が再現できる |
| 4 | そのあとで作業を自動化する | 手作業より速く、結果が一致する |
1〜3を飛ばして4から始めると、動くけれど誰も信用しない数字が出てきます。
よくある質問
全部を自動化しないのはなぜですか?
この業務では、判定結果を配信ツールに戻す工程が「取り消せない操作」だからです。誤ったデータを戻すと、その状態で会員に案内が飛びます。書き出しと突き合わせは仕組みに寄せ、戻す操作の直前は人が確認する形にしています。
アクティブの定義は、あとから変えてもいいですか?
変えて構いませんが、変えた日付と変更内容を必ず残してください。定義が変わると過去の数字と比較できなくなるので、記録がないと「改善したのか、定義を緩めただけなのか」が判別できなくなります。
スプレッドシートのままでも問題ありませんか?
件数が数万件規模までなら、実務上は困らないことが多いです。むしろ途中でデータベースに移すより、担当者が中身を目で見られる状態を保つほうが、間違いに早く気づけます。動作が重くなってきたら移行を検討する、という順番で問題ありません。
「データはあるのに活用できていない」「毎日の更新作業に人が取られている」という状態から、整理のお手伝いができます。
無料で相談する