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
540
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
Site Reliability Engineering for GMO
pyama86
8
1k
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
920
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
370
Ruby Function Composition
bkuhlmann
1
330
Fast JSX: Don't clone props object #28768
yossydev
1
100
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
1
110
Code Reviews
bkuhlmann
4
890
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
見た目から始める生産性向上
ikumatadokoro
7
840
ONE WEDGE_company_guide
1wedge_one
0
480
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
920
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
330
Featured
See All Featured
Writing Fast Ruby
sferik
621
60k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
How GitHub (no longer) Works
holman
304
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
Rails Girls Zürich Keynote
gr2m
91
13k
BBQ
matthewcrist
80
8.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Documentation Writing (for coders)
carmenintech
60
3.9k
Art, The Web, and Tiny UX
lynnandtonic
289
19k
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]