データエンジニアの業務紹介~データの収集から加工、そして利用者への提供までをスムーズに!高品質に!~
Photo by Carlos Muza on Unsplash
こんにちは!メンバーズデータアドベンチャー(以下、DA)採用広報担当です。
DAではクライアントへ常駐する形でサービスを提供しており、社員は常駐先クライアントの一社員のような形で業務を行っています!
今回は、DAのデータエンジニアの業務の1例をインタビュー形式でご紹介します♪
―常駐先での主な業務を教えてください
常駐先ではネイティブアプリとWebサイトのアクセスログの収集業務を担当しています。具体的には、Google Analytics 4(GA4)を用いてログデータを収集し、どのような構造でデータを送信するかのログ設計や収集したデータの検証を行います。また、GA4で収集したデータはBigQueryにエクスポートされるので、データ利用者の要望に応じて集計や加工業務も行っています。
―アクセスログの収集業務の詳細や気を付けていることを教えてください
まず、ネイティブアプリとWebサイトのおいて、新たに追加された画面、コンテンツ、機能の詳細をキャッチアップします。その上で、分析上どのようなデータを収集する必要があるのか、どのタイミングで収集するのかなど、具体的なログ設計を行います。設計時にBigQueryの料金対策として、データ量を意識し、必要最低限のデータのみを送信するという点に気を付けていました。不必要なデータの収集や冗長な情報は除外することで、ストレージコストやクエリコストの増大を防ぐことができると考えたためです。
ログ設計が完了した後、ネイティブアプリにおいては、その設計に基づいてアプリ開発者にログ収集の実装を依頼し、実装後の検証も行い、収集データの正確性を確保しました。
一方、Webサイトでは、ログ設計に従い、Google Tag Manager(GTM)を用いて必要なデータの収集設定を行いました。GTMを活用することで、コードの変更を行うことなくタグの追加や変更を行うだけでデータを収集することができるので、ネイティブ部分に比べてデータの収集をスムーズに実施することができます。
アプリに追加や変更が行われる都度、その動向を正確に把握し、データ収集の設計、実装、検証を行うことで、データの品質の担保に努めました。
―ログデータの収集後に行うことも教えてください
GA4で収集したデータがBigQueryにエクスポートされた後のステップでは、生データから具体的なビジネス上の意味を持つ集計データの作成を行います。
BigQueryにエクスポートされたデータは非常に詳細で、そのままではLookerStudioなどのBIツールから参照するデータソースとして利用するのは難しいので、集計・加工を施したテーブルの作成を行っています。例えば、特定のページの訪問者数、ユーザーセグメント別の行動分析、アプリの継続率などを計算し、それらをダッシュボードやレポートで視覚的に表現しています。
また、定期的に更新されるレポート作成の要望も多いため、スクリプトやツールを用いて自動化されたデータ抽出や加工のプロセスを構築しました。これにより、毎日や毎月の定期的なデータの更新やレポート作成が効率的に行えるようになりました。
最終的には、データの収集から加工、そして利用者への提供までの一連の流れをスムーズに、そして高品質に実施することを目指し、常に改善と最適化を行っています!
― 業務を行う中で課題と感じていることはありますか
クエリの管理方法には課題が残っていると思います。現状は作成したクエリをBigQuery内やスプレッドシートに登録しているだけの状態なので、特定のクエリがいつ、どのように変更されたのかなどの修正履歴を追うことが難しい状態です。
更に、クエリの共有や再利用もしにくく、同じようなクエリが複数回作成されるという非効率な状況もありました。
また、過去のクエリバージョンに戻す必要が生じた際に、修正前のクエリを探し出すのが困難であったり、誤って削除や上書きをしてしまった際のリカバリーも難しいという問題も抱えていました。
― 今後、この課題をどのように解消しようと思ってますか
これらの課題を解決するために、クエリのバージョン管理をGitなどのバージョン管理システムを利用して行う方法を検討する必要があると思います。バージョン管理システムを使用すれば、クエリの変更履歴を追跡し、どのタイミングで誰がどのような変更を加えたのかを明確に把握することが可能になり、より品質の高いデータを作ることができると思います。
バージョン管理システムの導入を進めるとともに、クライアントの社員さんも含めチーム内での適切な運用ルールの策定や教育を行うことが第一ステップだと思ってます。
DAのデータエンジニアはクライアントの要望を聞きながら、データが常に使える状態にあるように日々データの品質の担保を行っています。データを取り出すまでのスピード感はもちろん、コストやクエリの管理といった観点も必要になるお仕事です。
DAではデータエンジニアメンバーを募集しています。DAのデータエンジニアの業務にご興味を持っていただけましたら、ぜひカジュアル面談でお話しませんか?お気軽にご連絡お待ちしています!