あらゆる人と、metapsが交わる場所

【エンジニア横断勉強会】メタップスワンの開発技術を深掘りっ....!

f:id:meetaps:20190930095151j:plain

さて、始まりました。エンジニア横断勉強会!

メタップスは、ホールディングスとして各事業を分社化しています。

 

本社だけでなく、各社に優秀なエンジニアが在籍しているので

そんなエンジニアが一堂に会するこの横断勉強会は

色々な意見を聞くことができる、貴重な場なんですね。

 

知見広がりまくりです。吸収するぞぉー!٩( 'ω' )و

 

前回の記事

〜勉強会の前に〜  8月入社のエンジニア

勉強会の前に、

新しくメタップスグループに入社した大塚さん。

 

業務としては

re:shineの開発を主にしてくれています。

 

ですが、見た目が

完全にヤのつく人です。(笑)

 

話し始めると温厚で笑顔がキュートで救われました😆

3年前にメタップスに関わっていたこともあり、すぐに馴染んでいました。

 

f:id:meetaps:20190930093003j:plain

勉強会スタート!
今回の発表者は、齋藤 誠さん!!f:id:meetaps:20190930110954j:plain

株式会社メタップスワンのシステム部マネージャーです。
早速、内容に入っていきます。

メタップスワンって、どんな仕事してるの?

メタップスワンってどんな会社か、ご存知ですか?

(詳しくは、あまり....)

なんて思っていると、スライド用意してくれてました!

 

f:id:meetaps:20190930111057p:plain



なんと設立2019年......つまり今年!!

出来立てホヤホヤの会社でした( ´ ▽ ` )

メタップスグループのマーケティング3社が合併して誕生したんですね。

メタップスワンのプロダクトは8つ? 

そんなマーケティングに強いメタップスワンのプロダクトは大きく分けると

 

・広告プロダクト系

・メディア系

・アプリ系

 

の3つ。

 

細かく分けると8種類です。

(プロダクト多い!!)

 

f:id:meetaps:20190930093227p:plain

それぞれ見ていきましょう。

メタップスワンプロダクト①

become.co.jp

まずはじめに、先ほどの図で言うと真ん中

メディア系に属する、Become.co.jpからご紹介します。

 

Becomeは、価格比較サイトでEC系のサービスです。

かれこれ、12年ほど、稼働しています。
(長く続いてるサービスほんとすごい)



ECサイト(A◯azonとか、楽◯とか)の商品をまとめて検索できて、

色々なサイトの価格を見ながら商品を検索することができるサービスです。

現在2000万商品のデータベースを持っているとのことでした。

 

Become公式HP

 

f:id:meetaps:20190930093337p:plain推しの機能として

いろんな商品が見れるのはもちろん、

各商品に価格の推移チェッカーがついています。

 

価格の推移が月ごとで見れるため、

季節により価格が変わる商品や

型落ち商品を購入する時に、すごい便利ですね!!

 

(意外にも、価格変動しなさそうな、

食料品とかも価格結構変わるんですよね...

値下がりしたタイミングで買えるし...賢い🤔)

 

いろんなECサイトからデータを引っ張ってきて、自動的にカテゴリ付けをしたり、

広告の自動入札をしたり、裏では高度なことをしているようです。



メタップスワンプロダクト②

BFP(Become Feed Platform) で、最適化されたデータフィードの生成

 

続いては、Becomeの開発から生まれたサービスのBFPです。

 

データフィードを、

媒体のフォーマットに最適化して生成するサービスです。

 

ECサイトによっては、商品数が多かったりするなど、商品データを作るのが難しいケースがあるので、BFPが自動的にクロールして、GoogleやLINEやIndeedなどの広告媒体に合わせて最適化するのはとても便利ですね。

 

f:id:meetaps:20190930093415p:plain

メタップスワンプロダクト③

XAID(クロスエイド) で、広告の一括管理や効果計測を!

一言に広告と言っても、

様々なアドネットワークやASP等の広告プラットフォームから配信されているものがあり、

広告主からすると、一覧で見れずに広告効果がわかりづらいという問題があります。

 

XAIDは、そんな多くの広告配信を、一括管理することで

広告効果をわかりやすく、最適化を行うサービスです。

 

f:id:meetaps:20190930093449p:plain

メタップスワンプロダクト④

rossi(ロッシ) で、電子書籍に特化した不適切画像の排除を!

意外かもしれませんが、

電子書籍はセクシー系のコンテンツが多いんです。

広告配信時の掲載基準の多くは、セクシー系はご法度です。

 

そこで、不適切画像のみを除外して、広告配信する必要があります。

 

rossiでは、AIを使い不適切画像を判断し、

広告配信可能かどうかを判断します。



画像の自動分類分野はAIの強みで、

流行りでもありますが

 

イラストに弱い!!

 

そこでrossiは、

イラストに対しても不適切画像を判断できるAIを開発しました。

 

これにより、安心して電子書籍に対しても

広告を配信することができるサービスがrossiです。

 

f:id:meetaps:20190930111112p:plain



メタップスワンプロダクト⑤〜⑦

toC向けの動画編集アプリも!

f:id:meetaps:20190930093544p:plain

メタップスワンプロダクト⑧

miel(ミエル) は、AIを用いたファッションマッチングアプリ!

 

mielは、インスタグラマーの最新の投稿や保存した写真から、

AIが似ている商品を 様々なファッションECサイトから探し出して提案するアプリです。

 

提案された中から気になるものをタップすれば

直接ECサイトの商品ページに遷移し、購入することができます。 

 

最近リリースしたばかりのプロダクトで

横展開も考えると、非常に楽しそうなプロダクトです。

 

f:id:meetaps:20190930111124p:plain



ここまでが、主要なプロダクト一覧です。

流石に8個もあると、簡単に紹介しただけでもボリューミーですね。

アーキテクチャ概要・使用技術

多くのプロダクトがあるため、使用技術と言っても様々ですが、

共通環境としては、以下に記載。

 

12年稼働しているようなサービスもあれば、

新しいサービスもあるため、非常に多様なツールを使用しています。

 

f:id:meetaps:20190930093719p:plain 

これだけでは、少し伝わりにくいので、

1つのプロダクトをピックアップして、開発環境について詳しくご紹介。

 

XAIDの使用技術・開発環境について

XAIDは、多くのアドネットワークやASP等の媒体を

一元管理する広告効果測定システムです。

 

基本的な仕組みとしては、

広告クリックの際に発行する広告IDを

成果発生時に XAIDに送信してもらうことで

クリック数とコンバージョン数を計測しています。

課金やユーザーのアクションに応じた細かい計測分析もできるそうです。

 

使用技術としては、

2年前にクラウドへ移行したこともあり、

GCPのサービスが多めになっています。

GCPを採用した理由は、インスタンス性能やBigQueryの存在が決め手だそうです

 

使用言語は、主にphpです。

DBにはpostgreSQL、計測ログ等やWebの行動の分析はTreaseredataに投げて行います。

 

監視には、mackerelを使用し、

ログは、GCPのStackdriverで集約して、

Google BigQueryに投げています。

 

postgreSQLからTreasure Dataへ流す際のETLには、

Digdag やembulkを使用。

 

プロジェクト管理については、Redmineを使用して、

チーム開発を行っているようです。

 

f:id:meetaps:20190930093741p:plain

※用語解説

Treasuredata:自社のデータと他社のデータを1つに統合し、保管・分析などを行うクラウドサービス。広告やECのデータ分析などのビッグデータを扱う基盤として利用

Stackdriver: クラウドベースアプリケーション向けの監視機能やロギング機能を提供するモニタリングツール。GCPやAWSと相性が良い

 

Google BigQuery:従量課金性のDBストレージサービス。大量のデータでもクエリ検索可能

 

embulk: 並列データ転送ツール。ファイルやDBからデータ抽出を行い、別のストレージやDBへ転送するためのツール。プラグインが豊富なのが特徴

 

digdag: 複雑なタスクを実行するためのTreasure Dataが開発したOSSのワークフローエンジン。依存関係のあるタスクも含めて管理可能であり、データロードからETL、集計処理などの流れを自動化して、エラー時には通知等を行うことが可能

 

Cloud Loadbalancing: GCPの中でも特に優秀と言われるLoadbalancing。自動スケールと負荷分散を行う。例えばグローバルな負荷分散ではアクセス元を分類し、近くのリージョンへアクセスするように促す

 

Redmine: OSSのプロジェクト管理ツール。チームでシステム開発する際の進行表の役割。

XAIDのインフラ構成

広告クリックすると、LoadBalancingを経由して共用サーバーに入り、

必要に応じてDBへ保存します。

DBへ入ったデータは、ETLされ、TreasureDataへ送られます。

 

簡単なダッシュボードは、GCPのApp-dashboardで行い、

より細かい分析に関してはredashで管理。

 

場合により、広告主Webサイトでのサイト内回遊データを、

Google AppEngine上で動作するプログラムとサイト上のJSタグで、XAIDの広告IDとWebサイトのCookie idをマッチングさせ、

TreasureDataへ送っています。

 

f:id:meetaps:20190930093838p:plain

XAIDの開発方針・方法は?

打ち合わせは、週1で行い

追加機能に関しては、Backlogプラグインを使い

優先度順にバージョンを切りながら、開発しています。

 

f:id:meetaps:20190930093908p:plain

〜まとめ〜

メタップスワンの持っているプロダクトを

一覧で振り返る良い機会でした!

 

設立が2019年というのも意外でしたが、

ECや広告、データフィード周りの知識もさながら

 

AI・機械学習もすでに製品に導入しているプロダクトもあり、

そこらへんで困ったらメタップスワンの人を頼ろうと思います(笑)



ありがとうございました!

 

------------------------------------------

そんなメタップスでは、

フロントエンジニアに限らず、

ジュニアからシニアまで、幅広く採用してます。

 

是非、お気軽にご連絡ください!

 

f:id:meetaps:20190930094050j:plain