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
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
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
260
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.1k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
270
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
Package Management Learnings from Homebrew
mikemcquaid
0
210
CSC307 Lecture 02
javiergs
PRO
1
770
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.4k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
CSC307 Lecture 07
javiergs
PRO
0
550
高速開発のためのコード整理術
sutetotanuki
1
390
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
The browser strikes back
jonoalderson
0
360
Speed Design
sergeychernyshev
33
1.5k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
98
WCS-LA-2024
lcolladotor
0
450
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
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]