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.7k
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
Building Applications with DynamoDB
mza
91
6.1k
Adopting Sorbet at Scale
ufuk
73
9.1k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
500
Optimising Largest Contentful Paint
csswizardry
33
3k
4 Signs Your Business is Dying
shpigford
181
21k
Producing Creativity
orderedlist
PRO
341
39k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Docker and Python
trallard
41
3.1k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
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!