現在、メルカリの月間アクティブユーザー数が2,300万人を超え(2024年8月時点)、膨大な数のお客さまの取引があるため、時には問題に直面するお客さまが出てくることは事実です。またグループ全体としてはフリマ事業に加え、決済事業、暗号資産取引事業、スポットワーク事業など、多岐にわたる領域でサービスを展開しているため、これらのサービスの展開と成長に伴い、毎月の問い合わせ数が増加し、問い合わせ内容も複雑化しています。その結果、お客さまに迅速かつ的確なサポートを提供する難易度がますます高まっていました。
そこで機械学習によってお困りごとを特定し、素早くサポート情報を提供するための自動返信を行う「Auto Reply」プロジェクトが社内で動き出しました。この「Auto Reply」を実装するまでにどのような道程があったのか、それによってどのような成果が得られたのか、プロジェクトのキーパーソンたちに振り返ってもらいました!
この記事に登場する人
-
岡村啓汰郎(Keitaro Okamura)大学卒業後、広告代理店でキャリアをスタートし、その後エンジニアにジョブチェンジしたのち受託開発会社でフロントエンドエンジニアとしてEC関連のサービス開発に携わる。2021年にメルカリに入社し、Contact Centerチームのソフトウェアエンジニアとして、Customer Support領域でオペレーターがお問い合わせ業務で使うContact Toolの開発に従事。現在はContact CenterとCS MLチームのエンジニアリングマネージャーを務めている。
-
Prashant Anand2019年にMLエンジニアとしてメルカリに入社。本番環境で運用するスケーラブルでパフォーマンスの高い機械学習システムの構築を専門とする。現在は、お客さまからの問い合わせを迅速に解決するためのMLサービスの開発を率いる。趣味はカフェめぐり、ロードトリップ、ピアノ、ミラーレスカメラを片手に旅先のさまざまな街を歩くこと。
-
桂尚輝(Naoki Katsura)2023年にML Engineerとしてメルカリに新卒入社。現在は、MLを用いたカスタマーサポートのオペレーション最適化に取り組む。大学および大学院では、Vision&Languageの分野で研究しつつ、Computer Vision分野における大会での上位経験や画像からの骨格推定や病理画像からの疾患予測の開発経験を持つ。
-
宮本琳太郎(Rintaro Miyamoto)AIスタートアップ、Eコマース企業での自然言語・テーブルデータを用いたMLモデル開発の経験を経て、2022年6月入社よりML engineerとしてカスタマーサポートチームの業務効率化に携わっている。現在はお客さまのお問合せに対し、最適な返答テンプレートをリコメンドするタスクを行い、モデリング〜効果検証〜プロダクト実装まで全てのプロセスを担当する。
-
松村晋吾(Shingo Matsumura)CS Programチームマネージャー。2018年に株式会社メルカリへ入社後、CSの照会オペレーション、権利侵害オペレーションチームのマネジメント担当。2021年よりメルカリShops立ち上げのため株式会社ソウゾウへ異動、Customer SuccessのStrategyチームマネージャーとして、CS&TnS組織立ち上げ、Shopsのマーケットポリシーを策定。2023年5月にメルカリへ戻り、CS領域のプロジェクトマネージャ。趣味は沖縄旅行と日本酒。
機械学習を用いたCS業務の効率化によって、お客さまのお困りごとを迅速に解決する
──まずは、CS MLチームのミッションからうかがっていきたいと思います。
@peter:CS MLチームのミッションは端的に言うと、カスタマーサポートアソシエイトが迅速かつ適切なお問い合わせ業務を行えるプロダクトの提供と、お客さまのお困りごとを迅速に解決することによるお客さまの体験向上です。
機械学習を用いたCS業務の効率化によって業務負担を軽減し、コスト削減に貢献すること。機械学習を用いてお客さまのお困りごとを迅速に解決し、お客さまの体験向上によるGMVのグロース(サービス促進)に貢献すること。GMVはメルカリでどれくらいのお金の流れがあったかを表す金額で、メルカリの成長をはかったり目標を決めるときによく使います。私たちは、このCSの生産性やコスト削減(守り)とGMV貢献(攻め)の2つの軸を持っています
岡村啓汰郎(@peter)
@prashant:私たちチームのミッションは、AIを活用し、カスタマーサポートに相談するお客さまの体験と、問題解決をサポートするカスタマーサポートアソシエイトの体験、その両方を向上させることです。
──みなさんはそれぞれどんな役割を担っているんですか?
@catla: 私自身はMLエンジニアとして開発に従事していますが、開発周りで役割が固定されているわけではありません。最近は、機械学習モデルをリリースした時の影響の推定を行うことが多いですね。
チームとしての取り組みは、機械学習を用いてお客さまからのお問い合わせを理解し、自動対応可能な部分は自動返信を行うことでカスタマーサポートからの返信の待ち時間を無くしていくことを目指しています。また、複雑な問題に対しては適切なカスタマーサポートアソシエイトに繋ぎ、返信対応をサポートするようなシステムを開発することで対応にかかる時間を最小化していきます。
@prashant:私はこの5年間CSのMLチームに所属するMLエンジニアとして開発に携わり、LLMやMLMを活用して問い合わせに自動返信する機能、問い合わせを振り分ける機能、カスタマーサポートメンバーにテンプレートを提案する機能などの開発をリードしてきました。
@rinrin:私の役職はMLエンジニアですが、この半年間はEM&PMサポートとして、プロダクトマネジメント業務を遂行してきました。具体的には、CS MLチームの代表としてCSやProductチームのステークホルダーと連携し、施策の企画および実施における合意形成を担当しました。
私たちはCSの膨大なデータを活用し、お客さま体験の向上およびオペレーションの最適化に取り組んでいます。これまでの代表的な取り組みとしては、オペレーターへの返信テンプレートのサジェストシステム、問い合わせカテゴリ予測によるアサインの最適化、そして今回お話する「Auto Reply」プロジェクトが挙げられます。
@peter:CS MLチームのEMとして、エンジニアチームのマネジメントをしています。これまではおもにカスタマーサポート業務の効率化することを目的に、機械学習を活用したプロダクトに取り組んでいました。
メルカリではスキルルーティングという、お問い合わせに関連するスキルから、その問い合わせに対応できるスキルを持つカスタマーサポートアソシエイトにルーティングする機能があります。CS MLチームの開発した「Skill Assignment」では、機械学習によってお問合せのカテゴリを予測し、適応可能なカスタマーサポートアソシエイトをアサインすることで転送コストを削減しています。また、適切にアサインすることによって、カスタマーサポートアソシエイトが自身の持つスキルのお客さま対応のみに集中できるようになり業務効率化にも繋がっています。
現在は、CS業務の効率化だけでなく、お問い合わせ領域におけるお客さまの体験向上を目的に機械学習を活用したプロダクトに取り組んでいます。
@aguni:私はみなさんとは所属が異なり、CS Program チームでおもにCS領域におけるAI/ML活用のプロジェクトマネージャをしています。
事業成長とともに問い合わせ件数は増加、問い合わせ内容もより複雑に
──メルカリのCS領域における機械学習を活用した取り組みについても少しうかがいます。いつごろから、どのような方針のもとで取り組んできたのでしょうか?
@prashant:メルカリに入社した4~5年前からCSチームと共に様々な機能を開発してきました。
カスタマーサポートアソシエイトの業務負担を減らすため、返信作成用のテンプレートを提案する機能や、各問い合わせの発生原因を特定する解決タグの提案機能を開発しました。また、OpenAIのGPTモデルを活用して問い合わせに自動返信を送るテストを実施したり、各対応に必要なスキルを特定する機能を開発し 、問い合わせを適切なアソシエイトにルーティングできる機能も開発しました。
Prashant Anand(@prashant)
──メルカリのCSの独自性というか、難しさのようなものはあるのでしょうか?
@catla:メルカリグループのサービスは、C2C、B2C、 ペイメントなど幅広いお問い合わせが入信するため、グループ全体の事業を把握し、お問い合わせの傾向や、各お問い合わせにはどのような情報が必要になるのかを把握しながらモデルを作成する必要があります。
@aguni:C2C取引の個人間トラブルは多岐に渡るため、お問い合わせの種類も非常に多岐に渡ります。お客さま双方での解決を推奨するものの、メルカリ事務局への問い合わせのほとんどはCSが仲介しなければ解決できない課題になっています。
事業成長とともに問い合わせ件数は増えており、問い合わせ対応を行うカスタマーサポートアソシエイトの人数も増員してきましたが、一件一件順番に対応を行うため、どうしても解決までの時間がかかってしまうことが課題でした。
@rinrin:フリマ事業に加え、決済事業、暗号資産取引事業、そして最近開始したスポットワーク事業など、多岐にわたる領域でサービスを展開しています。これらのサービスの展開と成長に伴い、毎月の問い合わせ数が増加し、問い合わせ内容も複雑化しています。その結果、お客さまに迅速かつ的確なサポートを提供する難易度が高まっています。
@prashant:メルカリのカスタマーサポートチームは毎月50万件以上の問い合わせに対応し、80万件以上の返信を送っています。お客さま視点だととてもシンプルです。カスタマーサポートチームにメッセージを送ると、しばらくして返信が来る。でもお客さまが返信を待つその間に、裏側では膨大な作業が行われています。
問い合わせの内容は、発送や支払い、ログイン、確認、キャンセルに関するものなど多岐に渡ります。ですから、カスタマーサポートチームはそれぞれの分野を専門とする人材で構成されています。
問い合わせが入ってきたら、まず最初にカスタマーサポートまで回さずに解決できる案件かを確認します。解決できるものであれば、どんな返信を送るかという判断が必要です。
次に、カスタマーサービスでの対応が必要な問い合わせはその分野を特定し、各専門の担当者が対応します。担当者はその分野の処理基準をもとに適切な返信を考えて作成します。その後、担当者から作成した返信が送信され、それがお客さまの元に届きます。その繰り返しです。裏側で行わているすべての作業にはかなり改善の余地があり、もっと効率化できるはずです。私たちはCSチームと協力し、お客さまにワールドクラスのカスタマーサポート体験を提供することを最終目標に据えています。
@aguni:つまり、CS対応効率化とスピーディーな解決を目指すためにDX化が必要と考え、その方法として機械学習の活用を推進することとなりました。
CSだけで企画しようとすると、現行オペレーションを前提とした改善に留まってしまう傾向がどうしても強いと感じています。機械学習を活用することで実現できる「CSのあり方」は、CS MLチームの方がより最適な形を描くことができると考えています。なので、双方の知見を活かして共に理想的なCS体験の実現に向けて取り組んでいきました。
@rinrin:CSでは「Effortless CX」という目標を掲げており、CS MLチームにはこれまでの問い合わせおよびオペレーションログを活用した機械学習技術を導入することで、CS体験をより効果的に、そしてエフォートレスに改善することを一緒に目指してきました。
「Auto Reply」実装までの道程とその成果
──では、今回の本題となる「Auto Reply」プロジェクトについてうかがっていきます。プロジェクトの概要を教えてください。
@peter:「Auto Reply」はその名称のとおり、お客さまからのお問い合わせに対し、機械学習によってお困りごとを特定し、素早くサポート情報を提供するための自動返信を行っています。お問い合わせ対応に、自動返信を活用することによってオペレーターの対応が必要な件数を減らすことでCSの負担を削減します。また、自動返信が適切であった場合にお客さまの待ち時間が大幅に削減されることによるお客さま満足度向上につなげています。
これまでは、お客さま自身が自己解決できる内容へのお問い合わせ対応に、カスタマーサポートアソシエイトの時間が割かれており、カスタマーサポートアソシエイトが返信するまでの時間をお客さまが待つことになり、お客さま体験として良くないという課題がありました。
その課題に対して、自己解決できるお問い合わせ・お困りごとは何かをまずは明らかにし、時間をかけて対応すべきお問い合わせに集中するために、カスタマーサポートアソシエイトの手が必要ないお問い合わせに対しては自動返信によって対応することを考えました。
カスタマーサポートアソシエイトの手が必要ないお問い合わせとは、サポート情報としてメルカリガイドの内容を共有することで解決できるものなど、特定の知識を共有することで解決できるお問い合わせです。ここに自動返信をあてることによって、カスタマーサポートアソシエイト対応必要件数を減らし、カスタマーサポートコストを削減します。また、迅速に回答を提供することによる、お客さまのエンゲージメントを向上することを「Auto Reply」プロジェクトでは目指すことになりました。
@aguni:このプロジェクトでは、問い合わせ対応数の削減と即時返信を目標に掲げ、2023年6月頃にスタートしました。初めはLLMによる回答を前提とした開発を行っていたのですが、LLMによる回答では内容が誤っているケースが多々発生し、当初の目標である問い合わせ対応数の削減には到底及ばない結果となりました。
CSには過去から蓄積してきた問い合わせの対応マニュアルも十分にあったため、それらを活用し問い合わせ内容に応じた返信文をMLが選択して送信するという、新しいモデルを採用することにしました。
どうしてもカスタマーサポートアソシエイトの対応に比べ、自動返信は品質が劣るという課題も認識していましたが、中長期的な視点では自動返信の導入は避けては通れない道であるという強い意思の下、CS MLチームとCSのGo Boldな意思決定を行うことができました。
松村晋吾(@aguni)
──では、技術面でこだわったことは?
@catla:メルカリグループのサービスの特色として金銭に関わるお問い合わせも多いため、トラブルのカテゴリを精度高く判別し、金銭周りで誤った対応は会社の信頼を大きく失うことに直結します。最近ではLLMが普及し、コンピュータが高い精度で文章を理解し、文章を生成する時代になっています。
しかしながら、ハルシネーション(hallucination)と呼ばれる事実とは関係のない文章をあたかも事実のように生成することもあります。先ほどもお話しがあったように、当初はLLMを用いて返信文を生成する取り組みにも挑戦していましたが、トラブル対応のマニュアルをLLMに読み込ませたとしてもハルシネーションの問題もあり、対応方針にはないケースでも返金対応などを行ってしまう可能性が残りました。
@peter:当初、メルカリのお客さまからのお問い合わせに対し、LLMによる返信テンプレートをベースとした自動返信を行いましたが、2つの大きな課題が見つかりました。
1つ目は、誤った約束ごと、誤った解決法の案内などの高リスクな発言をしてしまうこと。そしてLLMの返信文にリスクとなる発言が含まれていないか担保するためのモニタリングコストがかかること。2つ目は、「正しい回答」がデータセット上で定義ができないため、AIの精度を確認するためにCSによる手動の評価にかかるコスト。
この2つの課題を解決するために、「Auto Reply」プロジェクトではお客さまからのお問い合わせに対し、機械学習モデルによってそのお問い合わせが自動返信可能かどうかを振り分け、自動返信対象であった場合に適切な固定テンプレートによる自動返信を行う方針に変更しました。
@catla:そこで我々は当初の目的に立ち戻って、本当にLLMのようなリッチな言語モデルを本当に必要なのかということを議論し、BERTのようなEncoder型Transformerを用いたクラス分類モデルの作成と、モデルの予測とお問い合わせに関わるさまざまな情報を用いたロジックベースのシステムを構築することで、ハルシネーションを避けつつ自動で解決に導く方法を取りました。
桂尚輝(@catla)
@peter:精度と品質という面では、ターゲットエリアを明確にする必要がありました。機械学習による自動返信は、カスタマーサポートアソシエイトによる確認なしでお客さまに届けることになるため、お問い合わせのエリアによってはリスク上の懸念があり、全てのお問い合わせに対して展開することができません。顧客満足度の低いエリアに対して自動返信をあてることにしぼりました。
@rinrin:CSの既存オペレーションをベースに自動化ターゲットを定めていたのですが、CS MLチームの観点でもオペレーションの改善余地を常に探すように意識していました。
ある1つの自動化ターゲットではCS MLチーム側から既存のオペレーション変更を提案し、実際にカスタマーサポートアソシエイトのマニュアルを変更した上で自動化を実施しました。結果的には、お客さま体験があまり良くなく差し戻しになってしまったのですが、Go Boldにチャレンジをし学びを得られたことは良い経験でした。
@prashant:このプロジェクトの目標は、できる限り多くを自動返信で対応することではなく、このケースなら使えると確実な場合のみに自動返信を送ることでした。つまり、極めて精度の高いシステムを開発する、ということが一番の課題だったわけです。
精度の高いシステムを構築するための策として、問い合わせのテキストデータや、ユーザー・取引に関する多くのメタデータを大量に使用し、自動返信を送るべきかを判断しました。また開発の際には、取引状況や履歴、発送方法、商品価格やカテゴリー、売る側なのか買う側なのか、eKYCのステータスなどに関するメタデータも使用しました。
機械学習モデルの学習データセット作成には、過去のデータからこれらメタデータを一括して取得する必要もありました。さらに、メタデータをリアルタイムで取得して機械学習モデルを本番環境で使用し、新規の問い合わせに自動返信が可能か判断することも求められました。そのため、メルカリ社内の様々なチームと協力し、各チームのAPIを私たちの使用するマイクロサービスに繋げなければなりませんでした。
しかし、リトリーブが必要だった一部のメタデータはAPIがないことが原因でリトリーブできませんでした。自動返信機能の分野をさらに拡大するため、現在もそれらチームとは協力を続け、必要なメタデータをリトリーブするために新たなAPI実装に向け取り組んでいます。
CSのMLチームはリソースも人員も限られているため、絶対に必要な機能をどう実現するかを考えなければなりませんでした。機械学習にはまだまだ不確定な要素が多く、最後まで実験してみないとどんな結果が得られるか分かりません。今回のプロジェクトには多くのチームが関わっていました。関係者が多いということは違う意見やリクエストが数多く寄せられるということです。そんな状況だったからこそ、「絶対に必要」な業務に専念することがいつも以上に重要でした。
──実際にどのような成果が得られましたか?
@aguni:「Auto Reply」をリリースした結果、1,000時間を超えるカスタマーサポートアソシエイト稼働時間の削減と、即時返信によるお客さま体験の改善を実現させることができました。
@rinrin:具体的には、5月にリリースを行ったターゲットでは、お客さま体験では「入信から解決までの時間:0.5%減少」と「入信から1次返信までの時間:8.2%削減」、CSでは「月々のCS operatorの業務を約1000時間削減」という成果が得られました。
また、7月に実施中のA/Bテストでは新たなターゲットの自動化を行い、お客さま体験では「入信から解決までの時間:0.1%減少」と「入信から1次返信までの時間:1.5%削減」、CSでは「月々のCS operatorの業務を約800時間削減」という結果が得られることが推定されています。
宮本琳太郎(@rinrin)
目指すのは、お客さまが自身で解決できる「Effortless CX」の提供
──最後に、CS領域における機械学習の活用のさらなる構想などあれば教えてください。
@prashant:私たちにとっての最大のミッションは、お客さまの抱える問題をより早く解決し、顧客満足度を継続的に向上させることです。これら両方の目的を達成する上でMLは不可欠です。将来的には、自動返信システムの精度をさらに高め、より多岐にわたる分野の問い合わせに対応できるようにしたいと考えています。
また、LLMをはじめとするAIベースの機能をさらに充実させ、カスタマーサポートアソシエイトの業務負担を減らしていきたいです。今は顧客満足度のトラッキングをアンケートの回答に頼っているのですが、アンケートの回答率は決して高くありません。ですのでMLを使って各問い合わせをトラッキングして、顧客満足度を確実に把握したいです。
@aguni:CSとしては、お客さまが自身で解決できる「Effortless CX」を提供していきたいと考えています。その一つの方法として、自動返信領域の拡大は不可欠です。例えば、現在メルカリでは行えていないチャット型の問い合わせ体験などを今後提供する場合にも、自動返信は非常に相性が良いと考えます。
カスタマーサポートアソシエイト対応との品質差分を埋めて行くことで、最適な問い合わせ体験の提供を実現していきたいです。
編集・撮影:瀬尾陽(メルカン編集部)