こんにちは、Habr!私の名前はIvanKizimenkoです。Outsideの分析責任者です。この記事では、GoogleAnalyticsの代わりに独自のカスタム分析システムを開発した方法と理由について説明します。実際、私たちはGoogleの分析だけでなく、Adobeなどの他の企業とも協力しました。
しかし、ある良い日(そしてそれは本当に悪くはなかった)は、次のように決定しました。自分のシステムを作る時が来ました。」カットの下で-この決定の理由、カスタムシステムの機能、およびHabrの読者の多くにとって他の多くの興味深いことについて。
なぜこれがすべて必要なのですか?
私たちは、分析システムが大きく異なるグローバルソリューションを使用して、かなり大規模な顧客と協力しています。誰かがAdobeを持っていて、誰かがGoogle Analyticsの基本バージョンを持っていて、誰かが360を持っています。
しかし、グローバルソリューションには多くの問題があります。
- これらは、機能へのアクセスにいくつかの制限があるクローズドシステムです。
- 最小限のカスタマイズオプションがあります。
- 何かを改善できるとしたら、それは非常に費用がかかり、さらに時間がかかります。
- 分析は、地域の発展を考慮せずに独自のソリューションをカバーします。
Google Analyticsはおそらく最も人気のある分析システムなので、最初にその欠点を挙げましょう。
- カスタムレポートとダッシュボードを作成するには、多大な労力が必要です。
- システムのレポートでは、データは常に集約されており、このプロセスは完全にまたはほとんど制御不能です。
- , , , -. .
- .
- API.
- — 24-48 , , .
- Google Analytics 20. — 200.
- — . , , IP .
一般的に、GoogleAnalyticsを叱ることはありません-まったく叱りません。これは優れたシステムですが、かなり大量ではありますが、限られた範囲のタスクに適しています。しかし、1年間の指標の計算や過去の期間との比較など、特定のタスクが発生するとすぐに問題が発生します。どこかでマークアップがリクエストをまったくカバーしておらず、どこかでそれが落ちました。または、イベントの記述方法が変更されたため、Pythonを「起動」し、データを日と週で並べ替えて、少なくとも現実に近いデータを生成する必要があります。
Adobe Analyticsなど、他のシステムにも問題があります。したがって、Adobeで利用できないツールを接続する必要がある場合、それは長くて高価です。この場合、アドビに基づいて会社のウェブ分析のすべてのニーズをカバーするシステムを構築することは経済的に不採算になります。このシステムの重大な欠点は、グローバルプロジェクトのみを対象としていることです。
予期しない問題が発生することがあります。たとえば、昨年のレポートが必要で、Google Analyticsから「プル」したかったのですが、うまくいきませんでした。本社のマネージャーの誰かがカウンターの設定に入って設定を変更したため、必要なすべての履歴データが削除されただけであることが判明しました。
結局、私たちはかなり複雑なシステムで基本的なものを手に入れます。これらは、トラフィック、リード、直帰率(BR)です。
すべてが変わった日
すべてがうまくいくでしょうが、1つの大きな問題があります-直帰率、ほとんどの専門家が注意を払う指標です。もちろん、誰もがそれを下げたいと思っています。必要に応じて、これを行うのは非常に簡単です。タイマーが25秒間「ハングアップ」し、イベントが終了し、失敗の割合が減少します。しかし、これは正式なものに過ぎず、実際にはすべてが以前と同じままです。
たとえば、カウント方法を変更すると、秒に2つのブラウザスクロールイベントが追加され、BRが大きくなり、CPAおよびProgrammaticからの疑わしいソースが80%の失敗率を示し始めます。方法論を変更した後、いくつかの方法が使用された1年間の拒否の割合を計算することはほとんど不可能です。
大量の作業、PythonスクリプトとCRONタスクの数の増加、複雑なレポートの作成が困難、エンドツーエンドの分析が利用できないなど、他にも問題があります。一般的に、分析とマークアップの両方へのアプローチを改訂することにしました。まず、重要なニーズを決定しました。
- 生データへのアクセスの取得。
- 任意の量の追加情報を転送する機能。
- バックアップを実行する機能。
- 自動マークアップを使用します。
- データベースをBIツールに接続する機能。
最良のオプションは、独自のデータ収集システムを組み立てることです。これは、できるだけ早く簡単に変更およびカスタマイズできます。さて、データストレージとしてClickhouseを使用しました。独自の分析システムは、最初に策定したいくつかの基準を満たす必要があることは明らかです。
- 独自のサーバーに任意の量のデータを保存する機能。必要に応じて、データへのアクセスを制限することもできます。
- イベントとパラメーターをいくつでも収集します。これにより、分析用のデータが大幅に増えます。
- CRM、CAllTracking、BI、インスタントメッセンジャー、広告システムなどのサービスと統合する機能。
- CookieとユーザーIDによるクロスプラットフォームのユーザー追跡。
- 独自のアトリビューションモデルを作成します。
- オープンソースでの作業で、セキュリティの問題はありません。
- サイトからのタイムリーなフィードバック。ユーザーのセッション中にアナリティクスからサイトにイベントを送信します。
- 特定のビジネスの要件への分析ソリューションの適応。
これらの基準に従って、現在使用している独自の分析システムを構築しました。データについては、ClickHouseに生の形で保存されます。ちなみに、カスタム分析システムのもう1つの利点は、パラメーターの数に制限がないことです。これにより、たとえば、より多くの情報を入手する機会がすぐに開かれました。たとえば、車のコンフィギュレータで非常に人気のある色、オプション、エンジン、その他のパラメータがわかりました。
視覚化はどうですか?
BIツールとして、最初にメタベースを試しましたが、キャッシュでは奇妙に機能し、カスタマイズが難しいため、機能しませんでした。Apache Supersetを選択しましたが、その理由は次のとおりです。
- それは急速に発展しています。毎月、いくつかの新しい改善と更新があります。
- 独自のチャートや視覚化を作成できます。たとえば、Echartsは、その兵器庫に膨大な数の可能性を秘めています。
- CSSでダッシュボードの外観をカスタマイズする-ブランドのコーポレートアイデンティティのダッシュボードを作成するのは非常に簡単です。
- 優れた調査ツール。すぐにSQLクエリをスケッチし、答えを得ることができます。
- EメールとSlackにレポートを送信することが可能です
- 箱から出してアクセス制御。グラフやデータセットごとに、特定のユーザーへのアクセスを構成できます。
数十のダッシュボードが、さまざまなタスクのさまざまなアクセスレベルで利用できるようになりました。これには、ベースライントラフィックメトリックのダッシュボード、製品チーム/チームのダッシュボード、および他の機関のダッシュボードが含まれます。
システムが採用された後、非標準の質問の処理速度は大幅に向上しました。これは、SupersetのSQLabを介したSQLクエリのセットになりました。また、注意-ウェブ解析で部分的にしか使用されていない他のデータベースやデータベースを接続できます。
自動化を忘れないでください
日常的なタスクを解決するために、Apache Airflow 2を使用しました。これにより、単一のツールでデータのアップロードとレポートの生成が可能になりました。最終的には、他のソースや他の機関からのデータを集約して最終レポートを作成することが可能でした。
しばらくすると、イベントにリアルタイムで応答するサービスを作成できるだけでなく、電子メールやプッシュをポイズニングし、Webhookを送信したり、ブラウザに直接信号を送信したりできる分析システムを開発することができました。
カスタムシステムは、他の利点の中でも、サードパーティのIPに簡単に接続できるようにします。
内部的には、システムには独自の分析があります。PythonとType / JavaScriptのフレームワークであり、開発プロセスを簡素化および高速化します。起動および制御システムに加えて、Theia IDEに基づく組み込み開発環境、および迅速な調査とプロトタイピングのためのJupiterLabもあります。最後に、Grafanaは視覚化ツールとシンプルなダッシュボードです。
結果として得られたシステムの作業の例として、Skoda社のAVNのABテストを計算するためのその使用を引用することができます。カスタム分析により、次のことが可能になりました。
- Clickhouseからデータを取得します。
- Pythone + Clickhouseで情報を処理します。
- 計算データをCSVで保存します。
- 6時間ごとに開始するようにタイマーを設定します。
- 他のシステムとは独立して機能するため、サービスを停止、再構築、またはカスタマイズする機能。
少し複雑に聞こえますが、例を挙げて説明できます。以前は、ユーザーが車の購入リクエストを残すと、購入者の電話番号のみがセールスマネージャーに届きました。そのため、スペシャリストはクライアントに再度電話をかけ、以前に記入済みのすべてを要求する必要があります。
これで、マネージャーは、アプリケーションに加えて、特定の車のブランドや構成などに対する訪問者の関心を含む、訪問者に関する要約情報を受け取ります。そして、ちなみに、マネージャーは個人情報を受け取ります。さらに、マネージャーは、人が何を必要とし、何を提供できるかをよりよく理解します。
結論として、最終的にはすべてがうまくいったと言わなければなりません-カスタム分析システムは、6か月または1年でデータを失うという脅威なしに顧客の利益のために機能します。その後の視覚化を伴うデータ分析には、最小限の時間がかかります。何かを追加および削除する必要がある場合は、最小限のコストで非常に迅速に行うことができます。