Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Data-driven app development
Search
Seiji Kasahara
November 22, 2016
Programming
590
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Data-driven app development
Presented in shibuya.apk #11
https://shibuya-apk.connpass.com/event/42020/
Seiji Kasahara
November 22, 2016
Other Decks in Programming
See All in Programming
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
ALB ログから Trace を気合で繋げる技術
fohte
7
880
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
210
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
100
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
190
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
140
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
650
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
130
信頼性の目標を誰も求めてない
shubox
0
500
ソフトウェアラスタライザ
fadis
1
800
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
280
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
510
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Un-Boring Meetings
codingconduct
0
410
Automating Front-end Workflow
addyosmani
1369
210k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
For a Future-Friendly Web
brad_frost
183
10k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Designing for humans not robots
tammielis
254
26k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
A Modern Web Designer's Workflow
chriscoyier
699
190k
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]