1. 10X.fm
  2. #112【エンジニアの部屋第5回..
2023-11-21 22:53

#112【エンジニアの部屋第5回】未来を作るデータサイエンス&エンジニアリング部 with @Kazk1018

エピソードをシェアする

Share on X Share on Facebook Share on Threads

10Xのソフトウェアエンジニア・futaboooがホストとなり、社内外のエンジニアをゲストにお呼びし、テック関連やチームマネジメントの話題について語るpodcast企画「エンジニアの部屋」

第5回は10Xのデータサイエンティスト・谷口和輝さんをゲストにお迎えし、データサイエンスについてお話ししました。

▼スピーカー
ゲスト:谷口和輝さん(Data Scientist / @Kazk1018
ホスト:futabooo(Software Engineer / @futabooo

▼ハイライト
  • 自己紹介
  • 4kレーザープロジェクターを買った話
  • データ分析基盤hermes(エルメス)の話
  • 実験計画の話
  • セレクション&ディスカバリーの話

▼参考ページ
10X10Q - 谷口和輝さん
https://10x.co.jp/blog/10xblog/10x10q-taniguchi/ 【10,000字詰め込みました】10Xのデータに関わる職種を紹介します(2022年12月版)
https://product.10x.co.jp/entry/2022/12/07/115937 Nebula Cosmos Laser 4K
https://www.ankerjapan.com/products/d2350

●番組へのおたよりフォーム
https://bit.ly/3TBBpSC
Twitterからは「#10Xfm」にて感想等お待ちしております!

●10Xでは一緒に働くメンバーを募集しています!
https://bit.ly/42teLQh

●10X.fmについて
10X.fmは、「10xを創る」をミッションに、小売チェーン向けECプラットフォーム「Stailer(ステイラー)」を提供している株式会社10Xのメンバーが、日々の仕事や生活の中で経験した出来事・学び・プロダクトに対する思いを(つつみ隠さず)リアルにお届けしていくポッドキャスト番組です。

サマリー

株式会社10Xソフトワークエンジニアのふたずさんは、エンジニアの部屋第5回に参加しています。ふたずさんはエンジニアリング本部のデータサイエンス&エンジニアリング部に所属しており、現在はデータ分析や機械学習の仕事をしています。ユーザーの体験やニーズを考慮しつつ、レジ前での商品推薦を行う際に重要なのは、補正の程度です。また、セレクションとディスカバリーは、商品マスターチームとの連携も重要です。さらに、マスターデータの品質を保つためには、データパイプラインの作成や品質チェックも行われています。

エンジニアの部屋第5回参加
皆さん、こんにちは。株式会社10Xソフトワークエンジニアのふたずです。
この10X.fmは、10Xを作ろうミッションに、高リーチMKECプラットフォームStaylerを提供している株式会社10Xのメンバーが、
キャリアや日々の出来事、学び、プロダクトに対する思いを包み隠さず、リアルにお届けしていくポッドキャスト番組です。
今回は、10X.fm内の企画の一つである【エンジニアの部屋の第5弾】として、お届けチームの谷口さんにお越しいただいています。
谷口さん、よろしくお願いします。
よろしくお願いします。
早速なんですけども、最初に簡単に自己紹介お願いできますでしょうか。
はい。今、エンジニアリング本部のデータサイエンス&エンジニアリング部というところに所属しています。谷口と言います。
職種はデータサイエンティストという職種をやってまして、主に社内のデータを分析してみたり、
プロダクトに対して新しい知見を出したりとか、機械学習のアルゴリズムを作ったり、
そのデータを触るためのデータ基盤を作ったりというような仕事をしたりしております。よろしくお願いします。
よろしくお願いします。
最初は全然関係ない話なんですけど、
データサイエンティストの仕事
最近プロジェクターを買ったというお話をお伺いしたんですけど。
そうなんですよ。
4K映るレーザー光源プロジェクターみたいなものを買いまして、
僕はずっと家にテレビがなかったんですけど、
テレビの代わりにずっとパソコンとかで映像を見てたんですけど、
それをある日、でかいので見たいなと思って、
たまたまセールで安かったので、4Kのやつを奮発して最近買いました。
めっちゃいいですね。どんなの見たりするんですか?
そうですね。映画を見たりとか、
あとは僕、eスポーツってゲームのプロの試合とかが結構好きなんで、
プロのゲームの試合を見たりとか、そういうことをしたりしてます。
ゲームはFPSとか格ゲーとか?
そうですね。まさにその2つが今多いですね。
ありがとうございます。
ご自身でもFPSとかやられたりするんですか?
そうですね。最近ちょっとやったりしますね。
いいですね。ありがとうございます。
ちょっとお仕事の方のことを聞いていきたいんですけども、
最初に社内の分析基盤っていうんですかね、
エルメスという名前のものがあると思うんですけど、
それについて教えていただいてもいいですか?
はい。エルメスはこのStaylerが保有しているデータだったりとか、
Stayler以外でも我々の授業にとって必要なデータ。
例えばですけど、我々結構宅配とか、
そういう配送というか、商品をお客様のところに届けるってことをやったりしているので、
地図というか地理的なデータが必要だったりとか、
その店舗のどれぐらいお客さんが購入してくれそうか、
店舗のために人口のデータとかみたいな、
社外のデータまで含めて、
このStaylerの授業の意思決定のために必要なデータを
蓄えておく基盤というので、
エルメスというデータ基盤、分析基盤と言われるようなものを開発しています。
ありがとうございます。
実際に地図データとか人口のデータを扱って、
社内でどういうふうに分析に使っているかとか、
お話できる範囲でいいんですけど、
具体的なのがあれば聞いてもいいですか?
そうですね。
例えばお客様の店舗でネットスーパーを始めるにあたって、
どういう店舗だとポテンシャルがあるのかというのとか、
実際の店舗とかでもどこに店舗を建てるかというのは、
すごい重要な成功のためのファクターだと思うんですけど、
ネットスーパーもそれと同じように、
どの店舗で開店をするべきかというのが非常に重要になるんですが、
そのために例えば人が多いとか、
ネットスーパーを使ってそうな年代の方が多いとか、
という店舗を選別するための分析を行っているチームがあるという感じですね。
めちゃめちゃおもろいですね。
それを僕今まで全然知らなかったので、
今日こんな面白いことやってるんだっていうのを聞いてちょっとワクワクしてましたね。
よかったです。
商権、店舗をどこに出すかとか、
商権の分析みたいなのやるんで、
例えば新しいパートナー向けにこのStaylerを導入していただくみたいな時とかの
提案とかでも使ったりとかするんですかね。
そうですね、まさにその提案時にも利用したりしているものになってますね。
Elmesを使って分析するのは、
さっきのプロダクト外のデータを使ってどこに店舗を開けるべきかみたいなところ以外だと、
他にも使っているチームっていうのはあるんですかね。
例として商権のデータの話をしたんですけど、
もちろんプロダクトのデータっていうのが全部Elmesの中に入っているので、
いわゆる2Cアプリでいうところのパネルみたいな分析をしたりとか、
こういうユーザーがカートを作るときに、
どういうところ経由で商品を入れているのかとか、
そういう分析をするようなもの。
分析には我々の部署ではなくて、
アナリティクス&インサイトっていう部があるんですけど、
アナリティクス&インサイト部のアナリストがそのElmesを使って、
実験の重要性と推薦アルゴリズム
そういうお客様の事業を伸ばすための分析をするっていうのに、
それが一番メインで使われている使い方かなというふうに思います。
その中にプロダクトのデータとかを貯める上で、
ログをどう仕込むかみたいなところも重要かなと思うんですけども、
プロダクト開発しているチームとの連携っていうのはどういう感じなんですかね。
僕がもともとモバイルのエンジニアを少しやってたとか背景もあって、
基本的にこういうデータを作りたいみたいな話が社内から来るときには、
基本的に僕が窓口みたいになっていて、
そこからデータ基盤、Elmesっていうデータ基盤の中だけで解決できるようなことっていうのは、
うちのチームで行って、
例えばどうしても開発が必要とか修正が必要だっていうものに対しては、
開発チームに連携をしています。
連携は僕自身がチームの方々と直接お話とか、
プロダクトマネージャーとかエンジニアと直接お話しして、
こういう課題があって、こういうログの開発を使用したいのでっていうので、
なんか起票をして、それをエンジニアの方に実装してもらうっていう感じになります。
ご自身でも実装とかってやったりするんですか?
そうですね、実は最近チャレンジしてみたいなと思って、
初めてダートとフラッターを触りながら環境構築をして、
とりあえず手元で環境が動くぐらいまではいって、
そこから何を作ろうかっていうところで今止まってる感じですね。
なるほど。
あれ質問にすれば、お買い物チーム、
僕がいるチームにアサインが何パーセントか付くみたいなのを聞いたんですけど、
その辺のログの実装とかをやっていくみたいなイメージなんですかね?
そうですね、アサインの意図としては大きく言うと、
3つあって、1つは、
僕、職種がデータサイエンティストと先ほど説明したと思うんですけど、
いわゆる推薦とか、
そういう商品の表示の仕方に関するアルゴリズムの開発をするっていうところで、
アサインが入ってるっていうのが1つ目と、
2つ目がお買い物チームで利用するダッシュボードっていうのを作っていくっていう。
それでお買い物チームの中で、
これが今こういう商品の注文がどれぐらいあってとか、
どういうユーザーが今買っていてっていうのが、
ちゃんとチーム内でしっかり見れるような状態にするっていうのが2つ目。
3つ目が今おっしゃってくださった、
しっかりログをためられるような仕組みを作るっていうところで、
ログ自体をそもそも作るっていうのもそうですし、
作られたログっていうのがちゃんとデータ基盤にしっかり連携できるようにするっていうところを、
基盤を含めて作っていくっていうところを3つ目としてる。
その大きい3つでアサイン決まってるという感じです。
なるほどですね。
今検索とか推薦みたいなところのお話があって、
Stelaのプロダクトの中だと今レジ前推薦とかあってると思うんですけど、
ああいうところの開発みたいなイメージですかね。
そうですね。僕自身は推薦のアルゴリズムっていうのを考えるところをやっていて、
社内にはソフトウェアエンジニアの中でもMLに特化したエンジニアがいるので、
彼が実際のプロダクトの実装をするっていうような感じでリリースされてるって感じです。
ちょっと僕があんまりわかんないんですけど、
アルゴリズムを考えるところとML特化のエンジニアとっていうのの住み分けというか、
実際にどういうことをそれぞれがやって連携していくっていうイメージなんですかね。
僕の目的は今ある動いているものアルゴリズムだったりとか、
そもそも今なくてもその機能として何か新しいもの追加しようっていうときに、
それがちゃんと入ったときに効果が出るでしょ、出るであろうっていうようなアルゴリズムとかモデルって言われてるようなもの。
要は何を表示するべきかっていうのを決めるっていうアルゴリズムの部分だけをあくまで作る。
それを例えば実験的に評価をして、実験的っていうのはABテストみたいな感じではなくてオフラインで実験をして、
これを入れたら効果が上がりそうだねっていうものを作るところまでが僕の役割で、
効果上がりそうだねってなったものを実際、例えばMLで提供していこうと思うと、
例えば学習のデータを準備したりとか、学習をする基盤を作ったりとか、
それをプロダクトにレイテンシーなく提供するサーバーみたいなものが必要だったりとか、
っていうところをリリースまでの残りの部分っていうところをエンジニアが作ってくれるという感じです。
なるほどですね。ありがとうございます。
結構僕が気になることをバーッと質問していっちゃったんですけど、
何か谷口さんのほうから他にもこういうことを話しておきたいとかっていうのがもしあれば教えてください。
そうですね。あとデータサイエンティストの仕事として、
もう一つ自分でも意識してやってることが、さっきちょっと違うって言ったやつなんですけど、実験。
実験っていうのは、どちらかというとプロダクトに出た後、実際にユーザーにとってどういう効果があったのかとか、
ちゃんとその機能っていうのが役割を果たしているのかっていうところをやる実験みたいなところとかを結構やってまして、
よく世間一般にはABテストっていうのがよく利用されるのかなと思うんですけど、
ABテストっていうのもなんか簡単そうに、聞こえは簡単そうに聞こえるんですけど、
実際ちゃんとやるのってすごい実はいろいろ準備をしたりとか、
事前にいろいろ考えられた準備をしてやると、より精度高くと言いますか、
しっかり自分たちの効果を検証できるようになるので、
そういうところをPDMとかデザイナーとかと一緒に実験こういうふうにやりましょうって設計して、
その実験を実際に回してっていうのとかを結構社内では取り組もうとしたりしてます。
実際にそこの連携してこういうふうな機能で実験をしたことがあるとかっていうのはあったりするんですかね。
そうですね。一番大きいものだと、さっきちょっと出てたレジマイ推薦をリリースするときは、
レジマイ推薦を出せるユーザー、出せないユーザーっていうか、
いわゆるABテストっていうことをやって、レジマイ推薦をやることによって大体これぐらいのインパクトが出るであろうっていうようなことは、
実験としてやったりしてました。
これぐらいのインパクトが出るだろうとか、その事前の過程というか、どういうふうに考えていくんですかね。
そうですね。レジマイ推薦は結構難しくて、もともと何もないところにレジマイ推薦を出すので、
要は比較対象があんまりないんですよね。
本来アルゴリズムをAとBと変えるだけだったら、Aっていうアルゴリズムがもともとあって、
レジ前での補正
Bに変えるなんで、大体どういう差分が出そうかっていうのは推定することとかもできると思うんですけど、
何もないところから入れるっていうものとかは結構UX的な問題、例えば画面が出てきたことによって
何か煩わしいなっていうふうにユーザーが思ってしまうネガティブな要素とかっていうのも一緒に
効果の中に含まれてしまったりするので、そういうところも含めると結構レジマイ推薦とかは
事前にこうなるだろうみたいなっていうふうに予測するっていうのはちょっと難しかったんですけど、
なんとなくユーザーが日頃買ってそうなアイテムっていうのがどれぐらい充足してるかとか、
あとはシンプルに一般的なカート追加率がこれぐらいだから、
おそらくレジ前に行くってことはその人の中では買い物がほぼ終わっていると思っていってると思うので、
その中で大体これぐらいの補正でかかるだろうみたいな、ちょっと決め打ちじゃないですけど、
っていうところで大体効果の見積もりとかをしていました。
なるほどですね。難しいみたいなところだと、自分の体験で例えばAmazonとかでこれを買ってる人はこれも買ってますみたいなのが出てくるイメージなんですけど、
なんか全然違うだろうみたいなのを思ったりすることもあったんで、そういうのだったりするんですかね。
すみません、質問が全然あれなんですけど。
一般的には買い忘れを買うっていうのが最もレジ前推薦において役割として実際に使われてるケースだったりするんですけど、
ユーザー様の中には、いわゆる1回も今まで自分が買ったことない商品をレジ前で買っているみたいな行動っていうのは実際まだ結構多く見られていて、
例えばお菓子みたいな、ちょっと日頃の必需品じゃないんだけど、ちょっと娯楽というかエンタメというかっていうような目的で買ってるような商品については、
初めてレジ前推薦で出会って購入するっていうケースが結構多かったりするので、
いわゆる今まで自分が買ってたものに再度戻ってくる回帰っていう場としてのレジ前推薦と、
新しい商品を見つけるっていう探索の場としてのレジ前推薦、両方の役割がレジ前推薦の中に含まれているのかなという印象を持ってます。
ありがとうございます。
セレクションとディスカバリー
他にもちょっと聞いてみたいところがあって、セレクションとかディスカバリーみたいなところもやられているというのを社内で何となく感じているんですけど、
この辺の話もちょっと聞いてみてもいいですか。
はい、わかりました。
セレクションって言ってるのは、いわゆる品揃えって言われているもので、
このスーパーがどういう商品を扱っているかっていうものの、
例えば2万商品あります、3万商品ありますみたいなもので、
その2万商品がどういう商品であるかっていうのがセレクションって言われているもので、
ディスカバリーっていうのは、要はそれがどれくらいちゃんと見つかるかっていう、
つまり自分の欲しい商品がちゃんと見つかりやすい状態なのかっていうのを探索をしているのがディスカバリーっていうものなんですけど、
この2つはすごい深い関係にあるなと思ってまして、
というのもセレクションある商品が、例えば自分の思っている商品が見つからないってなったときに、
その商品が本当に探しにくくて見つかってないのか、そもそも商品がなくて見つかってないのかっていうのは、
結構大きい分割点かなと思っていて、
なのでこの2つを片方だけ意識して解くというか、両方ちゃんと統合的に問題として解いていこう。
またそのケイパビリティがうちの会社にはあるので、
それをやるために2つを統合的に解くような取り組みっていうのをしてまして、
そのうちの取り組みの1つが、以前僕ブログにも書いたセレクションファネルっていうものをやっていて、
ファネルって例えばユーザーが例えば新規登録の人が何人いて、
アプリを起動した人が何人いて、登録した人が何人いて、
商品を見た人が何人いて、詳細に行った人がいて、買ったとこに来たりとか、
それが一般的なECのファネルだと思うんですけど、
それはユーザー視点だと思うんですけど、
それは商品視点にしたものっていうのがあって、
そもそも店にある在庫がまずこれだけあって、
その中でもネットスーパーで預かっているものがこれだけあって、
そのうちユーザーから見られている商品がこれぐらいあって、
ユーザーからカート追加しているもの、買われているものみたいな、
っていうファネルを作って可視化したみたいな取り組みとかをやったりしてました。
社内でも確かその話を一度聞いたことがあって、
めちゃめちゃこれ待ってましたみたいな風になっていたのを覚えていますね。
そうなんです。
でもあれは本当に一緒にやったとってぃさんとすごい発見だって言って、
2人ですごい舞い上がっていた記憶があります。
ありがとうございます。
他にもこれは話しておきたいみたいなのってあったりしますか?
そうですね、今僕の周りだと、
商品マスターチームとの連携
今データ基盤っていう話もさせてもらったんですけど、
その横に同じチームの中に商品マスター、いわゆるECの商品のカタログといいますか、
商品マスターっていうのを作っているチームっていうのも一緒にやってますと。
ここはエルメスとは違うんですかって言われると結構違うところにあって、
エルメスは外部のデータとかも持ってはいるんですけど、
パートナー様からもらったデータを直接入れるみたいなケースはほとんどなくて、
今スーパーにある商品をネットスーパーに出すにあたって、
必ずパートナー様からデータを我々のプロダクトに入れる必要があるんですけど、
その入れるための処理、データのパイプラインっていうのを作っているのが
マスターデータのチームになってます。
ここはいわゆる、ちゃんとマスターデータがしっかりしてないと
商品が表示がおかしかったりとか、在庫があるのにないとかになっちゃったりっていうのがあるので、
ここの品質をすごい保つために、しっかりデータのパイプラインを組んだりとか、
しっかり品質のチェックとかをできるような仕組みを作ったりっていうところもやろうとしていて、
今回、先ほど本部が変わったみたいな話とかもしたと思うんですけど、
そういうタイミングでデータエンジニアリングとしての機能として、
そことチーム一緒になって、今データサイエンサのエンジニアリング部でやってますので、
そことかも今すごい会社としては、やっぱりマスターってすごい大事なので、
すごい頑張っているところなので、ここで出しておこうかなと今思いました。
ありがとうございます。
その辺とか興味ある人がもしいれば、カジュアル面談などしていただけると、みたいな感じはありますかね。
ぜひぜひ、お願いしたいですね。
ありがとうございます。
いい感じの時間になってきたんで、今日はこの辺りで。
まだまだマスターの話とか、計画の話とかも深掘っていきたいんですけど、
それはまた次回機会があればお聞きしたいなと思います。
ありがとうございます。
ありがとうございます。
エンディングです。
TenX FMではリスナーさんからのお便りを募集しています。
エピソードの感想やTenXのメンバーに聞いてみたい質問など、どんなことでも構いません。
番組概要欄にあるお便りフォームからの投稿、またはTwitterでハッシュタグTenX FMでツイートをお願いいたします。
またTenXでは現在様々な職種のメンバーを募集しています。
このTenX FMを聞いてTenXに興味を持ったカジュアルに話を聞いてみたいと思われましたら、
こちらも番組概要欄にある採用情報、またはTenXのホームページのリクルートから応募をお待ちしております。
最後にSpotify、Apple Podcastなど、お聞きのPodcastアプリで番組のフォローをお忘れなく、
最新エピソード配信時にお知らせが届いたり、また過去エピソードの再生済み・未再生が一目でわかるようになり大変便利です。
今日のお相手はフタブーと谷口さんでした。それではまた次回。
22:53

コメント

スクロール