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
ABテストやってる?という問いかけと事例
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cocoiti
March 30, 2017
440
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ABテストやってる?という問いかけと事例
cocoiti
March 30, 2017
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Code Reviewing Like a Champion
maltzj
528
40k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Skip the Path - Find Your Career Trail
mkilby
1
230
Paper Plane
katiecoart
PRO
4
53k
Thoughts on Productivity
jonyablonski
76
5.4k
Fireside Chat
paigeccino
43
4k
Transcript
AB ςετͬͯ·͢ʁ
ࣗݾհ • ৽Ҫ ܒଠ • גࣜձࣾϝϧΧϦͰಇ͍ͯ·͢ • ձࣾͰ͍ͪ͜͜ͱݺΕ͍ͯ·͢
ࠓͷ༰ • ͠·͢ • جຊతͳαʔόαΠυͷABςετͷ࣮ • iOS/Android ͱ࿈ܞ͢ΔAPI • ϝϧΧϦͰͷ࣮ྫ
• ۤ࿑ͱ͔ • ͠·ͤΜ • ҰൠతͳπʔϧͷհʢGoogle Optimize/FireBaseͱ͔ʣ
ࠓͷ༰ • ͍͢·ͤΜ • ιʔεΛެ։ͯ͠ͳ͍ͭͳΜͰࣗͰͭ͘ Δ͔ɺ͏ͪೖͬͯɺOSSԽ͍ͯͩ͘͠͞
ײँ ABςετͷجૅ෦͜ͷ ਓ͕ͭ͘Γ·ͨ͠ https://github.com/travail
travail ͷϞδϡʔϧͩͱଞʹ͜͜ ΒΜͬͯ·͢ • https://github.com/travail/php-Parallel- Prefork • Q4MͷWorkerॻ͘ͷʹ͔ͭͬͯ·͢
࣭
Έͳ͞ΜABςετͯ͠·͢ʁ
ɾɾɾɾɾ
ͳΔ΄Ͳ
ϝϧΧϦͰͷABཱͪҐஔ
“తʹ༨ܭͳͷ3ͭɻͦΕ ʮઆಘʯʮποίϛʯʮ৺ʯ ͩɻ ʢதུʣ ࠷ޙʹɺ৺ΛݮΒͨ͢Ίʹɺͱ ʹ͔͘ABςετΛߦܾͬͯΊΔ ͱ͍͏จԽΛਁಁ͍ͤͯ͞Δɻ” http://careerhack.en-japan.com/report/detail/755
͍ͭ͝Ζʁ • ʢݸਓͷײʣٯʹ͍͑ɺʮ৺ʯ͠ͳ͘ ͯΑ͍ͳΒΒͳͯ͘Α͍͠ɺ৺ͯ͠ͳΜ ͍ͯΒΕͳ͍࣌ظʹΒͳͯ͘Α͍ͱࢥ͏ • ABςετΛཧ͢ΔਓݱΕΔλΠϛϯά • ϝϧΧϦͩͱΤϯδχΞ͕20ਓఔͷ࣌ظʹ ։͍࢝ͯ͠Δ
ɹϝϧΧϦͷΞʔΩςΫνϟ
ΞʔΩςΫνϟ • ϝϧΧϦʹPascalͱݺΜͰ͍Δϩάੳج൫ ͕͋Δ
Pascal http://tech.mercari.com/entry/2015/09/09/163007
ΞʔΩςΫνϟ • ϝϧΧϦʹPascalͱݺΜͰ͍Δϩάੳج൫ ͕͋Δ • αʔό͔Βeventͱͯ͠ABςετΛૹ৴
ΫϥΠΞϯτ্ͷUIΛมߋ͢Δ • ྫ: λΠϜϥΠϯͷݟͨͷมߋͳͲ
ABςετ(UIมߋ) .FSDBSJ"1* 1BTDBM 4FSWFS 1) ab_test_name1 2) நબ݁Ռ
ABςετ(UIมߋ) .FSDBSJ"1* 1BTDBM 4FSWFS Send Event
APIͷϨεϙϯεมߋ͢Δ • ΫϥΠΞϯτमਖ਼ͤͣʹԠΛมߋ͢Δ • ྫ: ʢ͋͘·ͰྫͰ͢ʣݕࡧ݁Ռͷมߋදࣔ ൚༻ϝοηʔδͷมߋͳͲ
ABςετ(Ԡมߋ) .FSDBSJ"1* 1BTDBM 4FSWFS 1) API Requet 4) AB ςετʹج͍ͮͨԠ
2) நબɾநબʹج͍ͮͨϨεϙϯε࡞ 3) SendEvent
ΫϥΠΞϯτ͕ແؔͷͷ • batch ॲཧͳͲ • ΫϥΠΞϯτͷϢʔβΤʔδΣϯτͳͲऔಘ Ͱ͖ͳ͍߲ͱ͔͕ͳ͍Α͏ʹҙ
ABςετ(Ԡมߋ) .FSDBSJ"1* 1BTDBM 4FSWFS 1) நબ݁Ռʹͱ͍ͮͯɺॲཧΘ͚ 2) SendEvent
ABςετͷίʔυ
$tracker = new Tracker(); $experiment_name = 'awesome_red_button'; $experiment_result = $tracker->getExperimentResult($experiment_name,
$user_id, $uuid, ExperimentEvent::CLIENT_TYPE_IOS); $variant = $experiment_result->getVariant(); // Your A/B testing. if ($variant === 0) { // Control group } elseif ($variant === 1) { // Test group 1 } elseif ($variant === 2) { // Test group 2 } elseif ($variant === null) { // Something wrong } // Create Experiment event. $experiment_event = $experiment_result->createEvent(); // Log it. $tracker->sendEvent($experiment_event);
$experiment_name = 'awesome_red_button'; $experiment_result = $tracker- >getExperimentResult($experiment_name, $user_id,ɹ ExperimentEvent::CLIENT_TYPE_IOS);
$variant = $experiment_result->getVariant(); // Your A/B testing. if ($variant ===
0) { // Control group } elseif ($variant === 1) { // Test group 1 } elseif ($variant === 2) { // Test group 2 } elseif ($variant === null) { // Something wrong }
// Create Experiment event. $experiment_event = $experiment_result->createEvent(); // Log it.
$tracker->sendEvent($experiment_event);
ϩάͷ͠ํ
ABςετͷநબͷཁ݅ • 1. AB ςετநબ݁Ռ • 2. ͦͷABςετϢʔβͷதؒͷಈ͖ • 3.
ͦͷABςετ݁Ռʹࢸ͔ͬͨ
ABςετநબ
ABςετͷநબͷཁ݅ • 1ਓͷϢʔβͱɺ1ͭͷABςετͷ༰͕ͣΕ ͍͚ͯͳ͍ • ্ཱͪ͛ͨ͢ͼʹɺϢʔβମݧ͔ΘͬͨΒς ετʹͳΒͳ͍Ͱ͠ΐ • 1ਓͷϢʔβ͕ɺෳͷABςετͰશ෦ಉ͡ɺ variantͩͱɺͪΌΜͱͨ͠ςετʹͳΒͳ͍
$user_id = 123; $ab_test_name = ‘ab_test_name’; hexdec (substr(md5($user_id . $expeliment_name
. ‘salt’), 5)); // Ϣʔβ͝ͱʹݻఆ͔ͭABςετ͝ͱʹݻఆͷ͕Ͱ ΔͷͰ͋ͱྑ͠ͳʹͬͯ͘Ε͍
ઌఔͷίʔυ • user_id ͕ͳ͍ϢʔβʹະొϢʔβ • ΞϓϦΛΠϯετʔϧͨ࣌͠ʹ۠ผ͕ͭ͘Α ͏ͳΛੜͯ͠ɺͦΕΛར༻͢Δͱ͔
ABςετ͋Δ͋Δ
ίʔυ͕IFจͩΒ͚ʹ
ίʔυ͕IFจͩΒ͚ʹ • ےͰղܾ • class ઃܭͱ͔ • https://github.com/cookpad/chanko తͳΞϓ ϩʔνͱ͔
• ظؒΛܾΊͯɺίʔυΛཧͰ͖ΔΑ͏ʹͯ͠ ͓͘ʢاըͷਓͱ͔ͱѲ͓ͬͯ͘ʣ
ABςετʹͬͯͳ͍
ABςετ͍ͬͯ͏͔ػೳͷεΠονʹͬͯΔ • ݁ߏศར • ෛՙ͕৺ͳ߹ͳͲ͢͜ʔͣͭ͠ެ։ͨ͠ ͍߹ͱ͔ • ෆ۩߹ͰΫϥΠΞϯτ͕མͪͪΌ͏߹ͱ͔ ʹଈ࠲ʹαʔό͔ΒOffͬͨΓ