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
FiNCの分析基盤の概要
Search
Yoshimi Kondo
April 26, 2017
2
4.8k
FiNCの分析基盤の概要
Yoshimi Kondo
April 26, 2017
Tweet
Share
More Decks by Yoshimi Kondo
See All by Yoshimi Kondo
FiNC Tech Meetup ~Growth Engineering~
yoshimikeisui
0
1.2k
本質的なグロースハックを求めて
yoshimikeisui
0
1.9k
FiNC App Chat Onboarding Growth Hack
yoshimikeisui
0
5.6k
Simple Graph
yoshimikeisui
1
2.7k
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
150
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
88
30 Presentation Tips
portentint
PRO
1
210
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Documentation Writing (for coders)
carmenintech
77
5.2k
The Cult of Friendly URLs
andyhume
79
6.8k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
260
A better future with KSS
kneath
240
18k
We Are The Robots
honzajavorek
0
160
Transcript
FiNC ੳج൫ͷ֓ཁ σʔλੳج൫Night #2 Yoshimi Kondo FiNC Data Engineer 2017/04/26
ࣗݾհ 2 ͍· FiNC σʔλΤϯδχΞ&ΞφϦετ ͜Ε·Ͱ RailsΤϯδχΞ(1) iOSΤϯδχΞ(1) σʔλج൫पΓͷΤϯδχΞ()
FiNCͷαʔϏεհ 3 ݕٕࠪज़ઐՈɾଞۀքωοτϫʔΫΛ׆༻͠ɺݸਓ๏ਓͷ݈߁Λࢧԉ QPXFSFECZ ຖ৯ʹαϥμΛͭ ͚Δ ఏܞ ళฮ͚ ๏ਓ͚ "*ύʔιφϧίʔνΞϓϦʢ'J/$ʣ
ΣϧωεϔϧεέΞϓϥοτϑΥʔϜ 'J/$Ϟʔϧʢ&$ʣ ϔϧεέΞʹಛԽͨ͠ΦϯϥΠϯετΞ ݕࠪࣄۀ Ҩࢠݕࠪɾ݂ӷɾετϨενΣοΫ Ұൠ͚ ΦϯϥΠϯϫʔΫε ϔϧεέΞઐՈΞεϦʔτͷΫϥυιʔγϯά 'J/$Ոఉڭࢣ ಛఆอ݈ࢦಋɾݮྔɾӫཆӡಈࢦಋͷεϚϗԕִࢦಋ
FiNCʹ͓͚ΔੳνʔϜͷϛογϣϯɾྖҬ
FiNCʹ͓͚Δੳج൫ͷϛογϣϯ 5 ࠷దͳҙࢥܾఆΛ࠷Ͱಋ͚ΔͨΊͷੳج൫Λͭ͘Δ
Α͍ੳج൫ͬͯͳΜͩΖ͏
7 Α͍ੳج൫ͷཧͱ ΞϓϦઃܭʹׯব͠ͳ͍ ෛՙɾόάগͳ͍ ܽଛ͕ͳ͍ Ճ/σϦόϦͷԆ͕গͳ͍ ͙͢ʹݕূ݁Ռ͕ݟΕΔ ࣈͷཁҼ͕Θ͔Δ ※Πϝʔδ ͙͢ʹ՝ಛఆ͕
Ͱ͖Δ
8 Α͍ੳج൫ͷཧͱ ͙͢ʹ՝ಛఆ͕ Ͱ͖Δ ΞϓϦઃܭʹׯব͠ͳ͍ ෛՙɾόάগͳ͍ ܽଛ͕ͳ͍ Ճ/σϦόϦͷԆ͕গͳ͍ ͙͢ʹݕূ݁Ռ͕ݟΕΔ ࣈͷཁҼ͕Θ͔Δ
࠷దͳKPI͕ઃఆ͞ΕͯΔ औΔ͖ࣈ͕໌Β͔ ͲͷΑ͏ͳUX͕ ΞϓϦͷίΞʹͳΔ͔
9 Α͍ੳج൫ͷཧͱ ج൫બఆɺϩάઃܭ ͬͪ͜ଆΛݟͭΊΔ ͱ͜Ζ͔Β ͪ͜Βଆͷઃܭ ͋͘·Ͱ݁Ռ
FiNCͷ߹
FiNCͷੳχʔζ 11 Ϣʔβʔͷݸʑͷύʔιφϧσʔλʹ߹Θͤͨ Ϣʔβʔମݧͷఏڙ SNSܥλΠϜϥΠϯɾϑΟʔυͳͲͷ࠷దԽݕূ ಈըͳͲͷϝσΟΞར༻ঢ়گ ݸʑͷϢʔβʔσʔλ x Ϣʔβʔମݧϩά طଘͷΞϓϦੳπʔϧͰରԠ͖͠Εͣɺ
ࣗͨͪͰઃܭͨ͠ϩάऩूج൫Λͭ͘Δ͜ͱʹ
ࠓͷੳج൫શମ૾
σʔλج൫ͷ၆ᛌਤ 13
ϩάͷऩूج൫
ϩάऩूج൫ 15 BQQGSBNFXPSL LJOFTJTpSFIPTF MBNCEB 4 "NB[PO%.4 4 API Access
Custom Event TFSWFSBQQ Ϣʔβʔͷߦಈϩάͱͯ͠ɺAPIΞΫηεͰิ͖͠Εͳ͍ߦಈΛੳ͢Δχʔζ͕ੜ·Εͨ →ޙ͔ΒCustomEventͱͯ͠firehoseʹྲྀ͠ࠐΉΑ͏ʹͳͬͨʢͳ͓ࠓAPIΞΫηεϩάར༻ʣ ΞϓϦέʔγϣϯଆͷσʔλϕʔεɺDMSͰRedshiftʹྲྀ͠ࠐΜͰ͍Δ AccessLog APIॲཧ
ϩάऩूج൫ 16 BQQGSBNFXPSL LJOFTJTpSFIPTF MBNCEB 4 "NB[PO%.4 4 ৯ࣄΛهͨ͠ʂ ϨγϐಈըΛ࠶ੜͨ͠ʂ
TFSWFSBQQ ྫɿಈը࠶ੜϩάͱ৯ࣄهػೳར༻ ΞϓϦέʔγϣϯϩδοΫʹؔΘΔσʔλ→αʔόʔαΠυΞϓϦέʔγϣϯͷRDS্ʹอଘ ੳ͚ͩʹ͔͠Θͳ͍σʔλ→ੳ༻framework(firehose)͔Βอଘ →શͯΛੳϩάʹྲྀ͢ͷ͠ΜͲ͍&ੳ༻ϩάͷΛΞϓϦέʔγϣϯʹ࣋ͪࠐΈͨ͘ͳ͍ͨΊ ৯ࣄΛه͢Δલʹ ϨγϐಈըΛ࠶ੜͨ͠ʂ AccessLog
ϩάऩूج൫ 17 ΞϓϦΞΫςΟϏςΟϩάͷ࣮ޱͱͯ͠ɺੳ༻frameworkԽʢfirehoseͷSDKΛแʣ αʔόʔ(web/API)ΞΫηεϩάͷ࣮ޱͱͯ͠ɺࣾઐ༻rails gemΛ༻ҙͯ͠ಋೖΛָʹ BQQGSBNFXPSL LJOFTJTpSFIPTF MBNCEB 4 "NB[PO%.4
4 API Access Custom Event TFSWFSBQQ
ϩάͷूܭج൫
ϩάूܭج൫ 19 ੜϩάΛͦͷ··ͭͬ͜Μͩςʔϒϧ͕ͻ͠Ί͘εΩʔϚ firehose͔Βͷϩάςʔϒϧ APIΞΫηεϩάςʔϒϧ ֤αʔόʔΞϓϦέʔγϣϯ͔ΒҾͬு͖ͬͯͨεΩʔϚ ϥΠϑϩάܥςʔϒϧͱ͔ ϑΥϩʔͱ͔͍͍Ͷͱ͔ ࠂπʔϧͳͲ֎෦αʔϏε͔ΒҾͬு͖ͬͯͨεΩʔϚ ྲྀೖܦ࿏ͱ͔
ࠂΫϦΤΠςΟϒͱ͔ Ϣʔβʔ͝ͱ/ػೳ͝ͱʹαϚͬͨϏϡʔ(ςʔϒϧ)ͷεΩʔϚ σϞάϥใxΞΫςΟϏςΟ ࠂใxΞΫςΟϏςΟ DailyͷϢʔβʔߋ৽σʔλ ੜϩάܥεΩʔϚ ूܭؔͰKPIʹ͍ۙܗͰ·ͱΊͨςʔϒϧͨͪͷεΩʔϚ DAU/RR/ActivationRate ֤ػೳར༻ूܭ ਓؾίϯςϯπ ͍ΘΏΔੳ༻εΩʔϚ ͻͱͭͷRedshift clusterʹू
ϩάूܭج൫ 20 ੜϩάΛͦͷ··ͭͬ͜Μͩςʔϒϧ͕ͻ͠Ί͘εΩʔϚ firehose͔Βͷϩάςʔϒϧ APIΞΫηεϩάςʔϒϧ ϥΠϑϩάܥςʔϒϧͱ͔ ϑΥϩʔͱ͔͍͍Ͷͱ͔ ࠂπʔϧͳͲ֎෦αʔϏε͔ΒҾͬு͖ͬͯͨεΩʔϚ ྲྀೖܦ࿏ͱ͔ ࠂΫϦΤΠςΟϒͱ͔
ੜϩάܥεΩʔϚ ੳ༻εΩʔϚͷݩσʔλ σʔλΛਂ͍͍ͨ࣌͠ʹɺ σʔλΞφϦετ ΫΤϦΛୟ͖͍ͨΤϯδχΞ͕ ੜϩάܥͷεΩʔϚΛ͏ қ ͋ΔఔͷΞϓϦϩδοΫ SQLͷ͕ࣝͦΕͳΓඞཁ ֤αʔόʔΞϓϦέʔγϣϯ͔ΒҾͬு͖ͬͯͨεΩʔϚ
ϩάूܭج൫ 21 σϞάϥใxΞΫςΟϏςΟ ࠂใxΞΫςΟϏςΟ DailyͷϢʔβʔߋ৽σʔλ ूܭؔͰKPIʹ͍ۙܗͰ·ͱΊͨςʔϒϧͨͪͷεΩʔϚ DAU/RR/ActivationRate ֤ػೳར༻ूܭ ਓؾίϯςϯπ ͍ΘΏΔੳ༻εΩʔϚ
KPIͷѲ جຊతͳσʔλੳ ੳ༻εΩʔϚͰ͏ қ ΤΫηϧΛ͑ΔਓͰ͋Ε σʔλΤΫεϙʔτΛͯ͠ ͓͓Αͦͷੳ͕Մೳ SQLͷڭେࣄɺͰΤΫηϧͰͰ͖Δ͜ͱଟ͍ͷͰɺ ੳ༻ͷσʔλςʔϒϧΛ༻ҙͨ͠΄͏͕ ίεύ͕ྑ͍͜ͱଟ͍Ͱ͢ ※αΠζେ͖͗͢ͳ͍Α͏ɺΤΫεϙʔτͷ݅ൣғཁࢦఆ Ϣʔβʔ͝ͱ/ػೳ͝ͱʹαϚͬͨϏϡʔ(ςʔϒϧ)ͷεΩʔϚ
ϏδϡΞϥΠθʔγϣϯ
ϏδϡΞϥΠθʔγϣϯ 23 redash͕γϯϓϧͰศར - ΞυϗοΫͳΫΤϦ - ୯ҰͷKPIΥον - ؆қͳμογϡϘʔυ redashͱͷಉظػೳΛ׆༻
- Ϩϙʔτͱͯ͠·ͱΊ͍ͨ࣌ - ෳͷKPIΛҰؾʹฒͯݟ͍ͨ࣌ ͖Ε͍ͳUIͷμογϡϘʔυେࣄ!Ͱ ·ͣݟΔ͖ࣈ͕ݟΕ͍ͯΔ͜ͱ͕ॏཁ
࠷ۙؾʹͳ͍ͬͯΔ͜ͱ
࠷ۙؾʹͳ͍ͬͯΔ͜ͱ 25 ※TechRepublicΑΓҾ༻ Facebook Automated Insights Fabric Analytics Dashboard KPIͷมԽΛࢹɺ
ࣗಈͰϨϙʔτ͍ͨ͠
Thank you!