Slide 1

Slide 1 text

先⽣と⼀緒に プロダクトを良くする アナリティクス機能の開発 株式会社NoSchool CTO @meijin

Slide 2

Slide 2 text

TL; DR - オンライン家庭教師マナリンクで2023年5⽉1⽇にリリースした 「アナリティクス機能」について説明します - マナリンクはtoCサービス特有の特性があり、 「先⽣と⼀緒にプロダクトを良くしていく」という考え⽅があります - その考えに基づいて開発、リリース、運⽤していく⼀連の流れを 説明していきます

Slide 3

Slide 3 text

⾃⼰紹介 - 名⼈|マナリンクCTO(https://twitter.com/Meijin_garden) - 「オンライン家庭教師マナリンク」を開発 - TS(React, Vue)、PHP(Laravel)、AWSあたりが主戦場 - ほどよいLaravel×DDDを模索するのが好き - わけわからん低レイヤーのバグを踏んでも気合で解決するのが得意 - 2023年現在Zennで⼀番Likeがついている記事の著者(React) - 趣味:将棋、カメラ、ラム酒、筋トレ、⾼校野球観戦(どれも布教したくて仕⽅がない) - 娯楽:ゼル伝、流⾏りのアニメを⾒る、国内旅⾏

Slide 4

Slide 4 text

オンライン家庭教師マナリンクについて

Slide 5

Slide 5 text

オンライン家庭教師マナリンクとは https://manalink.jp/

Slide 6

Slide 6 text

マナリンクの機能① 「先⽣検索‧お問合せ機能」

Slide 7

Slide 7 text

マナリンクの機能② 授業予定、売上、宿題管理機能

Slide 8

Slide 8 text

今回のスコープ 今回は①の検索‧お問合せ機能のために、 先⽣⽅に提供したアナリティクス機能のお話をします 1. サービスが抱える構造的な課題 2. マナリンクにおける「プロダクト」の定義 3. アナリティクス機能の開発 4. リリース後のサポート体制

Slide 9

Slide 9 text

サービスが抱える構造的な課題

Slide 10

Slide 10 text

検索‧お問合せ機能が抱える構造的な課題 - 先⽣が⾃⾝のプロフィールや指導内容を記載した指導コースを ⾃分で作成‧編集して公開 - SNSのようなCGM(Consumer Generated Media)の⼀種 - CGMの構造的な問題として、コンテンツの質がコントロールしきれず バラバラになってしまう - 先⽣の情報の質がバラバラだと‧‧‧ - 保護者様から⾒たときに、先⽣の魅⼒が伝わらなかったり、混乱を招く - SEO的にもよくない

Slide 11

Slide 11 text

検索‧お問合せ機能が抱える構造的な課題 - でも、⼀⼈ひとりコンテンツ内容を都度都度レビューするのは コストが⼤きすぎる((先⽣の⼈数×平均指導コース数)回のレビュー) - 先⽣の魅⼒を伝えるメディアでありながら、コンテンツをコントロールする コストを抑えて事業をスケールさせたい

Slide 12

Slide 12 text

そこでどうするか - 先⽣が⾃発的にコンテンツを改善していける仕組みが必要 - どういうプロフィールや指導コースだと保護者様に刺さるか? PDCAを回せるようにしたい - つまり、⾃⾝が公開しているプロフィールや指導コースがどの程度⾒られて おり、コンバージョンに繋がっているか把握できればPDCAを回せる!

Slide 13

Slide 13 text

マナリンクにおける「プロダクト」とは

Slide 14

Slide 14 text

ユーザー(保護者様)から⾒たときの「プロダクト」とは - 開発者視点では作っているソフトウェアがプロダクト、と考えがち - ただし特にCGMのような特性を持っているサービスにおいては ソフトウェアの上に載っているコンテンツ、 マナリンクでは先⽣の情報や魅⼒的な⾃⼰紹介⽂も含めて 保護者様から⾒ればマナリンクという1つの「プロダクト」に⾒えている

Slide 15

Slide 15 text

保護者様から⾒たときの「プロダクト」とは https://manalink.jp ● サイトは⾼速か? ● デザインは⾒やすいか? ● 検索しやすいか? ● 検索軸が多様かつ⼗分か? ● その他機能性は⼗分か? ● ページ遷移は滑らかか? ● etc 先⽣⽅のプロフィールページ ● 顔写真の印象は? ● 経歴は? ● 指導実績は? ● ⾃⼰紹介動画の内容は? ● 指導コース内容が ⾃分にもわかりやすいか? ● etc

Slide 16

Slide 16 text

よりよいプロダクトにするには - ソフトウェア開発を頑張るだけではなく、 先⽣⽅と⼀緒にマナリンクというプロダクトを作っていく

Slide 17

Slide 17 text

アナリティクス機能の開発

Slide 18

Slide 18 text

アナリティクス機能の提供

Slide 19

Slide 19 text

アナリティクス機能の特徴 - 期間ごとにアクセス数の増減がわかる - アクセス元⽐率がわかる(同サイト内か、SNSか、検索エンジンか) - 指導コースごとにアクセス数とCV(お問合せ)数がわかる

Slide 20

Slide 20 text

アナリティクス機能の特徴 以上から、 - 内容を改善したから徐々にアクセス数が増えているとか - 先週からTwitterを頑張っているからSNS経由の流⼊増えたとか - 指導コースの書き⽅を変えたからCVRが上がったとか 先⽣⾃⾝の活動の結果が⼀部数値化されて⾒ることができる。 余談ですが、アクセス元⽐率は開発メンバーが提案して追加することになりました。

Slide 21

Slide 21 text

技術的な解説

Slide 22

Slide 22 text

アーキテクチャ概観 保護者様はWebまたは アプリでアクセス Laravelで標準出⼒に アクセス情報をJSON出⼒ →fluentbitでS3へ流す S3に吐き出されたJSONを Athenaでクエリする。 ⽇次バッチで集計し、 RDSに⼊れておく 先⽣が管理画⾯から アクセス数を閲覧

Slide 23

Slide 23 text

技術的なポイント - toCなので突発的にアクセスが増えたときに不要な負荷を掛けたくない - アクセス記録は直接DBに書き込まずスケールしやすい標準出⼒→S3 - もともと標準出⼒はJSONで吐く運⽤だったので S3に吐き出してそのままAthenaでクエリするところまでスムーズに組めた - アクセス元を収集するためにReferrerを活⽤し、 CSR/SSR両⽅で収集するのが少し⼤変だった - フロントはReactで組んでいるが、 `@tanstack/react-table`や`victory`を利⽤して爆速実装

Slide 24

Slide 24 text

ここ気になる⽅ 懇親会で訊いてください!!!!!!

Slide 25

Slide 25 text

リリース後のサポート体制

Slide 26

Slide 26 text

先⽣向けにアナリティクス機能⾃体の勉強会を実施 - 数値だけ⾒せても改善できるかは別 - 機能の勉強会を実施して、 SEOの基礎知識も込みで伝える - 週1回のペースで実施 - ⼀⼈ひとりに属⼈的にレビューするよりも N⼈に対して勉強会1〜2hで済むので 効率性はUpしている

Slide 27

Slide 27 text

SEOの考え⽅から、数値を⾒ての改善プロセスを提⽰

Slide 28

Slide 28 text

Twitter上での先⽣の反応

Slide 29

Slide 29 text

先⽣がマナリンクの考え⽅を汲み取ってくれました

Slide 30

Slide 30 text

まとめと告知

Slide 31

Slide 31 text

まとめ - toCのサービスかつ、ユーザーがコンテンツを掲載するサービスでは ユーザーの協⼒なしに「良いプロダクト」にはなりえない - ユーザーの協⼒を得るには、良い機能の開発と、ユーザーに浸透させる 取り組みの両輪が必要 - マナリンクの場合は、先⽣に協⼒して頂く形でプロダクトを改善している - 先⽣がTwitterに取り組むので、機能開発に対する感想に触れられる

Slide 32

Slide 32 text

告知!いきなり採⽤をしています!って⾔ってもハードルが⾼いので‧‧‧ 弊社メンバーと勉強会 or ボルダリングしませんか?(実績多数) React/TypeScript/Laravel/PHP/DDD周りでの 1時間程度の勉強会@御茶ノ⽔オフィス またはオフィス徒歩5分に国内最⼤級の ボルダリング場があります!ので、そちらでも!

Slide 33

Slide 33 text

ご清聴ありがとうございました!