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 Tests in Mobile App
Search
kichikuchi
August 20, 2016
Technology
2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AB Tests in Mobile App
iOSDC Japan 2016 発表資料
kichikuchi
August 20, 2016
More Decks by kichikuchi
See All by kichikuchi
swiftにおける遅延評価
kichikuchi
0
3k
tableViewとcoolectionviewのパフォーマンスチューニング
kichikuchi
1
640
GameplayKit, GKRandomSource, GKRandomDistribution
kichikuchi
1
300
Other Decks in Technology
See All in Technology
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
380
Goodbye ShellScript, Hello File-based App
shunsock
0
510
2026_devsumi_ozono.pdf
o3
3
540
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
0
290
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
250
データ_AIの事業の勝敗をわけるもの
nek0128
1
470
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
10
4.5k
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
2
1.5k
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
3
570
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
事業課題から技術的負債に向き合う
sansantech
PRO
2
2k
Featured
See All Featured
Done Done
chrislema
186
16k
Optimising Largest Contentful Paint
csswizardry
37
4k
Designing for Performance
lara
611
70k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
RailsConf 2023
tenderlove
30
1.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Tell your own story through comics
letsgokoyo
1
1.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
kazunori kikuchi / GMO PEPABO inc. 2016.08.19 iOSDC AB Tests
in Mobile App
J04ΤϯδχΞ kazunori kikuchi @kichikuchi NJOOFࣄۀ෦ϓϩμΫτνʔϜ
ࠃ࠷େڃͷϋϯυϝΠυϚʔέοτ NJOOF
ࠃ࠷େڃͷϋϯυϝΠυϚʔέοτ NJOOF
ࠓ͢ίτ Ͳ͏ͬͯ"#ςετΛಋೖ͍ͯ͠Δ͔ "#ςετΛͬͯྑ͔ͬͨίτ "#ςετΛͬͯࠔͬͨίτ
Ͳ͏ͬͯ"#ςετΛಋೖͯ͠ ͍Δ͔
SkyLab + Google Analytics
SkyLab
SkyLab.splitTestWithName("iosdc", conditions: [ "ios" : 0.5 , "dc" : 0.5
]) { (condition) -> Void in if condition as! String == "ios" { self.sendGA(category: "iosdc", action: "ios", value: nil) } else { self.sendGA(category: "iosdc", action: "dc", value: nil) } } ͍ํ
SkyLab.splitTestWithName("iosdc", conditions: [ "ios" : 0.5 , "dc" : 0.5
]) { (condition) -> Void in if condition as! String == "ios" { self.sendGA(category: "iosdc", action: "ios", value: nil) } else { self.sendGA(category: "iosdc", action: "dc", value: nil) } } ςετͷ໊લ ͍ํ
SkyLab.splitTestWithName("iosdc", conditions: [ "ios" : 0.5 , "dc" : 0.5
]) { (condition) -> Void in if condition as! String == "ios" { self.sendGA(category: "iosdc", action: "ios", value: nil) } else { self.sendGA(category: "iosdc", action: "dc", value: nil) } } ذύλʔϯͱ֬ ͍ํ
SkyLab.splitTestWithName("iosdc", conditions: [ "ios" : 0.5 , "dc" : 0.5
]) { (condition) -> Void in if condition as! String == "ios" { self.sendGA(category: "iosdc", action: "ios", value: nil) } else { self.sendGA(category: "iosdc", action: "dc", value: nil) } } ذύλʔϯͱॲཧ ͍ํ
SkyLab.splitTestWithName("iosdc", conditions: [ "ios" : 0.5 , "dc" : 0.5
]) { (condition) -> Void in if condition as! String == "ios" { self.sendGA(category: "iosdc", action: "ios", value: nil) } else { self.sendGA(category: "iosdc", action: "dc", value: nil) } } ςετͷ໊લ ذύλʔϯ໊ ͍ํ
ಋೖͱܭଌɾݕূ w "#ςετͷಋೖ w 4LZ-BCΛར༻ w ςετͷೖΕସ͑ϦϦʔεຖ w ςετ໊ͱذύλʔϯQMJTUͰཧ w
"#ςετͷܭଌɾݕূ w (PPHMF"OBMZUJDTΛར༻ w ΧελϜηάϝϯτͰੳ
"#ςετΛͬͯྑ͔ͬͨίτ ☺
݁Ռ͕ࣈͰݟ͑Δ w ձһొϑϩʔͷมߋͰొ্͕ঢ☺ w Χʔτೖޙͷը໘ϑϩʔΛύλʔϯࢼ͠࠷ྑѱͰߪೖ ʹͷ։͖͕͋ͬͨ w ͱ͋ΔλΠϜϥΠϯͰചΓΕ࡞දࣔ͢ΔΑ͏ʹͨ͠ ͱ͜Ζ෮ؼ͕ݮগ
վળಋೖ͠ɺվѱӨڹൣғ Λ࠷খݶʹͱͲΊΒΕΔʂ
Կ͕վળʹͭͳ͕Δ͔͕Θ͔ͬͯ͘Δ w 6*ύʔπͷαΠζมߋ QY Өڹখ w ใઃܭͷมߋ ࡏݿΕදࣔඇදࣔ
Өڹத w ϑϩʔͷมߋ ը໘ը໘ Өڹେ
Ͳ͏͍ͬͨมߋ͕ΞϓϦΛΑ͘ ͢Δ͔ߟ͑ΔνʔϜશମͷྗ͕ 61
"#ςετΛͬͯࠔͬͨίτ
ςετͷઃܭ͕͍͠ w ͦͦͲͷࣈΛݟͨΒ͍͍ʁ w ͜ͷมߋߪೖʹӨڹ͕ग़ΔͣʂʂͱͳΓ͕ͪͩͬͨ w ಉ͡ࣈΛࢦඪͱ͢Δςετ͕ෳೖΔͱݕূύλʔϯ ͕Ұؾʹ૿͑Δ
ςετͷݕূ͕େม w ςετΛճ͠ଓ͚ΔͨΊʹϑϩʔͷཱ͕֬ඞཁ w ݕূʹઐ೦Ͱ͖Δਓͷ֬อ w ฐࣾͰΤϯδχΞ͕("৮ͬͯ·͢ʂ w ͨͩΤϯδχΞৗʹख͕ۭ͍ͯΔΘ͚Ͱͳ͍ɻɻɻ
࣮ίετίʔυͷՄಡੑ w 6*Λେ͖͘มߋ͢Δ߹͕ॏΊʹͳΔ͜ͱ w ςετऴྃ࣌ʹ֘ՕॴΛ֎͢࡞ۀ͋Δʂ w ࠓͷॴେ͖ͳࣦഊͳ͍͕ݹ͍ςετ͕͍ͬͯͨ͜ͱ ͕ w ςετͷͨΊͷذ͕૿͑ͯίʔυ͕ಡΈͮΒ͘ͳΔ
w Ұ࣌తͳίʔυͳͷͰଥڠ͕ͪ͠ ίϐϖରԠͳͲ
ϦϦʔεલݕূ͕େม w "#ςετ։࢝ॳΞϓϦআ࠶Πϯετʔϧ͠ͳ͍ ͱςετύλʔϯ͕มΘΒͳ͔ͬͨ w ϦϦʔεલʹϓϩϞʔγϣϯίʔυΛൃߦͯ͠ߦ͏ݕ ূͰ࠷େݸൃߦͨ͜͠ͱ͕͋Γ·͢ w ݱࡏ˓˓˓ίϚϯυతͳͷͰΞϓϦΛআͤͣʹς ετύλʔϯΛมߋͰ͖ΔΑ͏ʹͯ͠ղফʂ
w ಛఆͷςετέʔε ಛఆͷ04Ͱ͚ͩى͜Δόά͕͋ͬͨ
ࠔͬͨ͜ͱͷྔ͕ଟ͘ͳͬͯ͠ ·͍·͕ͨ͠ɻɻɻ
ಋೖͯ͠ྑ͔ͬͨ"#ςετʂʂ
ࣗͨͪͷߦͬͨػೳՃɾม ߋʹͲΕ͚ͩͷΠϯύΫτ͕͋ͬ ͔ͨΛΕΔ
͕ࣗͨͪ͜Ε͍͍ΞΠσΞͩʂ ͱࢥ͍ͬͯͨ͜ͱ͕࣮Ϣʔβʹ ͱͬͯෆརӹͩͬͨͱ͍͏ࣄ࣮ ΕΔ
͜ΕΒͷܦݧΛ௨ͯ͡Կ͕Ϣʔ βʹͱͬͯͷՁͳͷ͔Λߟ͑Δ ྗ্͕͢Δ
"#ςετΛ௨ͯ͡ϓϩμΫτͩ ͚Ͱͳ͘νʔϜͰ͖Δʂʂ
ͥͻΈͳ͞Μ͜ͷػձʹ"#ς ετͷಋೖΛߟ͑ͯΈ͍ͯͩ͘͞ʂ
͓͠·͍