高トラフィックサイトでのDAUとMAUの効率的な追跡
高トラフィックサイトでのDAUとMAUの追跡は難しい仕事です。この記事では、Logtoでこの問題をどのように解決したかを説明します。
Logtoは認証プロバイダとして、日々大量のユーザーデータを処理していることは否定できません。我々が見過ごすことのできない重要な指標の一つは「Daily Active Users」(DAU)であり、これにより我々のユーザーがどれだけエンゲージしているかを感じることができます。しかし、DAUやMonthly Active Users(MAU)の追跡を行うと、ことが混乱することがあります。大量のデータを管理しながらユーザーエクスペリエンスを損なわないようにすることは容易ではありませんが、それは我々が効率的に対処する方法を学んだものです。
この記事では、DAUに関連する概念を解説し、DAU、MAU、月次エンゲージメント率をどのように計算するかを説明します。
DAU、MAU、および月次エンゲージメント率
日次アクティブユーザー(DAU)
DAUは、ある特定の日にあなたのプラットフォームと交互作用を持つユニークなユーザーです。これらのインタラクションは何でも良く、ログインするだけ、何かを投稿したり好きになる、その他の活動を示す特定の行動などが含まれます。DAUの追跡により、我々は日々のユーザーエンゲージメントを評価し、アクティブユーザーベースの規模を把握することができます。
月次アクティブユーザー(MAU)
一方、MAUは、1カ月以内に少なくとも一度あなたのプラットフォームとエンゲージする独特なユーザーを示す指標です。DAUと同様に、アクティブユーザーはログインしただけの者から何らかの方法でプラットフォームと交互作用を持つ者まで幅広い範囲にわたります。
月次エンゲージメント率
ユーザーが月にどれほど頻繁に我々のプラットフォームと交互作用を持つかを理解するために、我々は特定の指標である月次エンゲージメント率(MER)に大きな価値を見出しています。これは単なる数字であり、我々の価格設定戦略に大きな影響を与える重要な要素です。
MERは、ユーザーのエンゲージメントの頻度を、ユーザーが月に一定の日数ログインまたは我々のプラットフォームと交互作用する日数を特定することで明らかにします。この洞察はただの有益なものではなく、我々の為の重要な差別化要素でもあります。通常のアプローチが月に一度でもユーザーが訪問したかどうかだけに焦点を当てるのに対し、我々はより深く探求し、「どれほど頻繁に」を理解しようと努めています。この「どれほど頻繁に」ということが我々にユーザーのプラットフォームとの交互作用の深さを評価する機会を与え、我々のユーザーにもっと価値を提供するための具体的な指標を提供してくれます。
Logtoでは、MERは使用量ベースの課金の重要な要素となっています。我々の課金をMERに基づいて定め ることで、我々の請求がユーザーのエンゲージメントレベルと一致するようにしています。言い換えれば、我々は公正さを計測可能な指標に変えたと言えます。他の人たちは1回だけログインしたユーザーを日常的なユーザーと同じようにカウントするかもしれませんが、我々は実際の使用量と提供された価値に基づいて価格を設定し、差別化を図っています。これにより、透明性と公平性の高い、そして最終的には価格設定においては目立つアプローチを実現しています。
ユーザーログから
通常、DAUとMAUはユーザーログから直接計算されます。しかし、これらのログが積み上がっていくと、プロセスが非効率的になり、データのスケーリングやログの保持などの課題が出てきます。更に言えば、ユーザーログを永遠に記録しておくことは、プライバシーやセキュリティの規制のため、現実的ではありません。
別のアプローチ;DAUテーブルの作成
そこで我々はDAUテーブルという概念を考え出しました。このテーブルには主にuser_id
とdate
の二つの列が含まれています。date
は一日の開始を設定することができます。
このテーブルを更新し続けるための二つの方法を用意しています。一つ目は昨日のユーザーログを通じて毎日自動的に作業を行うもので、二つ目はユーザーの活動が発生するたびに更新を引き起こすものです。
我々が一意のuser_id
に出くわすたびに、DAUテーブルに新たなエントリーを追加します。これにはuser_id
とdate
が含まれます。「upsert」というSQL操作を使ってこれを行います。これにはuser_id
とdate
の一意のキーが必要です。
その結果、DAUとMAUの追跡はテーブル内の行を数えるだけの事になります。また、月次エンゲージメント率の計算はgroup by
とcount
を組み合わせることで行うことができます。
結果と利点
DAUテーブル、つまりユーザーログの縮約版は、我々のDAUとMAUの計算プロセスを劇的に効率化してくれました。エンゲージメントの追跡を容易にするだけでなく、我々のシステムへの負荷を大幅に軽減しました。
結論
DAUとMAUの最適化を進める過程で、我々は常にユーザープライバシーと法的準拠に重きを置いてきました。我々の戦略はDAUテーブルが機微なユーザー情報を保存しないようにすることを中心に構築されました。代わりに、我々は普通のuser_idのハッシュ値となる匿名の識別子と活動の日付だけを保存し、関連するすべてのデータ保護規制を厳密に遵守します。
我々はデジタルサービス業界の他の人々にこのプライバシー指向のアプローチを強く 推奨します。ユーザーデータの規模やボリュームに関係なく、プライバシーは常に最優先事項であるべきです。
結局のところ、高トラフィックのWebアプリケーションであっても、データ追跡は複雑である必要はありません。我々のような安定した効率的な戦略を用いることで、重要なユーザーエンゲージメントメトリクスの追跡を容易にすることができます。
我々の経験を共有することで、他のデジタルプラットフォームが刺激を受け、効率的かつ効果的なデータ追跡のための革新的なソリューションを開発するアイデアを提供することができればと思います。