AWS Dev Day 2022 Japan 2022/11/09 B-2 Amazon Pinpointを用いて、LINEとメール配信のCRM設計
おやつの定期便 https://snaq.me
直営点 https://kiyosumi.snaq.me/
Amazon PinpointΛ༻͍ͯLINEͱϝʔϧ৴ͷCRMઃܭגࣜձࣾεφοΫϛʔCTO & co-founder ࡾ ൏ਓ2022.11.09 Track B14:00- 14:45
View Slide
֓ཁ
3ࣗݾհେֶଔۀޙݐஙઃܭࣄॴۈɻͦͷޙɺιϑτΣΞΤϯδχΞΩϟϦΞνΣϯδ͠ɺ2014ɺgeechsגࣜձࣾೖࣾɻٕज़ຊ෦ͷϦʔμʔͱͯ͠ϞόΠϧΞϓϦͷϓϩδΣΫτϚωʔδϟʔΛܦݧɻ2015ɺגࣜձࣾεφοΫϛʔΛۀҎޙɺCTOͱͯ͠ΤϯδχΞϦϯάνʔϜΛ͍͍ͯΔɻCTO & co-founderࡾ ൏ਓ @miyoshihayato
͓ͭͷఆظศ1,880ԁ (੫ࠐɾૹྉ330ԁ)Ӧళ (ਗ਼നՏ)https://kiyosumi.snaq.me/ϓϩςΠϯόʔ5ຊೖ 1,525ԁ(੫ࠐɾૹྉ330ԁ)10ຊೖ 2,925ԁʢ੫ࠐɾૹྉ330ԁʣάουδϟʔΩʔ3ା 1,850ԁ(੫ࠐɾૹྉ330ԁ)ࣄۀ༰
σʔλΛ׆͔ͨ͠։ൃʰ͓ͭମݧʱఆظศ͓ಧ͚ස• ̎िؒʹ̍ճ• ̐िؒʹ̍ճ• ͓ͭͷϑΟʔυόοΫ• ϦΫΤετ• ͖ݏ͍ͷొ• ͓ಧ͚ΛॏͶΔ͝ͱʹΑΓΈʹۙͮ͘BOX• BOXΛ։෧͢Δ࣌ͷɹΘ͘Θ͘ײ• σʔλੳ• ։ൃ• ύʔιφϥΠζ͞Ε͓ͨͭͷબఆϢʔβʔ͔ΒͷධՁσʔλΛ׆͔͠ɺ1ϲ݄΄ͲͰ৽ͷاը։ൃ͕Մೳ։ൃαΠΫϧ
6͓͠Ζ͍ʂࣦഊΛڪΕͣʹνϟϨϯδ͢Δ͜ͱΛྭ͢ΔจԽͬͯΈΑʂͭ͗ʹ͍͔ͦ͏ʂқ͡Όͳ͘ʮͦΕͬͯ໘ന͍ʁʯΛ࣠ʹɺ ”ϫΫϫΫϑΝʔετ”Ͱߦಈ͠·͢ɻ ͓͠Ζ͍΄͏͕Δؾ͕ग़Δ͠ɺ͓٬༷ʹتΜͰ͍͚ͨͩΔ͔Βɻͪ͝Όͪ͝Όݴͬͯͳ͍Ͱ”Φʔφʔγοϓ”Λ࣋ͬͯ·ͣͬͯΈΑ͏ࣦഊ͍͍ͨͬͯ͠ɻֶͼ͕͋ΕṶ͚ͷɻ ࣦഊΛڪΕͣͲΜͲΜ”νϟϨϯδ”͍͖ͯ͠·͠ΐ͏ɻ ΈΜͳ͍͔͞͠Βࣦഊͨͬͯ͠େৎͩΑʂεφοΫϛʔͰಇ͘ਓͨͪͷՁ؍
7༷ʑͳϝϯόʔ͕ଘࡏ͠εφοΫϛʔΛ͍ͬͯΔɾؒΛϦεϖΫτ͠ɺڞʹՁΛग़དྷ͍ͯΔ͔ʁɾརଞతͳߦಈ͕Ͱ͖͍ͯΔ͔ʁεφοΫϛʔͷ৫෩νʔϜεφοΫϛʔ͓͠Ζ͍ʂ ͬͯΈΑʂ ͭ͗ʹ͍͔ͦ͏ʂ͓ͭͱผʹεφοΫϛʔͷ৫෩
SNAQScale OutΤϯδχΞϦϯάͰࣄۀΛҾͬு͍͚ͬͯΔΑ͏ͳ։ൃΛ͍ͯ͜͠͏ɻͦͷҝʹεέʔϧ͍͢͠Έͷ։ൃΛ৺͕͚Α͏ɻNextʑͷઓͷதͰࣦഊΛͯ͠͠·ͬͨ࣌ʹͰɺ࣍ͷҰา͕౿Έग़͍͢͠Έͮ͘ΓΛ৺͕͚Α͏ɻյ͍͢͠ΈͩͬͨΓɺ࠷Ͱ։ൃɾվળ͍͚ͯ͠ΔΑ͏ͳڥΛ࣋ͪଓ͚Α͏ɻAgileখ͘͞ૣ͘εϐʔυײΛ࣋ͬͯɺܧଓతʹվળΛੵΈॏͶ͍ͯ͜͏ɻQualityϢʔβʔʹͱͬͯҰ൪ྑ͍ͷΛ࡞͍ͬͯ͜͏ɻΤϯδχΞνʔϜͷόϦϡʔ
CRMCustomer Relationship Management
10$3.ͱฉ͍ͯ•ސ٬Λཧ͢Δ•ސ٬ͱͷؔੑΛҡ্࣋ͤ͞Δ•Ωϟϯϖʔϯཧ•ސ٬Λੳ͢Δ•ސ٬ੜ֔ՁʢLTVʣͷ্ͳͲ
11εφοΫϛʔͰίχϡχέʔγϣϯͷऔΓํҎԼέʔεݸผ ηάϝϯτEmail ΠϯόϯυͱΞτόϯυରԠશϢʔβʔͰͳ͘Use caseʹ߹ΘͤͯͦΕͧΕͷνϟωϧͰ௨LINEͦͷଞ SNSͳͲ ×
12εφοΫϛʔͰίχϡχέʔγϣϯͷऔΓํҎԼέʔεݸผ ηάϝϯτEmail ΠϯόϯυͱΞτόϯυରԠશϢʔβʔͰͳ͘Use caseʹ߹ΘͤͯͦΕͧΕͷνϟωϧͰ௨LINEͦͷଞ SNSͳͲ ×
࣍•ϝʔϧLINE(ΧελϜνϟωϧ)ͷํ๏•୯ൃ৴ͱܧଓ৴ͷߟ͑ํ•৴Λཧ͢Δํ๏•৴ͷޮՌݕূ•ඇΤϯδχΞͱͷؔΘΓํ
ϝʔϧLINE(ΧελϜνϟωϧ)ͷํ๏
15"NB[PO1JOQPJOUʹ͍ͭͯ•Email•SMS•ϓογϡ௨ͳͲଟ༷ͳνϟωϧϚʔέςΟϯάϝοηʔδ•ରऀηάϝϯςʔγϣϯ•ςϯϓϨʔτ / ύʔιφϥΠζ•Ωϟϯϖʔϯ / δϟʔχʔੳ•ϑΝωϧ•ϝʔϧͷOpen rate, Click rate
16ϝʔϧͷઃఆ1. ϓϩδΣΫτͷ࡞2. Emailͷઃఆ3. ೝূ
17ΧελϜνϟωϧͷ࡞Γํ1. AWS LambdaͰ௨͢Δؔͷ࡞2. LambdaؔΛݺͼग़ͨ͢ΊͷAmazon PinpointΞΫηεڐՄΛ༩͢Δ3. PinpointͰ௨͢Δͱ͖ʹΧελϜνϟωϧܦ༝Ͱૹ৴͢ΔΩϟϯϖʔϯ࡞
18"84-BNCEBͰ௨͢Δؔͷ࡞• ΧελϜνϟωϧ ૹ৴෦ΛશͯࣗࣾͰཧ• ૹ৴ઌͷڥߏங (ΞΫηεΩʔ֎෦SDKͳͲ)• ड͚औΔσʔλ (jsonͰΛऔಘ)• ϝοηʔδΛಈతʹมߋ͢Δॲཧ (໊લͳͲ)AWS LambdaAmazon Pinpoint AWS LambdaAWS LambdaAWS LambdaAνϟωϧBνϟωϧCνϟωϧ
19"84-BNCEBͰ௨͢Δؔͷ࡞ ड͚औΔσʔλ• ApplicationId – Ωϟϯϖʔϯ͕ଐ͢Δ Amazon Pinpoint ϓϩδΣΫτͷ IDɻ࠷େ50ͷΤϯυϙΠϯτʹϝοηʔδΛ৴Ͱ͖Δ• ActivityId – ΩϟϯϖʔϯʹΑ࣮ͬͯߦதͷΞΫςΟϏςΟͷ IDɻ• CampaignId – Lambda ؔΛݺͼग़ͨ͠ Amazon Pinpoint Ωϟϯϖʔϯͷ IDɻ• Data – ΧελϜνϟϯωϧʹૹ৴͢ΔϝοηʔδϖΠϩʔυΛؚΉ JSON จࣈྻɻ• Endpoints – ΩϟϯϖʔϯͷλʔήοτͱͳͬͨΤϯυϙΠϯτͷϦετɻ֤ϖΠϩʔυʹɺ࠷େ 50 ͷΤϯυϙΠϯτΛؚΊΔ͜ͱ͕Ͱ͖·͢ɻΩϟϯϖʔϯͷૹ৴ઌηάϝϯτʹ 50 Ҏ্ͷΤϯυϙΠϯτؚ͕·Ε͍ͯΔ߹ɺAmazon Pinpoint ͯ͢ͷΤϯυϙΠϯτ͕ॲཧ͞ΕΔ·Ͱɺ܁Γฦؔ͠Λݺͼग़͠·͢(࠷େͰҰʹ 50 ͷΤϯυϙΠϯτ)ɻ
20-BNCEBؔΛݺͼग़ͨ͢Ίͷ"NB[PO1JOQPJOUΞΫηεڐՄΛ༩͢Δaws lambda add-permission \--function-name myFunction \--statement-id sid0 \--action lambda:InvokeFunction \--principal pinpoint.ap-northeast-1.amazonaws.com \--source-arn arn:aws:mobiletargeting:ap-northeast-1:111122223333:apps/*--source-account 111122223333ΧελϜνϟωϧΛਐΊΔͱ͖ʹPinpoint͔ΒLambdaͷΞΫηεڐՄΛ༩ͤͣΩϟϯϖʔϯޭ͍ͯ͠Δ͕ҰʹLambda͕ىಈ͠ͳ͍έʔε͕͋ΔͷͰҙ
21ΧελϜνϟωϧܦ༝Ͱૹ৴͢ΔΩϟϯϖʔϯ࡞νϟωϧͰΧελϜΛબ ৴͢ΔؔΛબ
AWS Step Functions WorkflowAmazon S3AWS Lambda AWS LambdaAmazon DynamoDBDONE?Amazon SimpleNotification ServiceAWS BatchUsers-*/&"1*AmazonPinpointUsersImport SegmentCreate Campaign+40/'JMFSegment InfoCustom ChannelAmazon Simple Email Service
৴ํ๏ͳΜͱͳ͘ѲͰ͖ͨҰํͰ৴͢ΔͨΊͷߟ͑ํͲ͏͢Δ͔େ͖͚͘Δͱ୯ൃ৴ͱܧଓ৴ʹ͚ΒΕΔ
৴ํ๏ͳΜͱͳ͘ѲͰ͖ͨҰํͰ৴͢ΔͨΊͷߟ͑ํͲ͏͢Δ͔େ͖͚͘Δͱ୯ൃ৴ͱܧଓ৴ʹ͚ΒΕΔ୯ൃ৴ : 1͖Γͷ৴ / ಉ͡Ͱຖճίϯςϯπ͕େ͖͘ҟͳΔ(Ex. اըͷॳ௨ɺαʔϏεͷपࡇ௨ͳͲ)ܧଓ৴ : ܧଓతʹ৴͢Δ(Ex. ຖिͷ৽௨ɺॳճొͷΦϯϘʔσΟϯά௨ͳͲ)
୯ൃ৴ͱܧଓ৴ͷߟ͑ํ
26୯ൃ৴ͱܧଓ৴ͷߟ͑ํ୯ൃ৴
27୯ൃ৴ͱܧଓ৴ͷߟ͑ํ୯ൃ৴ςετΛ܁Γฦ݁͢Ռ͕ग़ͨ߹ܧଓҠߦ݁Ռ͕ग़ͳ͍߹ͦͷ৴ࣗମετοϓՌ͕ग़Δ৴Λߟ͑Δ
28୯ൃ৴ͱܧଓ৴ͷߟ͑ํ୯ൃ৴ ܧଓ৴୯ൃ৴ςετΛ܁Γฦ݁͢Ռ͕ग़ͨ߹ܧଓҠߦ୯ൃ৴݁Ռ͕ग़ͳ͍߹ͦͷ৴ࣗମετοϓՌ͕ग़Δ৴Λߟ͑Δ
29୯ൃ৴ͱܧଓ৴ͷߟ͑ํ୯ൃ৴ ܧଓ৴୯ൃ৴ςετΛ܁Γฦ݁͢Ռ͕ग़ͨ߹ܧଓҠߦ୯ൃ৴݁Ռ͕ग़ͳ͍߹ͦͷ৴ࣗମετοϓՌ͕ग़Δ৴Λߟ͑ΔA/BςετίϯςϯπͳͲͷςετ࣮ࢪ
30୯ൃ৴ͱܧଓ৴ͷߟ͑ํ୯ൃ৴ ܧଓ৴୯ൃ৴ςετΛ܁Γฦ݁͢Ռ͕ग़ͨ߹ܧଓҠߦܧଓ৴ܧଓ৴୯ൃ৴݁Ռ͕ग़ͳ͍߹ͦͷ৴ࣗମετοϓՌ͕ग़Δ৴Λߟ͑ΔA/BςετίϯςϯπͳͲͷςετ࣮ࢪ
31୯ൃ৴ͱܧଓ৴ͷߟ͑ํܧଓ৴୯ൃ৴खಈͰ৴͍ͯ͘͜͠ͱݶք͕͋ΓࣗಈͰૹ৴͢ΔྔΛ҆ఆతʹ͢Δ͜ͱͰϢʔβʔମݧΛগ্ͣͭͤ͠͞Δ͜ͱ͕Ͱ͖Δඞཁͳ௨ૣΊʹܧଓ৴ʹγϑτ͠ޮՌ͕ྑ͘ͳ͍৴ഇࢭ͢Δ
৴Λཧ͢Δํ๏
33৴Λཧ͢Δํ๏৴͢ΔͨΊͷΞʔΩςΫνϟ͞·͟·͋Γɺςετ৴͕গͳ͍߹ͲͷύλʔϯͰେ͖ͳࠩଘࡏ͠ʹ͍͘ɻ(ΈɺΓқ͞ͳͲ)AWS Lambda AWS BatchAmazon S3PCAmazon Simple Email Service (Amazon SES)Amazon Simple Email Service (Amazon SES)AWS Step Functions workflowখنͷ৴ தʙେنͷ৴ workflowͰͷ৴ ࣾཧը໘͔Β৴
34৴Λཧ͢Δํ๏• 1ʹ1ճ΄Ͳͷ৴ͷछྨ͕૿͑Δ• ৴λΠϛϯάͷཧ• ৴ίϯςϯπ• ΤϥʔϋϯυϦϯά (௨Ͱ͖ͨͷ͔ࣦഊͨ͠ͷ͔ݕ)৴͢Δछྨ͕1छྨͰ͋Εಛʹ1ͭͷLambdaΛ࡞͠৴͍͚ͯ͠ྑ͍͕ɺछྨ͕ଟ͘ͳΔͱ͞·͟·ͳ͜ͱʹߟྀ͢Δඞཁ͕͋Δ
35৴Λཧ͢Δํ๏• 1ʹ1ճ΄Ͳͷ৴ͷछྨ͕૿͑Δ• ৴λΠϛϯάͷཧ• ৴ίϯςϯπ• ΤϥʔϋϯυϦϯά (௨Ͱ͖ͨͷ͔ࣦഊͨ͠ͷ͔ݕ)৴͢Δछྨ͕1छྨͰ͋Εಛʹ1ͭͷLambdaΛ࡞͠৴͍͚ͯ͠ྑ͍͕ɺछྨ͕ଟ͘ͳΔͱ͞·͟·ͳ͜ͱʹߟྀ͢Δඞཁ͕͋Δ→ Lambdaͷཧ͕ࠔʹͳͬͯ͘Δ (1৴1ؔͷ߹)→ ৴λΠϛϯάΛ֬ೝ͠ʹ͍͘ͱೝࣝͷᴥᴪ͕ੜ·Ε͍͢→ ίϯςϯπͷࠩ͠ସ͑ʹ1,2͔͔Δ߹ࠓͲͷίϯςϯπΛ৴͍ͯ͠Δͷ͔֬ೝͮ͠Β͍→ ΤϥʔݕͰ͖Δج൫Λ͑Δඞཁ͕͋Δ
36Ҏલͷ৴ΞʔΩςΫνϟAWS Step Functions workflowAWS LambdaEndFailҰͭͷLambdaؔʹStep FunctionsͷworkflowΛ࡞ࣦ͠ഊͷ߹ࣦഊͷࢫΛ௨LambdaؔͱStep Functionsͷworkflowͷ͕ൺྫͯ͠૿͍͑ͯ͘
37ݱࡏͷ৴ΞʔΩςΫνϟAWS LambdaLambda͔ΒAmazon CloudWatch AlarmΛൃੜͰ͖ΔΑ͏ʹAWS CloudFormation ͷςϯϓϨʔτΛ༻ҙؔ͠Λ࡞Δ͚ͩͰΤϥʔϋϯυϦϯάͰ͖ΔAmazon CloudWatchAlarmFailAWS CloudFormationTemplateAmazon EventBridge
38ίϯςϯπͷཧ• PinpointͷtemplateͰཧ• S3ͳͲʹίϯςϯπΛஔ͠ཧPinpointͰίϯςϯπΛཧ͢Δํ๏ͱͯ͠ҎԼͷ2ύλʔϯ͋Γɺ֤ʑͷӡ༻໘Ͱܾఆ͢Δ
39ίϯςϯπͷཧ• PinpointͷtemplateͰཧ• S3ͳͲʹίϯςϯπΛஔ͠ཧPinpointͰίϯςϯπΛཧ͢Δํ๏ͱͯ͠ҎԼͷ2ύλʔϯ͋Γɺ֤ʑͷӡ༻໘Ͱܾఆ͢Δ→ όʔδϣϯཧɺAWS Console͔ΒՃมߋՄೳɹίϯςϯπͱηάϝϯτΛผʑͰਐΊΔ߹ʹͦΕͧΕૄ݁߹ʹͳΔͷͰཧ͍͢͠ɹൺֱతײతʹ࡞Ͱ͖Δ͕ϦονͳίϯςϯπΛ࡞Γ͍ͨ߹html λάΛཧղ͢Δඞཁ͋Γ→ ηάϝϯτίϯςϯπΛҰॹʹཧ͢ΔͰӨڹൣғ͕Θ͔Γ͍͢ɹίϯςϯπΛ࡞ͷқ͕templateΑΓߴ͍ (ίϯςϯπ࡞πʔϧ͕ͳ͍ͱҰ͔ΒhtmlΛॻ͘͜ͱʹ)
40ίϯςϯπͷཧ ༻ྫ• PinpointͷtemplateͰཧ• S3ͳͲʹίϯςϯπΛஔ͠ཧPinpointͰίϯςϯπΛཧ͢Δํ๏ͱͯ͠ҎԼͷ2ύλʔϯ͋Γɺ֤ʑͷӡ༻໘Ͱܾఆ͢Δ→ ձһొɺܾࡁϝʔϧͳͲͷଈ࣌৴ͷ߹templateͱapplicationͷΛ͚Δ͜ͱͰεϜʔζ→ ΞϓϦέʔγϣϯͱผͰ৴Λίϯτʔϧ͢Δ߹ɺίϯςϯπཧS3બࢶʹ
৴ͷޮՌݕূ
42• ΩϟϯϖʔϯͷOpen rateClick rate [શମ]৴ͷޮՌݕূΛਤΔͱ͖େ → খͷηάϝϯτ୯ҐͰଌΔ৴ͷޮՌݕূ• A/BςετϗʔϧυΞτ [ൺֱ]• ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]
43• ΩϟϯϖʔϯͷOpen rateClick rate [શମ]৴ͷޮՌݕূΛਤΔͱ͖େ → খͷηάϝϯτ୯ҐͰଌΔ৴ͷޮՌݕূ• A/BςετϗʔϧυΞτ [ൺֱ]• ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]→ ҰൠతͳޮՌଌఆɻ։͍͍ͯͳ͍ίϯςϯπಡ·Εͯͳ͍͕ɺ։͍͍ͯΔίϯςϯπಡ·Ε͍ͯΔ→ Ծઆʹର͢Δࢪࡦͷൺֱ͕ՄೳɻίϯςϯπΛมߋ͢Δͱ͖طଘͱޮՌΑΓޮՌ͕͋Δͷ͔ͳͲ→Open rateͳͲͰଌΕͳ͍ࢦඪͷޮՌΛଌఆɻOpen rateߴ͘ͳ͍͕ച্্͕͕ΔͳͲ
44• ΩϟϯϖʔϯͷOpen rateClick rate [શମ]৴ͷޮՌݕূΛਤΔͱ͖େ → খͷηάϝϯτ୯ҐͰଌΔ৴ͷޮՌݕূ• A/BςετϗʔϧυΞτ [ൺֱ]• ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]→ ҰൠతͳޮՌଌఆɻ։͍͍ͯͳ͍ίϯςϯπಡ·Εͯͳ͍͕ɺ։͍͍ͯΔίϯςϯπಡ·Ε͍ͯΔ→ Ծઆʹର͢Δࢪࡦͷൺֱ͕ՄೳɻίϯςϯπΛมߋ͢Δͱ͖طଘͱޮՌΑΓޮՌ͕͋Δͷ͔ͳͲ→Open rateͳͲͰଌΕͳ͍ࢦඪͷޮՌΛଌఆɻOpen rateߴ͘ͳ͍͕ച্্͕͕ΔͳͲશମ
45• ΩϟϯϖʔϯͷOpen rateClick rate [શମ]৴ͷޮՌݕূΛਤΔͱ͖େ → খͷηάϝϯτ୯ҐͰଌΔ৴ͷޮՌݕূ• A/BςετϗʔϧυΞτ [ൺֱ]• ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]→ ҰൠతͳޮՌଌఆɻ։͍͍ͯͳ͍ίϯςϯπಡ·Εͯͳ͍͕ɺ։͍͍ͯΔίϯςϯπಡ·Ε͍ͯΔ→ Ծઆʹର͢Δࢪࡦͷൺֱ͕ՄೳɻίϯςϯπΛมߋ͢Δͱ͖طଘͱޮՌΑΓޮՌ͕͋Δͷ͔ͳͲ→Open rateͳͲͰଌΕͳ͍ࢦඪͷޮՌΛଌఆɻOpen rateߴ͘ͳ͍͕ച্্͕͕ΔͳͲશମ#$POUFOUT"$POUFOUT
46• ΩϟϯϖʔϯͷOpen rateClick rate [શମ]৴ͷޮՌݕূΛਤΔͱ͖େ → খͷηάϝϯτ୯ҐͰଌΔ৴ͷޮՌݕূ• A/BςετϗʔϧυΞτ [ൺֱ]• ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]→ ҰൠతͳޮՌଌఆɻ։͍͍ͯͳ͍ίϯςϯπಡ·Εͯͳ͍͕ɺ։͍͍ͯΔίϯςϯπಡ·Ε͍ͯΔ→ Ծઆʹର͢Δࢪࡦͷൺֱ͕ՄೳɻίϯςϯπΛมߋ͢Δͱ͖طଘͱޮՌΑΓޮՌ͕͋Δͷ͔ͳͲ→Open rateͳͲͰଌΕͳ͍ࢦඪͷޮՌΛଌఆɻOpen rateߴ͘ͳ͍͕ച্্͕͕ΔͳͲશମ#$POUFOUT"$POUFOUTച্ධՁϦΫΤετച্ධՁϦΫΤετղ
47৴ͷޮՌݕূ• ΩϟϯϖʔϯͷશମѲOpen rateClick rate, Bounce rate ͳͲͰશମΛѲ͠ϢʔβʔผʹEmailΠϕϯτΛऔಘՄೳΩϟϯϖʔϯ໊ ૹ৴ ։෧ ΫϦοΫ όϯε$BNQBJHO@" $BNQBJHO@# $BNQBJHO@$ $BNQBJHO@%
48৴ͷޮՌݕূAmazon Pinpoint Amazon KinesisData StreamsAmazon Simple StorageServiceAmazon AthenaAWS LambdaAmazon Simple Email ServiceUsersUsersAWS Glue Elastic Views1ϢʔβʔผʹEmailΠϕϯτΛऔಘՄೳ(send, delivered, open, click, rejected, hardbounce, softbounce, complaint, rendering_failure)
49৴ͷޮՌݕূA/BςετϗʔϧυΞτͷઃఆՄೳ
50৴ͷޮՌݕূA/BςετϗʔϧυΞτͷઃఆՄೳ→ A/Bςετ ҎԼͷύλʔϯͰՄೳͳͷͰɺίϯςϯπͷྑ͠ѱ͠৴࣌ؒͷྑ͠ѱ͠ΛஅՄೳ• ίϯςϯπͷA/B• ৴࣌ؒͷA/B
51৴ͷޮՌݕূ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]ࢥΘ͵ޮՌΛଌΕΔঢ়ଶnext actionΛߟ͑Δ্Ͱେࣄ• ৴ΩϟϯϖʔϯͱΞϓϦέʔγϣϯͷΠϕϯτΛඥ͚Δ• ଐੑσʔλ͋Δ߹ඥ͚ͮΔ• ྲྀೖݩ͢લఏͰΠϕϯτઃܭ͢Δ
52৴ͷޮՌݕূ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]ࢥΘ͵ޮՌΛଌΕΔঢ়ଶnext actionΛߟ͑Δ্Ͱେࣄ• ৴ΩϟϯϖʔϯͱΞϓϦέʔγϣϯͷΠϕϯτΛඥ͚Δ• ଐੑσʔλ͋Δ߹ඥ͚ͮΔ• ྲྀೖݩ͢લఏͰΠϕϯτઃܭ͢Δ→ Πϕϯτ͕ͲͷΩϟϯϖʔϯܦ༝͔Θ͔ΔΑ͏ͳঢ়ଶ͢Δ→ ػछɾҬੑͳͲ͋Δ߹σϑΥϧτͰ͢→ ྲྀೖผͰޮՌ͕ҧ͏͜ͱΑ͋͘Δ͜ͱͳͷͰͦ͜ͰൺֱͰ͖Δঢ়ଶʹ͢Δ
53৴ͷޮՌݕূ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]ࢥΘ͵ޮՌΛଌΕΔঢ়ଶnext actionΛߟ͑Δ্Ͱେࣄ• ৴ΩϟϯϖʔϯͱΞϓϦέʔγϣϯͷΠϕϯτΛඥ͚Δ• ଐੑσʔλ͋Δ߹ඥ͚ͮΔ• ྲྀೖݩ͢લఏͰΠϕϯτઃܭ͢ΔContent AContent BContent Cେখத→ Πϕϯτ͕ͲͷΩϟϯϖʔϯܦ༝͔Θ͔ΔΑ͏ͳঢ়ଶ͢Δ→ ػछɾҬੑͳͲ͋Δ߹σϑΥϧτͰ͢→ ྲྀೖผͰޮՌ͕ҧ͏͜ͱΑ͋͘Δ͜ͱͳͷͰͦ͜ͰൺֱͰ͖Δঢ়ଶʹ͢Δ
54৴ͷޮՌݕূ৴ޙͷΞϓϦέʔγϣϯͷΠϕϯτ [۩ମతͳޮՌ]ࢥΘ͵ޮՌΛଌΕΔঢ়ଶnext actionΛߟ͑Δ্Ͱେࣄ• ৴ΩϟϯϖʔϯͱΞϓϦέʔγϣϯͷΠϕϯτΛඥ͚Δ• ଐੑσʔλ͋Δ߹ඥ͚ͮΔ• ྲྀೖݩ͢લఏͰΠϕϯτઃܭ͢Δ→ Πϕϯτ͕ͲͷΩϟϯϖʔϯܦ༝͔Θ͔ΔΑ͏ͳঢ়ଶ͢Δ→ ػछɾҬੑͳͲ͋Δ߹σϑΥϧτͰ͢→ ྲྀೖผͰޮՌ͕ҧ͏͜ͱΑ͋͘Δ͜ͱͳͷͰͦ͜ͰൺֱͰ͖Δঢ়ଶʹ͢Δ͜ͷΠϕϯτʹͩ͜ΘΓ͗͢Δͱશମ૾͕ݟ͑ͳ͘ͳΓɺχονͳࢪࡦΛ܁Γฦ͢߹͕͋ΔͷͰҙඞཁ͕ͩɺҙࣝͯ͠औΓΊΔͱྑ͍
ඇΤϯδχΞͱͷؔΘΓํ
56ඇΤϯδχΞ #J[%FWͱͷؔΘΓํ• Ͱ͖ΔݶΓ৺ཧత҆શੑΛߴΊͨઃܭ• σʔλ͔Βࢪࡦͷٯࢉ• ௨ͯ͠ऴΘΓʹ͠ͳ͍ͲͷΑ͏ͳ৴͕Ϣʔβʔʹͱͬͯྑ͍ͷ͔Ͱଊ͑ͯઢͰݟΔ
57ඇΤϯδχΞ #J[%FWͱͷؔΘΓํ• Ͱ͖ΔݶΓ৺ཧత҆શੑΛߴΊͨઃܭ• σʔλ͔Βࢪࡦͷٯࢉ• ૹͬͯऴΘΓʹ͠ͳ͍ͲͷΑ͏ͳ৴͕Ϣʔβʔʹͱͬͯྑ͍ͷ͔Ͱଊ͑ͯઢͰݟΔ→ ΤϯδχΞ͕ϑΥϩʔ͠ͳͯ͘Ͱ͖ΔΑ͏ʹ (ଐਓੑͷഉআ)→ ҼࢠΛݟ͚ͭʮԿͱͳ͘ʯ͔Βʮ֬৴ʯม͍ͯ͘͠→ ୯ൃͰૹ৴ͨ͠ͷظతʹܭଌͰ͖Δ͕ɺܧଓ৴ͷͷ֬ೝ͠ͳ͘ͳΔ͕͋Δ
৺ཧత҆શੑΛߴΊͨઃܭ• ৴༰ͷݱঢ়ͷѲ• ίϯςϯπͷཧ• ηάϝϯτநग़σʔλϦςϥγʔҰͭͷ৴͔ΒશମΛѲ͢Δͱ͖ʹۃྗෛ୲Λͳ͘͢ಈ͖͕ඞཁඞཁͳϒϥοΫϘοΫεԽͱෆཁͳϒϥοΫϘοΫεԽ
৺ཧత҆શੑΛߴΊͨઃܭ• ৴༰ͷݱঢ়ͷѲ• ίϯςϯπͷཧ• ηάϝϯτநग़σʔλϦςϥγʔҰͭͷ৴͔ΒશମΛѲ͢Δͱ͖ʹۃྗෛ୲Λͳ͘͢ಈ͖͕ඞཁඞཁͳϒϥοΫϘοΫεԽͱෆཁͳϒϥοΫϘοΫεԽ→ ৴༰ྔʹ૯ͯ͡ݱঢ়ͷѲ͕ͮ͠Β͍ͷͰɺ৴ͷߟ͑ํͷཧ͓ͯ͘͠→ ্هʹ௨͡Δ෦͋Γ·͕͢ɺίϯςϯπࠩ͠ସ͑ͨͷʹมΘͬͯͳ͔ͬͨͳͲྑ͋͘Δ→ ͍ΘΏΔSQLͷϨϕϧσʔλϦςϥγʔ͋Δ͚ͩ෯͕͕ΔͷͰษڧձͳͲͰඇΤϯδχΞͷࢹ࠲Λ্͛Δ
60σʔλ͔Βࢪࡦͷٯࢉશମ૾ ཁૉΛগ͠ղ͠߹྆ํͷάϥϑͱಉ͡ࢦඪΛ͋ΔੳͷͱάϥϑԽͨ͠ͷͰ͋ΓཁૉΛগ͠ղ͢Δͱ݁ՌมΘͬͯ͘ΔͷͰɺૌٻͷํ͕มΘͬͯ͘ΔεφοΫϛʔڞ௨ͷBIμογϡϘʔυ͔ΒωΫετΞΫγϣϯΩϝΔϝϯόʔ͕ଟ͍
61σʔλ͔ΒࢪࡦͷٯࢉσʔλΛͱʹҼՌ͕Θ͔Βͳ͍߹ʹA/BΛ࣮ࢪ͠ɺҼࢠΛಛఆ͍ͯࠩ͘͠ͳͦ͞͏ ͕ࠩग़͍ͯΔ ఆͱҧ͏ޮՌ
62• A/BςετΛࢭΊͳ͍• աڈ͔ΒݱࡏΛѲ͢Δ• ৴ετοϓৗʹߟ͑ΔA/Bςετ͠ଓ͚Δ͍͑ͯ͘୯ൃͰૹ৴ͨ͠ͷظతʹܭଌͰ͖Δ͕ɺܧଓ৴ͷͷ֬ೝ͠ͳ͘ͳΔ͕͋ΔૹͬͯऴΘΓʹ͠ͳ͍
63• A/BςετΛࢭΊͳ͍• աڈ͔ΒݱࡏΛѲ͢Δ• ৴ετοϓৗʹߟ͑ΔA/Bςετ͠ଓ͚Δ͍͑ͯ͘୯ൃͰૹ৴ͨ͠ͷظతʹܭଌͰ͖Δ͕ɺܧଓ৴ͷͷ֬ೝ͠ͳ͘ͳΔ͕͋ΔૹͬͯऴΘΓʹ͠ͳ͍
64• A/BςετΛࢭΊͳ͍• աڈ͔ΒݱࡏΛѲ͢Δ• ৴ετοϓৗʹߟ͑ΔA/Bςετ͠ଓ͚Δ͍͑ͯ͘୯ൃͰૹ৴ͨ͠ͷظతʹܭଌͰ͖Δ͕ɺܧଓ৴ͷͷ֬ೝ͠ͳ͘ͳΔ͕͋Δ→ ׂ߹ͯ͘৴ׂ߹Λ 100 : 0 ʹۃྗ͠ͳ͍→ ͍ํ࣌αʔϏεల։ʹΑΓ࠷దͳํ๏มΘ͍ͬͯ͘ͷͰɺCRM͔ΒͰଌΔ→ ࢪࡦͳͲߟ͍͑ͯ͘ͱ͖ɺجຊ +1 ͷ͜ͱΛߟ͕͕͑ͪͩ Β͵ؒʹ1े௨ૹ͍ͬͯͨέʔε͕͋ΔɻͦͷͨΊɺޮՌ͕ͳ͍ͷͳͲ৴ετοϓ͠࠷దͳ৴Λߟྀͯ͠ਐΊΔૹͬͯऴΘΓʹ͠ͳ͍
Æ·ͱΊ•Pinpoint෯͍νϟωϧʹରԠՄೳ (Ұݩཧ͍͢͠)•νʔϜʹ͋ͬͨ৴͢ΔͨΊͷઃܭΛߦ͏•શମ͔Βઃܭ͠ηάϝϯτɺݸผͱల։Λߟ͑Δ•ܧଓతͳA/BςετΛߦ͏•৴আΛ೦಄ʹೖΕΔ
66ϑϩϯτΤϯυΤϯδχΞόοΫΤϯυΤϯδχΞσʔλΤϯδχΞ8FBSFIJSJOHΤϯδχΞϦϯάϚωʔδϟʔSREetc.ৄͪ͘͜͠Β https://engineers.snaq.me/
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠