📸

密着!データエンジニアの1日!

2024/10/09に公開

はじめに

当記事では、データアナリストの小池がデータエンジニア藤井のとある1日に密着し業務内容を紹介します。

フェズにおけるデータエンジニアがどのような業務を行っているか、第三者の視点で解像度高く理解頂くことを目指します。

また、データアナリストの視点からデータエンジニアの業務がどのようなアウトプットに繋がるかも説明します。

フェズのデータエンジニアのミッション

フェズは大まかに言うと、小売様から購買データを預かりデータを用いたマーケティングソリューションを提供する会社です。具体的には、購買データとデジタル広告データを突合し広告を見た人の購買を可視化したり購買者へターゲティングを行うUrumo Adsという広告ソリューションを主として提供しています。

その中でデータエンジニアは、事業資産となる購買データを小売様から受領しデータ分析基盤を構築する役割を担っています。

フェズのデータエンジニアは事業特性に合わせ、以下の2点を意識して業務を進めています。

1. データ受領に関するプロジェクトマネジメント

事業資産となる購買データの受領は事業の加速に繋がる重要なプロジェクトでありビジネス的には速度を上げて対応したい一方で、受領元の小売様の事情を配慮しながら進行する必要があり広範なプロジェクトマネジメントが求められます。

データエンジニアはデータ受領の実務を担うことはもちろん、データ受領の交渉/契約手続きを行う営業部門や、データ受領後の活用を行うデータアナリスト・プロダクト開発部門と密にコミュニケーションを取りながらプロジェクトを推進する役割を担います。

2. 小売データの横断性

フェズは事業資産として小売様から購買データを預かっていると説明しましたが、当然ながら小売様によって基幹システムは異なるためデータを受領する時点ではテーブル定義やファイル形式は小売ごとに異なる形式で受領しています。

受領したデータをそのまま分析基盤として活用することもできますが、コスト・品質の観点で不都合があります。まず特定の小売データを分析する場合に小売ごとに分析基盤の仕様が異なっていれば、小売ごとに別々の分析ロジックを開発しなければなりません。初期開発・保守のコストが高いことはもちろんミスも起こりやすく分析の品質にも支障をきたします。また、小売ごとに分析基盤の仕様を合わせなければ複数の小売を横断的に分析することができなくなります。従って、複数の小売で購入をした消費者を同じIDで分析できるように各小売のデータを統合し横断化したデータセットを構築する必要があります。

上記のような背景から、フェズでは小売様から受領した購買データを

  • 小売共通データセット : フェズ社内で共通化したテーブル定義に加工(標準テーブル化)した小売単位のデータセット
  • 小売横断データセット : 複数小売のデータを統合・横断化したデータセット

へと加工し、高い効率・品質で活用できる分析基盤を運用しています。

データエンジニアのとある1日

上記のようなミッションを持つデータエンジニアの藤井のとある1日の業務を紹介します。

個人情報のログ設計

フェズが小売様から預かる購買データは、個人単位の購買データ(ID-POS)データであり個人情報保護法に準拠して利用する必要があります。

そのため、フェズ社内でどのように購買データが利用されているかをログに残し分析できる環境をデータエンジニアが作っています。実際この日の業務では、購買データを利用した監査ログを簡単に分析ができるようBigQuery上に分析環境を用意するプロジェクトを進行しました。

アプリケーションに合わせたスキーマの作成

分析者やアプリケーションの要求に合わせてデータ基盤を改善するのもデータエンジニアが行う定常的な業務になります。

この日はあるアプリケーションで特定のテーブルにスキーマを追加したいという要求があっため、そのスキーマを追加する処理を実行しました。この時、アプリケーションの要求にただ応えるだけでなく、フェズ全体として最適なデータ基盤を作ることを心がけています。特定のアプリケーションへの対応が別のプロジェクトで支障が出ないかを確認するのはもちろん、全ての利用者にとって利用しやすいような仕様をデータエンジニアから提案することもあります。

Composer構築による開発環境の最適化

フェズは自社で活用するデータ基盤だけでなく、小売様自身が活用するデータ基盤の開発も行なっています。これにより、フェズのプロダクト・サービスとして価値提供する部分だけでは補いきれない、小売様ごとにカスタマイズする必要のあるサービスやデータ分析も包括的に支援することができています。

現状フェズでは管理コストの観点から自社の開発環境と小売様の開発環境でComposerを分けていませんが、依存関係を分離したりパフォーマンスを最適化する観点からComposerを分離することを検討し始めています。この日の業務ではComposerを分けることのメリット・デメリットを整理するという設計を行いました。

障害の通知先の制御

データ基盤を安定的に運用する上での障害の管理もこの日の業務として行いました。

具体的には障害の種類に合わせて、必要な利用者に通知がいくようにデータ処理とグループ設計のマッピングを作成しました。これにより必要な利用者のみに障害の通知が届きより円滑な障害対応が行えるようになることを目的としています。

データ基盤とアウトプットとの繋がり

ここからはデータ基盤をデータアナリストとして利用する立場である小池の観点から、データエンジニアの業務がどのようにアウトプットに繋がっているかを簡単に説明してみます。データアナリストとしてフェズのデータ分析環境の特徴を挙げると

  1. 購買データを中心に顧客の解像度を上げることができる
  2. 上手くいった分析成果物を拡張させることができる

という2つの利点があると考えています。

1つ目について、顧客のオフラインでの購買行動をID単位で分析できる環境はマーケティングサービスを提供する上で非常に大きな資産となっています。またフェズの購買データは外部データとの突合子を持っているため購買と他の因子を掛け合わせて分析をすることが可能です。フェズのデータ基盤の中では様々なデータをID単位で突合して顧客を深く分析できる環境が整っているため、アナリストとして分析インサイトが出しやすい環境だと考えています。

2つ目については、「小売データの横断性」が担保されていることによって分析のスケーラビリティがあることを現しています。フェズでは、ある特定の小売様のデータを使い上手くいった分析ができれば、基本的には参照テーブルを変えるだけで他の小売様、もしくは小売横断のデータにおいても同じ分析が実現できる環境が整っています。従って、優れた分析成果を生み出すことが拡張性のある結果に繋がることも魅力の1つです。

このポジションの魅力

最後に、藤井にこのポジションの魅力ややりがいなどを聞いてみました。

藤井「このポジションの魅力はやっぱり、自分達の手で会社の基盤を作っていく実感でしょうか。

ここをもっとこうしたい、この課題にはこう取り組みたい、といった”思い”を実現するために、チームみんなでディスカッションをして計画を立てて実装して、という事ができるので自分達の手でものを作っている実感は強いです。

特に、答えのない課題について、様々な観点からフラットに調査・検討して最良な手を判断していく、という作業は自身の経験にもなりますし、個人の実装力だけでなく”チームでものづくりをする”という点についても大いに身になると思います。」

終わりに

今回の記事では、データエンジニアのとある1日の業務を紹介させてもらいました。フェズのデータ基盤の特徴やデータエンジニアの業務の理解が進む助けになれば嬉しいです。

フェズでは、データエンジニアやバックエンドエンジニアとして一緒に働く仲間を探しています。
少しでも気になった方は、ぜひ採用ページをチェックしてみてくださいね。お待ちしています!
https://herp.careers/v1/fezinc/requisition-groups/2f7da68b-b279-47b0-8183-d3f57918fe56

フェズ開発ブログ

Discussion