CCCマーケティング TECH Labの Tech Blog

TECH Labスタッフによる格闘記録やマーケティング界隈についての記事など

社内機械学習コンペを3年間運営してみました

こんにちは!ソリューション開発チームの中岸です。CCCマーケティングでは、TryOut!という社内機械学習コンペを継続的に開催しています。2019年2月に開始してちょうど3年が経ちましたので、これまでを振り返り、運営面の工夫や得た知見、社内の変化をまとめます。これから社内でデータサイエンス系コンペを企画する方や、データサイエンス、プログラミング等を社内に普及・啓発していく方、教育・研修・人材育成を担われている方の参考になれば幸いです。

TryOut! とは?

機械学習に造詣が深い読者のみなさまにはおなじみのKaggleを、社内でやってしまおう!というものです。社内の閉じた環境にコンペを行う場を用意し、事業部門が主催者としてお題を出し、それに対して参加者がデータを使ってアプローチします。ビジネスの課題を解決しつつ、サイエンス&エンジニアリングのスキルアップも目指します。

TryOut! 立ち上げのきっかけについてはこちらの記事をご覧ください。

生きたスキルを得るために、必要なこと。 - CCC inside | カルチュア・コンビニエンス・クラブ 新卒採用 オウンドメディア |

Kaggleについては、こちらの記事をご覧ください。

いまさら聞けないKaggleチュートリアル第1回 Kaggleとは?参加する意味とは? - CCCマーケティング データベースマーケティング研究所の Tech Blog

社内コンペを行う意義とは?

KaggleやSIGNATEなど、外部の機械学習コンペプラットフォームも存在しています。純粋に精度を追求するのであれば、広く社外のデータサイエンティストの手を借りられるプラットフォームでコンペを開催した方がよい結果が出るでしょう。その一方で、社内コンペとして行う場合には、データを社内の環境に留められることにより問題の自由度が高まること、そして参加者のスキルアップに繋がることが大きな利点です。

f:id:naka06331:20220323104143j:plain

弊社の場合ですが、参加者の中にはKaggleやSIGNATEに挑戦しているメンバーもいれば、営業部門のメンバーもいます。職種や普段の業務、スキルレベルに関わらず参加できる場を用意することで、実務においてのデータサイエンス・エンジニアリング領域への理解や職種間の連携を深めることを目指しています。

コンペテーマや問題の設定

肌感としては、賞金が増額されるよりも、テーマへの興味や共感の方が、参加人数が増えたり、参加者のモチベーションが上がったりすることに繋がるように感じます。
どういったテーマで参加者のモチベーションが上がるかというと、次のようなテーマに集約されます。  

  • クライアント業務へ貢献するテーマ
  • 自社の業務に貢献するテーマ
  • 社会的課題の解決に貢献するテーマ

運営側がするべきは丁寧な説明です。事業部門の当事者から、どのようなことに困っているか、コンペ主催の背景にはどういったことがあるのか、よいモデルが出来るとどう変わるか、どのような効果があるか、などを語ることで、参加者の共感やモチベーションに繋がります。

また、問題の設定としては、初心者から上級者まで参加を見込む場合は、拡張性があると幅広い参加者にとって手ごたえを感じられるものになります。例えば、事務局から提供するデータ以外に、外部データの使用を許可する設計にすることで、初心者は提供データのみでシンプルなところからチャレンジできますし、上級者は新たにどのようなデータを追加すると精度が上がるのか考えながら試行錯誤することができます。

参加者サポート

前述のように幅広い職種やスキルのメンバーが参加できるように、こちらのようなサポートを行っています。
f:id:naka06331:20220323104200j:plain

在宅勤務の比重が上がる時期と重なったため、動画の自習コースはそれに非常にマッチしました。その一方で、決まった時間に集まって開催されるウェビナーの方が参加しやすいという人もいました。いつでも見られる動画はついつい後回しになりがちですので、日時が決まっていて1回完結の方が幅広いメンバーから参加がありました。

1時間でpythonを体験する講座は、コロナ以前にも会議室でオフライン開催していたのですが、その時よりウェビナー形式の方が圧倒的に参加者は増えました。
課題に感じているのが、初学者向けにオンラインでプログラミングをレクチャーする方法です。ウェビナー形式で、実際にif文を書いてみる演習をしたりしていたのですが、何十人規模で行うと、本当に書けているのかエラーが出ていないかを確認ができないので心配になります。ここまで出来たら「挙手」のボタンを押してください、という方法で進捗を見ていたのですが、オフラインと比べると参加者にとって質問するハードルが圧倒的に上がると感じます。「なんかエラー出たけどなんて聞けばいいかわからない」状態になると、チャットや音声で言葉にして質問するのが難しいのではないかと思われます。この点についてはまだよい方法に行きついておらず、他に似たようなことをされている方はどうしているのだろうと気になります。

3年経って会社の変化

こちらは講座の際に折に触れて提示しているスライドです。
f:id:naka06331:20220323104210j:plain

前述のように、初心者から上級者まで職種を問わず参加を促す形で開催していたのは、上のスライドのように、課題を整理し、問題設定し、出てきたアウトプットを解釈して実際の打ち手に繋げる、という人間が考える部分が重要であると考えるからです。
特に課題の整理や結果を解釈してマーケティング施策を設計する部分は、営業メンバーの担う比重が高くなります。また、実際に問題を解くのはデータサイエンティストであっても、そもそもの機械学習のしくみを理解していること、データサイエンティストと協働するための共通言語を持っていることで、課題整理や解釈の精度も上がります。 こういったメッセージと共に、機械学習コンペを通じたスキルアップ支援を行ってきたことで、職種を問わず会社全体にAIやプログラミングに触れる意識が広まってきたように感じます。
何か大きなことをやってすぐに劇的に会社が変わりました!という事例の紹介ではありませんし、成果としてこの場に公表できる具体的な数字がないのですが、3年やり続けたら少しずつ変わってきたということで、どこかでがんばっているどなたかの励みになる部分があれば幸いです。