Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Data-driven app development
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Seiji Kasahara
November 22, 2016
Programming
0
570
Data-driven app development
Presented in shibuya.apk #11
https://shibuya-apk.connpass.com/event/42020/
Seiji Kasahara
November 22, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
260
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
610
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
CSC307 Lecture 01
javiergs
PRO
0
690
Oxlint JS plugins
kazupon
1
840
CSC307 Lecture 05
javiergs
PRO
0
500
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
980
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
670
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.5k
今から始めるClaude Code超入門
448jp
8
8.6k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
55
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Paper Plane
katiecoart
PRO
0
46k
Unsuck your backbone
ammeep
671
58k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
88
Speed Design
sergeychernyshev
33
1.5k
Building Applications with DynamoDB
mza
96
6.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Tell your own story through comics
letsgokoyo
1
810
Transcript
Data-driven app development Seiji Kasahara
ελʔτΞοϓͰओʹσʔλλεΫΛѻͬͯ·͢ ▸ seijik42 ▸ ελʔτΞοϓͰΤϯδχΞʢδΣωϥϦετʣ ▸ ंͰ҆શʹศརʹεϚϗΛ͏ΞϓϦΛ։ൃ͍ͯ͠·͢ ▸ σʔλΛ׆༻ͨ͠ػೳ։ൃɺΛ͛ΔϘτϧωοΫੳɺ৽ػೳͷޮՌଌఆ 2
ελʔτΞοϓͰͷσʔλੳϊϋΛڞ༗͠·͢ ▸ ͳͥσʔλυϦϒϯͳҙࢥܾఆ͕େ͔ ▸ Ͳͷࢦඪʹूத͢Δ͔ ▸ ͬͱͨ͠ݕূ݁ՌʹͳΒͳ͍ͨΊʹ ▸ ༻͍ͯ͠ΔαʔϏεɾϑϨʔϜϫʔΫ ▸
ߦ͍ͬͯΔ ▸ ϫʔΫϑϩʔྫ 3
ͳͥσʔλυϦϒϯͳҙࢥܾఆ͕େͳͷ͔ ▸ ඞཁͩͱ͓͔ͬͨΒػೳՃͯ͠Έͨͷͷɺػೳ͕ΞϓϦͷʹߩݙͯ͠ ͍Δ͔ෆ໌ɺ͔͠͠ϝϯςίετ૿େ ▸ => εϐʔυ໋͕Ͱ͋ΔελʔτΞοϓʹͱͬͯக໋ই 4
Ͳͷࢦඪʹूத͢Δ͔ ▸ ૿ՃϢʔβʔ = ֫ಘϢʔβʔ - ྲྀग़Ϣʔβʔ ▸ ֫ಘϢʔβʔվળ =>
ࣗવྲྀೖɺϚʔέςΟϯάʹΑΔྲྀೖ ▸ ྲྀग़Ϣʔβʔվળ => ϦςϯγϣϯϨʔτͷվળɺΞϯΠϯετʔϧࢭ 5
Ͳͷࢦඪʹूத͢Δ͔ ▸ ૿ՃϢʔβʔ = ֫ಘϢʔβʔ - ྲྀग़Ϣʔβʔ ▸ ֫ಘϢʔβʔվળ =>
ࣗવྲྀೖɺϚʔέςΟϯάʹΑΔྲྀೖ ▸ ྲྀग़Ϣʔβʔվળ => ϦςϯγϣϯϨʔτͷվળɺΞϯΠϯετʔϧࢭ 6 ݀ͷۭ͍ͨόέπʹਫΛ͗ଓ͚ͯҙຯ͕ແ͍ͷͰɾɾ
ςΩετ ϦςϯγϣϯͬͯͲͷʁʢܭࢉํ๏ͷҧ͍ʣ 7 Full retention Classic retention Rolling retention Ҿ༻ɿhttp://www.applift.com/blog/user-retention
ͳͲͳͲɾɾ
ϦςϯγϣϯͬͯͲͷʁʢܭࢉํ๏ͷҧ͍ʣ 8 Classic retention Ҿ༻ɿhttp://www.applift.com/blog/user-retention - γϯϓϧͰܭࢉ͍͢͠ - ଞͷαʔϏεͰΘΕ͍ͯΔࣄ͕ଟ͍ͷͰൺֱ͍͢͠
ϦςϯγϣϯͬͯͲͷʁʢظؒͷҧ͍ʣ 9 Classic retention Ҿ༻ɿhttp://www.applift.com/blog/user-retention 1 1Day? ͦΕͱ28Day?
ϦςϯγϣϯͬͯͲͷʁʢظؒͷҧ͍ʣ 10 Ҿ༻ɿhttp://andrewchen.co/new-data-shows-why-losing-80-of-your-mobile-users-is-normal-and-that-the-best-apps-do-much-better/
ϦςϯγϣϯͬͯͲͷʁʢظؒͷҧ͍ʣ 11 Ҿ༻ɿhttp://andrewchen.co/new-data-shows-why-losing-80-of-your-mobile-users-is-normal-and-that-the-best-apps-do-much-better/ - ͍ͬͯΔϢʔβʔͷੑ࣭ɺߦಈύλʔϯશ͘ҧ͏ - ظͷվળ͔Β࢝Ίͯɺ࣍ୈʹ͍ͯ͘͘͠ͷ͕ྑ͍͔
ͬͱͨ͠ݕূ݁ՌʹͳΒͳ͍ͨΊʹ 12 - Ϣʔβʔͷྨํ๏ʢࣦഊྫʣ - ظؒ : ػೳϦϦʔεલʹΠϯετʔϧɺϦϦʔεޙʹΠϯετʔϧͨ͠ϢʔβʔͰൺֱ - =>
֎෦ཁҼ͕ଟ͘ɺ໌֬ͳҙࢥܾఆͰ͖ͳ͔ͬͨ - ྫɿ݄̓ʹ৽ػೳϦϦʔε - ̑ɾ݄̒ʹ֫ಘͨ͠Ϣʔβʔͱɺ̓ɾ݄̔ʹ֫ಘͨ͠Ϣʔβʔͷ ϦςϯγϣϯϨʔτΛൺֱͨ͠ͱ͜Ζɺ1%ͷվળ͕͋ͬͨʂ - ̓ɾ݄̔ʹυϥΠϒʹߦ͘ਓ͕ଟ͍͚ͩͰʁ - ݄̓Πϯυ͔Βͷྲྀೖ͕ଟ͔ͬͨɻࠃʹΑΔࠩͷӨڹʁ - etc.
ͬͱͨ͠ݕূ݁ՌʹͳΒͳ͍ͨΊʹ 13 - Ϣʔβʔͷྨํ๏ - ϥϯμϜͰͷػೳग़͚͠ʢABςετʣ - ظؒɺσϞάϥͳͲ͋ΒΏΔόΠΞεͷӨڹΛഉআͰ͖Δ - ػೳࣗମΛABςετͰग़͚͠
- ҙ - ࣄલʹग़͚͠ɾੳ͢Δ෦Λܭը͠ɺਖ਼࣮͘͠͠ͳ͚Ε͍͚ͳ͍ - εέδϡʔϧܭըେɻಉ͡KPIվળΛࢦ͢ػೳΛෳಉ࣌ʹςετ͠ ͯ͠·͏ͱɺൺֱՄೳͳϢʔβʔ͕ݮগͯ͠͠·͏
༻͍ͯ͠ΔαʔϏε ▸ Mixpanel ▸ ϑΝωϧੳ͕ࣄલੳʹศར ▸ ૉૣ͘େ·͔ͳࣈΛ͔ͭΈ͍ͨͱ͖ʹ׆༻ ▸ BigQuery &
Google Sheets & Google Sheet add-on(OWOX BI) ▸ ΑΓ۩ମతͳ݅ͰੳՄೳ ▸ ෳͷσʔλιʔεΛΈ߹Θͤͨੳʹར༻ ▸ Firebase Analytics ▸ ΞϯΠϯετʔϧΠϕϯτͷऔಘ͕Մೳ 14
ϑϨʔϜϫʔΫ ▸ ABςετϑϨʔϜϫʔΫ 15 ॳճىಈ࣌ ϢʔβʔͷৼΓ͚࣌ʹαʔόʔʹΞΫηε͢Δඞཁ͕ͳ͘ ϑΝʔετεΫϦʔϯ͔ΒϥΠϑλΠϜΛ௨ͯ͠ςετՄೳ seed = hash(UUID)
% 100; set_seed(seed); If (seed < rollout_rate)ɹ{ return FEATURE_ON; } else { return FEATURE_OFF; } ػೳग़͚͠ɾΠϕϯτૹ৴
ߦ͍ͬͯΔ ▸ ϓϩύςΟ໊ͷѹॖ ▸ ϩάͷΦʔόʔϨΠදࣔ 16
17 CLIENT ϓϩύςΟ໊ͷѹॖ SERVER event_name: 1 visit_from: 2 … 1:
event_name 2: visit_from … event_name: ViewedProfileScreen visit_from: MainScreen … 1: ViewedProfileScreen 2: MainScreen … Πϕϯτσʔλ ѹॖσʔλ Event dataΛ෮ݩ
18 CLIENT ϓϩύςΟ໊ͷѹॖ SERVER event_name: 1 visit_from: 2 … 1:
event_name 2: visit_from … event_name: ViewedProfileScreen visit_from: MainScreen … 1: ViewedProfileScreen 2: MainScreen … Πϕϯτσʔλ ѹॖσʔλ Event dataΛ෮ݩ ϐʔΫ࣌ͷτϥϑΟοΫΛ1/2 - 1/3 ఔʹݮ
19 ϩάͷΦʔόʔϨΠදࣔ ࣾϝϯόʔͷΈදࣔ τϥοΫͰ͖͍ͯͳ͍Πϕϯτ͕ͳ͍͔ɺ ΤϯδχΞҎ֎ͰQA͕Մೳ
ϫʔΫϑϩʔྫ ▸ ͷѲ ▸ ͜͜Ͱࣄલͷσʔλੳ͕ඞཁ ▸ ԾઆΛઃఆ ▸ ΞΫγϣϯ͕औΕΔԾઆΛઃఆ͢Δ͜ͱ͕େ ▸
ԾઆΛݕূ͢ΔͨΊͷػೳΛߟҊɾ༷ࡦఆ ▸ ݕূ࣌ʹඞཁͱͳΔΠϕϯτɾϓϩύςΟ໌֬ʹ͓ͯ͘͠ ▸ ςετ࣮ࢪɾԾઆݕূ ▸ ౷ܭత༗ҙͳ໌֬ͳ͕͑ಘΒΕΔͱݶΒͳ͍ 20
ϫʔΫϑϩʔྫ ▸ ͷѲ ▸ ͜͜Ͱࣄલͷσʔλੳ͕ඞཁ ▸ ԾઆΛઃఆ ▸ ΞΫγϣϯ͕औΕΔԾઆΛઃఆ͢Δ͜ͱ͕େ ▸
ԾઆΛݕূ͢ΔͨΊͷػೳΛߟҊɾ༷ࡦఆ ▸ ݕূ࣌ʹඞཁͱͳΔΠϕϯτɾϓϩύςΟ໌֬ʹ͓ͯ͘͠ ▸ ςετ࣮ࢪɾԾઆݕূ ▸ ౷ܭత༗ҙͳ໌֬ͳ͕͑ಘΒΕΔͱݶΒͳ͍ 21 ྫɿॳͷϝοηʔδػೳͷར༻සͷ͍Ϣʔβʔͷ̏ޙϦςϯγϣϯ͕͍
ϫʔΫϑϩʔྫ ▸ ͷѲ ▸ ͜͜Ͱࣄલͷσʔλੳ͕ඞཁ ▸ ԾઆΛઃఆ ▸ ΞΫγϣϯ͕औΕΔԾઆΛઃఆ͢Δ͜ͱ͕େ ▸
ԾઆΛݕূ͢ΔͨΊͷػೳΛߟҊɾ༷ࡦఆ ▸ ݕূ࣌ʹඞཁͱͳΔΠϕϯτɾϓϩύςΟ໌֬ʹ͓ͯ͘͠ ▸ ςετ࣮ࢪɾԾઆݕূ ▸ ౷ܭత༗ҙͳ໌֬ͳ͕͑ಘΒΕΔͱݶΒͳ͍ 22 ˚Ϣʔβʔʹͨ͘͞ΜϝοηʔδΛૹ৴ͤ͞Εվળ͢ΔͩΖ͏ ̋ϝοηʔδͷศར͞Λ͑ΔνϡʔτϦΞϧΛՃ͑Εվળ͢ΔͩΖ͏ ྫɿॳͷϝοηʔδػೳͷར༻සͷ͍Ϣʔβʔͷ̏ޙϦςϯγϣϯ͕͍
ϫʔΫϑϩʔྫ ▸ ͷѲ ▸ ͜͜Ͱࣄલͷσʔλੳ͕ඞཁ ▸ ԾઆΛઃఆ ▸ ΞΫγϣϯ͕औΕΔԾઆΛઃఆ͢Δ͜ͱ͕େ ▸
ԾઆΛݕূ͢ΔͨΊͷػೳΛߟҊɾ༷ࡦఆ ▸ ݕূ࣌ʹඞཁͱͳΔΠϕϯτɾϓϩύςΟ໌֬ʹ͓ͯ͘͠ ▸ ςετ࣮ࢪɾԾઆݕূ ▸ ౷ܭత༗ҙͳ໌֬ͳ͕͑ಘΒΕΔͱݶΒͳ͍ 23 ར༻։࢝ϑϩʔͷதͰɺBot͔ΒςετϝοηʔδΛड͚औΓɺ ฦ৴ͤ͞ΔνϡʔτϦΞϧΛઃܭ ˚Ϣʔβʔʹͨ͘͞ΜϝοηʔδΛૹ৴ͤ͞Εվળ͢ΔͩΖ͏ ̋ϝοηʔδͷศར͞Λ͑ΔνϡʔτϦΞϧΛՃ͑Εվળ͢ΔͩΖ͏ ྫɿॳͷϝοηʔδػೳͷར༻සͷ͍Ϣʔβʔͷ̏ޙϦςϯγϣϯ͕͍
ϫʔΫϑϩʔྫ ▸ ͷѲ ▸ ͜͜Ͱࣄલͷσʔλੳ͕ඞཁ ▸ ԾઆΛઃఆ ▸ ΞΫγϣϯ͕औΕΔԾઆΛઃఆ͢Δ͜ͱ͕େ ▸
ԾઆΛݕূ͢ΔͨΊͷػೳΛߟҊɾ༷ࡦఆ ▸ ݕূ࣌ʹඞཁͱͳΔΠϕϯτɾϓϩύςΟ໌֬ʹ͓ͯ͘͠ ▸ ςετ࣮ࢪɾԾઆݕূ ▸ ౷ܭత༗ҙͳ໌֬ͳ͕͑ಘΒΕΔͱݶΒͳ͍ 24 ABςετΛ࣮ࢪɺϦςϯγϣϯϨʔτΛൺֱɾݕఆ ར༻։࢝ϑϩʔͷதͰɺBot͔ΒςετϝοηʔδΛड͚औΓɺ ฦ৴ͤ͞ΔνϡʔτϦΞϧΛઃܭ ˚Ϣʔβʔʹͨ͘͞ΜϝοηʔδΛૹ৴ͤ͞Εվળ͢ΔͩΖ͏ ̋ϝοηʔδͷศར͞Λ͑ΔνϡʔτϦΞϧΛՃ͑Εվળ͢ΔͩΖ͏ ྫɿॳͷϝοηʔδػೳͷར༻සͷ͍Ϣʔβʔͷ̏ޙϦςϯγϣϯ͕͍
ϫʔΫϑϩʔྫ ▸ ͷѲ ▸ ͜͜Ͱࣄલͷσʔλੳ͕ඞཁ ▸ ԾઆΛઃఆ ▸ ΞΫγϣϯ͕औΕΔԾઆΛઃఆ͢Δ͜ͱ͕େ ▸
ԾઆΛݕূ͢ΔͨΊͷػೳΛߟҊɾ༷ࡦఆ ▸ ݕূ࣌ʹඞཁͱͳΔΠϕϯτɾϓϩύςΟ໌֬ʹ͓ͯ͘͠ ▸ ςετ࣮ࢪɾԾઆݕূ ▸ ౷ܭత༗ҙͳ໌֬ͳ͕͑ಘΒΕΔͱݶΒͳ͍ 25 ରػೳΛશϢʔβʔʹϦϦʔεɺ͋Δ͍আ ABςετΛ࣮ࢪɺϦςϯγϣϯϨʔτΛൺֱɾݕఆ ར༻։࢝ϑϩʔͷதͰɺBot͔ΒςετϝοηʔδΛड͚औΓɺ ฦ৴ͤ͞ΔνϡʔτϦΞϧΛઃܭ ˚Ϣʔβʔʹͨ͘͞ΜϝοηʔδΛૹ৴ͤ͞Εվળ͢ΔͩΖ͏ ̋ϝοηʔδͷศར͞Λ͑ΔνϡʔτϦΞϧΛՃ͑Εվળ͢ΔͩΖ͏ ྫɿॳͷϝοηʔδػೳͷར༻සͷ͍Ϣʔβʔͷ̏ޙϦςϯγϣϯ͕͍
26 ΤϯδχΞੵۃ࠾༻தʂ
[email protected]