4월 4일 할 일들

Elasticsearch service 생성

Kinesis Data Firehose 생성 - ES에 연결

Pinpoint Data Firehose 연결


메시지 테스트

  • 관리 콘솔에서
  • Lambda에서 (또는 EC2에서 직접 코딩, Boto 버전 문제 있을 경우 고민해 볼 것임)
  • 사용자 정보 수집해서 발송
  • API 만들고, 관리 화면을 하나 만들기.


분석

  • 카트에 담고 아직 발송 안한 정보
    • 앱 푸시 알림 - XX님, xxxx 상품 외 x개 주문 하시겠어요?
    • 이메일 알림 - Template 기반으로 HTML 이메일 만들어서 발송
  • 사용자의 구매 패턴 분석
    • BI - 키바나 활용
    • Athena - QuickSight 조합으로 보기


추천

  • 카트 담긴 상품에 대하여 추천 상품 정보 발송
  • 사전 구매 상품에 대해여 추천 상품 정보 발송


자동화:

BI: ES 대쉬보드 만들기 - 키바나 기반으로


분석 결과 보기


  • 레이블 없음

4 댓글

  1. Android

    1. 누가, 어떤 상품, 언제, 장바구니로 옮겼다.
    2. 누가, 어떤 상품, 언제, 장바구니에서 제거했다.
    3. 상품 구매 정보는 이미 구매 데이터로 보유
    4. 장바구니 이동 푸시 알림

    Kibana

    대쉬보드 작업: Kibana를 위한 대쉬보드 작성 (Pinpoint와 차별화 되는 대쉬보드가 필요함 - Customize + Insight)
    https://blog.webkid.io/content/images/old/visualize-datasets-with-elk/dashboard-2.gif

    Lambda - API gateway

    Campaign 전달용

    1. DUE_Cart에 남아 있는 상품 정보를 기반으로(최근 1주일 기반), 상품 리스트 수집 (Full Scan 이후, userID, 가격순으로 정렬)
    2. 캠페인 메시지를 어떻게 맞춤형으로 보내나? 캠페인 1개 생성하고...
  2. Custom event 형식

    이벤트 타입에 대한 설명: https://docs.aws.amazon.com/pinpoint/latest/developerguide/pinpoint-dg.pdf - 195페이지

    기본 타입

    • _campaign.send
    • _monetization.purchase
    • _session.start
    • _session.stop
    • _session.pause
    • _session.resume
    • _userauth.sign_in
    • _userauth.sign_up
    • _userauth.auth_fail

    이벤트 구조

    {
     "event_type": "_session.stop",
     "event_timestamp": 1487973802507,
     "arrival_timestamp": 1487973803515,
     "event_version": "3.0",
     "application": {
     "app_id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
     "cognito_identity_pool_id": "us-east-1:a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
     "package_name": "main.page",
     "sdk": {
     "name": "aws-sdk-mobile-analytics-js",
     "version": "0.9.1:2.4.8"
     },
     "title": "title",
     "version_name": "1.0",
     "version_code": "1"
     },
     "client": {
     "client_id": "m3n4o5p6-a1b2-c3d4-e5f6-g7h8i9j0k1l2",
     "cognito_id": "us-east-1:i9j0k1l2-m3n4-o5p6-a1b2-c3d4e5f6g7h8"
     },
     "device": {
     "locale": {
     "code": "en_US",
     "country": "US",
     "language": "en"
     },
     "make": "generic web browser",
     "model": "Unknown",
     "platform": {
     "name": "android",
     "version": "10.10"
     }
     },
     "session": {
     "session_id": "f549dea9-1090-945d-c3d1-e496780baac5",
     "start_timestamp": 1487973202531,
     "stop_timestamp": 1487973802507
     },
     "attributes": {},
     "metrics": {}
    }

    커스텀 이벤트

    import com.amazonaws.mobileconnectors.pinpoint.analytics.AnalyticsEvent;
    
    /**
    * add cart event
    */
    public void addCartEvent() {
       final AnalyticsEvent event =
          pinpointManager.getAnalyticsClient().createEvent("_cart.add")
             .withAttribute("cartId", "2c676c54-9fd8-47dd-9458-f541e8b52ba9")
             .withAttribute("pId", "70c88395-4448-441a-b759-b3b11690f266")
             .withAttribute("pName", "Echo Spot")
             .withAttribute("userId", "hyouk")
             .withMetric("pPrice", 129.99)
             .withMetric("updateTime", 1554789454934);
       pinpointManager.getAnalyticsClient().recordEvent(event);
       pinpointManager.getAnalyticsClient().submitEvents();
    }
    
    /**
    * delete cart event
    */
    public void delCartEvent() {
       final AnalyticsEvent event =
          pinpointManager.getAnalyticsClient().createEvent("_cart.del")
             .withAttribute("cartId", "2c676c54-9fd8-47dd-9458-f541e8b52ba9")
             .withAttribute("pId", "70c88395-4448-441a-b759-b3b11690f266")
             .withAttribute("pName", "Echo Spot")
             .withAttribute("userId", "hyouk")
             .withMetric("pPrice", 129.99)
             .withMetric("updateTime", 1554789454934);
       pinpointManager.getAnalyticsClient().recordEvent(event);
       pinpointManager.getAnalyticsClient().submitEvents();
    }