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.6k
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.1k
本質的なグロースハックを求めて
yoshimikeisui
0
1.8k
FiNC App Chat Onboarding Growth Hack
yoshimikeisui
0
5.4k
Simple Graph
yoshimikeisui
1
2.6k
Featured
See All Featured
Faster Mobile Websites
deanohume
305
30k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
Facilitating Awesome Meetings
lara
50
6.1k
The Cult of Friendly URLs
andyhume
78
6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
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!