Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MTC2018 - Customer Experience Improvement

92cdcff298e89e2fcd2fb705155c2d4b?s=47 mercari
PRO
October 04, 2018

MTC2018 - Customer Experience Improvement

Speaker: Shingo Ichikawa

Mercari places particular importance on Customer Service. The Customer Service team has grown in tandem with the application, and they work every day to improve the user experience. More than half of Mercari’s employees work in Customer Service, and in this session Ichikawa will speak about what systems the team uses, how they monitor the listings and transactions of 10.75 million MAU, and how the Customer Service systems will evolve as Mercari shifts to microservices.

92cdcff298e89e2fcd2fb705155c2d4b?s=128

mercari
PRO

October 04, 2018
Tweet

Transcript

  1. Customer Experience Improvement Shingo Ichikawa Software Engineer (Backend)

  2. Software Engineer Backend Shingo Ichikawa

  3. Improving the Customer Experience

  4. Customer Experience • Simply having good features/designs or offering inexpensive

    items is not enough to set Mercari apart from its competitors. • To ensure that users continue to choose Mercari, it is important to provide an experience that surpasses expectations. • Mercari has had a Customer Service team since it was founded and works to improve CX.
  5. Mercari Number of Downloads 75,700,000 (JP) Monthly Users 10,750,000  GMV 

    96.1 Billion (Total for April - June 2018)
  6. Mercari CS • There is a huge number of listings

    and transactions. There have been a considerable amount of troublesome incidents and item listings that violate our terms and conditions. • To provide users with a safe and trustable service, CS provides various forms of support and monitors items, accounts, and transactions. • Mercari alone has 750 employees, over half of which are CS members.
  7. Mercari CS Sendai Responding to user inquiries Item surveillance Etc.

    Fukuoka Phone support Etc. Tokyo Product development Advancing automation Etc.
  8. CSTool • A generic name for the systems used by

    the CS team since the company was founded • Currently in its second generation • Mainly uses PHP 7.1 + DietCube (backend), React (frontend), and BootStrap (CSS) • Features for responding to user inquiries, account/item surveillance, and content management (news, Mercari box, etc.) are implemented by the team
  9. Agenda • Implementing Machine Learning into Item Surveillance • Efforts

    for the Transition to Microservices • CSTool Re-Architecture
  10. Implementing Machine Learning into Item Surveillance

  11. Item Surveillance • Among the increasingly abundant items listed day

    to day, there are many for which transactions are prohibited for various reasons. • Mercari monitors the service to ensure that normal users do not accidentally conduct transactions involving prohibited items or accounts. • When such items/accounts are detected via item surveillance, a report is generated that can be checked with CSTool. CS then handles it on a case-by-case basis. • For high-risk items, there are cases where the offending items/accounts are hidden at the time the report is generated.
  12. Item Surveillance Client Mercari API Q4M Monitoring Worker sell request

    en-queue de-queue hide / report request insert / update Sakura Ishikari DC - Mercari API: PHP - Messaging: Q4M - Monitoring Worker: PHP - Database: MySQL
  13. Item Surveillance with Machine Learning Client Mercari API Machine Learning

    Platform sell request publish_1 subscribe_1 hide / report request insert / update publish_2 Monitoring Worker subscribe_2 Google Cloud PubSub Sakura Ishikari DC - Mercari API: PHP - Database: MySQL GCP (GKE) - Monitoring Worker: Go - ML Platform: Python
  14. Item Surveillance • Medical goods, adult goods, cash, etc. are

    detected using dozens of different models. • Items determined to be in violation will be hidden from other users within seconds. • Currently, surveillance through word searches and AI can coexist. • This can be considered the first CSTool microservice.
  15. Efforts for the Transition To Microservices

  16. Taks for the Transition to Microservices • The system will

    become increasingly complex as it gains more possibilities and flexibility from the transition to microservices. There will be new challenges that cannot be solved using the current methods. • We hope to handle things as smoothly as possible in order to reduce CS’s load. ◦ In particular, for the CS members extracting data through SQL • In general, Mercari’s microservices currently interact using gRPC, but going from PHP to gRPC would be difficult.
  17. CSTool Mercari API SQL Data Fetching HTTP Request Now

  18. CSTool Mercari API SQL Data Fetching HTTP Request SELECT …

    FROM items JOIN item_x ON ... JOIN transactions ON … JOIN users ON ... Now
  19. CSTool Mercari API SQL Data Fetching HTTP Request Future Item

    Service User Service gRPC gRPC
  20. GraphQL

  21. CSTool DB Service Data Fetching HTTP Request User Service Item

    Service GraphQL Service Mercari API gRPC gRPC gRPC Future GraphQL
  22. Client Generation proto repository client repository (Go, Python, PHP, etc…)

    master feature master feature Circle CI Circle CI Circle CI
  23. CSTool GraphQL Service Service A Service B Service C Service

    A Client proto request proto response GraphQL Query on HTTP Request HTTP Response Service B Client Service C Client GraphQL Service
  24. GraphQL Service • Use Go + gqlgen ◦ It is

    possible to define the API via SDL and automatically create the server code. • The decision to start with Go was made because the team had a strong desire to learn the language, and because it was easy to gain support from the company. • Making requests from CSTool will become easier and more flexible, but there will be new tasks stemming from GraphQL (monitoring, N+1).
  25. CSTool Re-Architecture

  26. CSTool Re-Architecture • It’s been more than 4 years since

    the current CSTool was made. • Our services and CS have both grown considerably, so we can no longer say that the current CSTool is optimal. • We will reevaluate existing work duties and flow, and redesign or replace the CSTool. • First, we will start with the goal of increasing the item surveillance team’s productivity.
  27. Conclusion • It is vital to increase CS’s productivity in

    order to continue improving Mercari’s customer experience. CSTool is an extremely important part of Mercari. • Currently, two CSTool development projects are running simultaneously: ◦ Working to keep the pace amidst the transition to microservices on the API side (GraphQL Service) ◦ Redesigning or replacing CSTool • CSTool’s development structure will be our main task moving forward.
  28. None