$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AB Tests in Mobile App
Search
kichikuchi
August 20, 2016
Technology
1
2k
AB Tests in Mobile App
iOSDC Japan 2016 発表資料
kichikuchi
August 20, 2016
Tweet
Share
More Decks by kichikuchi
See All by kichikuchi
swiftにおける遅延評価
kichikuchi
0
2.9k
tableViewとcoolectionviewのパフォーマンスチューニング
kichikuchi
1
610
GameplayKit, GKRandomSource, GKRandomDistribution
kichikuchi
1
290
Other Decks in Technology
See All in Technology
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.6k
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
230
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.6k
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
430
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
440
Microsoft Agent Frameworkの可観測性
tomokusaba
1
110
AWSに革命を起こすかもしれない新サービス・アップデートについてのお話
yama3133
0
500
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.2k
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
160
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
150
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
490
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
210
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Language of Interfaces
destraynor
162
25k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
65
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Between Models and Reality
mayunak
0
150
Writing Fast Ruby
sferik
630
62k
BBQ
matthewcrist
89
9.9k
Unsuck your backbone
ammeep
671
58k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
250
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Ͱ͚ͩى͜Δόά͕͋ͬͨ
ࠔͬͨ͜ͱͷྔ͕ଟ͘ͳͬͯ͠ ·͍·͕ͨ͠ɻɻɻ
ಋೖͯ͠ྑ͔ͬͨ"#ςετʂʂ
ࣗͨͪͷߦͬͨػೳՃɾม ߋʹͲΕ͚ͩͷΠϯύΫτ͕͋ͬ ͔ͨΛΕΔ
͕ࣗͨͪ͜Ε͍͍ΞΠσΞͩʂ ͱࢥ͍ͬͯͨ͜ͱ͕࣮Ϣʔβʹ ͱͬͯෆརӹͩͬͨͱ͍͏ࣄ࣮ ΕΔ
͜ΕΒͷܦݧΛ௨ͯ͡Կ͕Ϣʔ βʹͱͬͯͷՁͳͷ͔Λߟ͑Δ ྗ্͕͢Δ
"#ςετΛ௨ͯ͡ϓϩμΫτͩ ͚Ͱͳ͘νʔϜͰ͖Δʂʂ
ͥͻΈͳ͞Μ͜ͷػձʹ"#ς ετͷಋೖΛߟ͑ͯΈ͍ͯͩ͘͞ʂ
͓͠·͍