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.5k
Simple Graph
yoshimikeisui
1
2.6k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Rails Girls Zürich Keynote
gr2m
94
13k
Writing Fast Ruby
sferik
628
61k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Statistics for Hackers
jakevdp
797
220k
Documentation Writing (for coders)
carmenintech
67
4.5k
Designing for humans not robots
tammielis
250
25k
How to Ace a Technical Interview
jacobian
276
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A better future with KSS
kneath
238
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
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!