非エンジニアでもSQLが扱えると便利だよね、という取り組みの話

非エンジニアでもSQLが扱えると便利だよね、という取り組みの話

こんにちは!
第1事業部『ドラゴンクエストタクト』チームの中根です。

Aimingでは、オンラインゲームの開発・運用において、仮説を立てながら未来のイベントや新規コンテンツの立案、既存コンテンツの改修を検討することを重視しています。

検討にあたり、「寄せられるご意見」や「SNSなどの反応」などのお客さまの生の声はもちろんのこと、ユーザーの膨大なプレイデータを集計・分析して活用しています。

今日は、Aimingでは「非エンジニア」(主に運営職)がSQLを学び・活用しながら分析や仮説立案に取り組んでいる。という話を紹介します。

そもそもSQLとはなんなのか

ざっくり言うとデータベースを検索するための言語です。
私たちはユーザーのプレイログを検索したり集計したりするために使用しています。
(正確で詳細な定義はWikipedia先生等をご確認ください!)

Aimingって集計データを手軽に見られるツールが無いの?

あります!大丈夫です!
基本的な集計データ (売上・利用者数・購入者数など)はSQLを自分で実行せずとも手軽に見ることができるツールがあります。日々定型的な数字はそこで確認をしています。

どんなときに非エンジニアがSQLを使用しているのか

定型的なデータに条件を加えたり、定型から外れたデータを深堀りしたりしたい時などに活用しています。

SQLで抽出する情報の例

  • イベントごとの参加率やクエストの進行度、周回状況の把握
  • 新登場したキャラクターの「ある時点」での育成状況(レベルの中央値等)
  • 特定の期間にゲームを開始したユーザーに限定した課金率や顧客単価の調査
  • 「特定の条件を満たすユーザーに限定した」ActiveUserの推移  などなど…
  • なぜ非エンジニアがSQLを活用するのか

    便利で早いからです。

    エンジニアにログの集計や抽出を依頼する場合、

    1. 欲しいデータについてエンジニアに伝わる、正しい要件文書を用意する
     ↓
    2. エンジニアの作業時間を確保し抽出してもらう
     ↓
    3. 抽出結果を受け取って欲しいデータであるか確認する

    という工程を踏むことになりますが、エンジニアが忙しければ、抽出結果が届くまで数日かかる場合もあります。要件定義に問題があった場合や認識の齟齬が生じれば、思っていたのと微妙に違うデータが到着する場合もあります。もし、データが取り直しになれば上記の1から3までの工程を、欲しいデータが受け取れるまで何度も繰り返すことになります。

    多くのエンジニアの時間を拘束することになるし、欲しい抽出結果を受け取るまで何週間もかかってしまえば次の施策決定までに調査が間に合いません。非エンジニアが少しでも自分でSQLを扱えるようになれば、その分のコミュニケーションコストやエンジニアの作業コストをゲーム開発そのものに使うことができるようになります。

    SQLを利用する環境について

    Aimingの多くのプロジェクトでは「BigQuery(Google Cloudが提供しているデータ分析を支援するサービス)」を活用しています。ゲームのログをBigQueryに保存しSQLを利用してデータを検索・集計することができます。
    ログの保存自体はエンジニアに依頼していますが、その後は複雑な環境構築の必要がなくブラウザのみで簡単に利用することができますし、SQL文のサジェスト機能もあります。また、保存されたデータそのもののupdateを制限することもできるため操作によってデータを壊してしまう心配も無く、非エンジニアにとってとても使いやすいです。

    一方でBigQueryは料金に注意が必要です。従量課金制の場合、検索するデータの量を考慮し忘れると1回実行するだけで新車が買えちゃうくらいのとんでもない料金がかかることもあります。
    そこでSQLを頻繁に利用するプロジェクトでは「料金定額プラン」を導入し、費用を気にせずSQLを思う存分に実行できる安心ライフを手に入れました。うっかり膨大なデータの検索を実行してしまったとしても冷や汗をかく必要もありません。

    ド素人でもSQLが扱えるのか

    ある程度なら誰でもできます。イチから組み立てられなくても過去に利用したSQLを参考にすることができるので、日付や条件を調整するだけならコピー&ペーストでもできます。
    また、SQLマスターに勉強会を開催してもらえたり、マスターやエンジニアへの相談しやすい環境があったりするなど学習に恵まれた環境が社内にあります。

    勉強会用のスライドの一部

    講師が初心者の目線に合わせた内容にしてくれています
    SQL勉強会2 SQL勉強会3
    ※一部ブログ用に加工しています。

    本日この記事を書いている私自身、

  • 人生文系に全振り、文学部出身で学生時代は作者の気持ちだけを考えていた。
  • プログラムを勉強しようとして最初に「format」コマンドを実行してPCのOSごと全部消したことがある
  • という無理めなスペックですが、周囲のサポートを受けながら簡単ものは実行できるようになり、少しずつできることを増やしている最中です。

    SQLを活用した分析会を開催

    第1事業部のあるプロジェクトチームでは、月に1回「データ分析会」を実施しています。前月に実施したイベントやキャンペーン、アップデートの内容から調査するデータを相談、調査項目を決め担当を割り振り、それぞれが調査した結果を持ち寄り発表する会です。

    クエストのクリア状況ややり込み状況を過去のイベントと比較して、難易度や報酬が適切であったかを論議したり、レベル別のActiveUserの推移や復帰ユーザーの継続状況から今回のアップデート内容がどの層にどう映ったのか、追加した武器の育成度合いからユーザーからの人気の度合いはどうだったのかなどを推測し、それを踏まえて今後どのようなイベントやアップデートをしていくべきなのか仮説を立てて論議したりしています。

    新卒1年目~アラフォーまで、多くのメンバーが実践的にSQLに触れスキルが磨ける機会となっています。

    最後に

    ということで、今回は非エンジニアでもSQLの活用に取り組んでいるという話を紹介しました。
    最後に自戒の意味も込めて大事なことをひとつ。

    本当の目的は「SQLを用いてデータの抽出ができること」ではなく抽出したデータから導き出される仮説を考え、次の施策に活用すること

    SQLが扱えるようになることがゴールではないってことは、忘れないようこれからも精進していきたいと思います!

    宣伝コーナー

    株式会社Aimingでは一緒に働く仲間を募集しています。第1事業部では『ドラゴンクエストタクト』をはじめとした運営中のゲーム開発は勿論、今後リリースされていくであろうプロジェクトも進行中です!運営・プランナー・エンジニア・デザイナーとあらゆる職種を積極採用中です。

    興味を持っていただけましたらぜひ採用ページもご覧ください!
    https://recruit.aiming-inc.com/

    読んでいただいてありがとうございました!