Search

KR-20260061085-A - METHOD, ELECTRONIC DEVICE AND RECORDING MEDIUM STORING INSTRUCTIONS FOR PROVIDING PUSH NOTIFICATION

KR20260061085AKR 20260061085 AKR20260061085 AKR 20260061085AKR-20260061085-A

Abstract

본 개시의 일 실시예에 따른 전자 장치에 의해 수행되는 방법은, 하나 이상의 제1 판촉 캠페인 각각에 대한 캠페인 데이터 및 하나 이상의 사용자 각각에 대한 사용자 데이터를 획득하는 단계; 하나 이상의 제1 판촉 캠페인 중에서 하나 이상의 제2 판촉 캠페인을 지시하는 제1 연관 데이터를 생성하는 단계; 하나 이상의 제2 판촉 캠페인 간의 우선 순위를 결정하는 단계; 하나 이상의 제2 캠페인 중에서 푸시 알림을 전송할 하나 이상의 제3 판촉 캠페인을 결정하는 단계; 및 미리 결정된 시간 윈도우 내 하나 이상의 제3 판촉 캠페인 각각과 연관된 푸시 알림을 전송할 시간 슬롯을 지시하는 제2 연관 데이터를 생성하는 단계를 포함할 수 있다.

Inventors

  • 리 제난
  • 리우 샹밍
  • 리 린
  • 종 웬롱
  • 장 홍
  • 왕 송

Assignees

  • 쿠팡 주식회사

Dates

Publication Date
20260506
Application Date
20260327

Claims (15)

  1. 전자 장치에 의해 수행되는 푸시 알림을 제공하는 방법에 있어서, 미리 결정된 시간 윈도우 내 하나 이상의 시간 슬롯 각각에 대하여 푸시 알림을 전송할 판촉 캠페인 및 상기 판촉 캠페인과 연관된 사용자를 지시하는 연관 데이터를 획득하는 단계; 상기 하나 이상의 시간 슬롯 중 대상 시간 슬롯에 이르면, 상기 연관 데이터를 기초로 상기 대상 시간 슬롯과 연관된 대상 판촉 캠페인 및 상기 대상 판촉 캠페인과 연관된 대상 사용자를 식별하는 단계; 및 상기 대상 시간 슬롯에서 상기 대상 판촉 캠페인과 연관된 대상 푸시 알림을 상기 대상 사용자에게 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 시간 윈도우는 사용자에게 푸시 알림을 제공할 수 있는 유효 시간 윈도우이고, 상기 하나 이상의 시간 슬롯은 상기 유효 시간 윈도우를 미리 결정된 시간 간격으로 분할하는, 방법.
  3. 제2항에 있어서, 상기 하나 이상의 시간 슬롯 중 인접한 두 시간 슬롯은 상기 미리 결정된 시간 간격만큼 떨어져 있는, 방법.
  4. 제1항에 있어서, 상기 대상 푸시 알림을 상기 대상 사용자에게 제공하는 단계는, 상기 대상 판촉 캠페인과 연관된 상기 대상 푸시 알림의 전송을 스케줄하는 단계를 포함하는, 방법.
  5. 제4항에 있어서, 상기 대상 푸시 알림의 전송을 스케줄하는 단계는, 상기 대상 판촉 캠페인과 연관된 상기 대상 푸시 알림을 상기 대상 사용자의 사용자 단말에 전송하도록 지시하는 단계를 포함하는, 방법.
  6. 제5항에 있어서, 상기 대상 판촉 캠페인에 대한 캠페인 데이터 또는 상기 대상 사용자에 대한 사용자 데이터를 기초로 상기 대상 푸시 알림을 생성하는 단계를 더 포함하는, 방법.
  7. 제5항에 있어서, 상기 대상 푸시 알림을 상기 대상 사용자의 상기 사용자 단말에 전송하도록 지시하는 단계는, 전송이 스케줄된 하나 이상의 푸시 알림이 전송 순서에 따라 저장된 전송 큐에 상기 대상 푸시 알림을 저장하는 단계를 포함하는, 방법.
  8. 제7항에 있어서, 상기 전송 큐에 상기 대상 푸시 알림을 저장하는 단계는, 상기 전송 큐에서 상기 대상 푸시 알림의 전송 순서에 이르면, 상기 대상 푸시 알림을 전송 필터에 입력하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, 상기 전송 필터는 상기 대상 푸시 알림에 대한 중복 검사 필터 또는 빈도 검사 필터 중 적어도 하나를 포함하는, 방법.
  10. 제9항에 있어서, 상기 중복 검사 필터는 상기 시간 윈도우 동안 상기 대상 푸시 알림의 푸시 알림 콘텐츠를 포함한 다른 푸시 알림이 전송되지 않았을 것을 요하는 조건을 지시하는, 방법.
  11. 제9항에 있어서, 상기 빈도 검사 필터는 상기 시간 윈도우 동안 상기 대상 사용자가 이미 제공 받은 푸시 알림의 총 개수가 미리 결정된 개수를 초과하지 않을 것을 요하는 조건을 지시하는, 방법.
  12. 제9항에 있어서, 상기 빈도 검사 필터는 상기 대상 사용자가 가장 최근에 푸시 알림을 제공 받은 시간으로부터 미리 결정된 시간만큼 이후일 것을 요하는 조건을 지시하는, 방법.
  13. 제8항에 있어서, 상기 대상 푸시 알림을 상기 전송 필터에 입력하는 단계는, 상기 대상 푸시 알림이 상기 전송 필터를 통과하는 경우, 상기 대상 푸시 알림을 상기 대상 사용자의 사용자 단말에 전송하는 단계를 포함하는, 방법.
  14. 전자 장치에 있어서, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 명령어들이 저장된 하나 이상의 메모리를 포함하고, 상기 하나 이상의 프로세서에 의해 상기 명령어들이 실행될 시, 상기 하나 이상의 프로세서는, 제1항 내지 제13항 중 어느 한 항에 따른 푸시 알림을 제공하는 방법을 실행하도록 구성되는, 전자 장치.
  15. 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 동작을 수행하도록 하는 명령어들을 기록한 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서로 하여금, 제1항 내지 제13항 중 어느 한 항에 따른 푸시 알림을 제공하는 방법을 실행하게 하도록 구성되는, 비일시적 컴퓨터 판독 가능 기록 매체.

Description

푸시 알림을 제공하는 방법, 전자 장치 및 명령을 기록한 기록 매체{METHOD, ELECTRONIC DEVICE AND RECORDING MEDIUM STORING INSTRUCTIONS FOR PROVIDING PUSH NOTIFICATION} 본 개시는 판촉 캠페인(campaign)과 연관된 푸시 알림을 제공하는 기술에 대한 것이다. 전자 상거래 서비스는 전통적인 오프라인 상거래와 달리, 인터넷을 통해 상품 및 서비스를 제공하는 방식으로 큰 인기를 끌고 있다. 이러한 전자 상거래 서비스의 사업자들은 경쟁이 치열한 시장 환경에서 매출을 증대하기 위해 다양한 전략을 시도하고 있다. 그 중 하나의 중요한 전략은 전자 상거래 서비스의 사용자들을 상품 주문 이력, 나이, 주소, 성별 등 특성(attribute)에 따라 그룹핑하고, 각 사용자 그룹에 맞춰 특정 상품 또는 서비스를 홍보하는 맞춤형 판촉 캠페인을 실시하는 것이다. 그러나, 판촉 캠페인의 목적을 달성하기 위해서는 사용자들이 해당 캠페인의 내용을 신속하고 쉽게 인지할 필요가 있다. 이를 위해, 전자 상거래 서비스의 사업자들은 각 사용자 그룹의 특성에 맞춘 판촉 캠페인의 내용을 푸시 알림의 형태로 스마트폰이나 컴퓨터 등의 단말을 통해 사용자에게 실시간으로 전달할 수 있다. 도 1은 본 개시의 일 실시예에 따른 시스템을 나타낸 도면이다. 도 2는 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도를 나타낸 도면이다. 도 3은 본 개시의 일 실시예에 따른 판촉 캠페인, 푸시 알림 및 사용자 간의 연관 관계를 나타낸 도면이다. 도 4는 본 개시의 일 실시예에 따른 판촉 캠페인에 대한 캠페인 데이터의 예시를 나타낸 도면이다. 도 5는 본 개시의 일 실시예에 따른 판촉 캠페인과 연관된 푸시 알림에 대한 푸시 알림 데이터를 나타낸 도면이다. 도 6은 본 개시의 일 실시예에 따른 판촉 캠페인과 연관된 사용자에 대한 사용자 데이터의 예시를 나타낸 도면이다. 도 7은 본 개시의 일 실시예에 따른 판촉 캠페인 및 사용자 그룹 간의 연관 관계를 나타낸 도면이다. 도 8은 본 개시의 일 실시예에 따른 하나 이상의 사용자 그룹에 속한 사용자와 연관된 하나 이상의 판촉 캠페인 중에서 사용자에게 푸시 알림을 제공할 판촉 캠페인을 선택하는 프로세스를 나타낸 도면이다. 도 9는 본 개시의 일 실시예에 따른 판촉 캠페인과 연관된 푸시 알림을 제공하는 전체 프로세스를 나타낸 도면이다. 도 10은 본 개시의 일 실시예에 따른 오프라인 계층에서 캠페인 데이터 및 사용자 데이터를 획득하는 프로세스를 나타낸 도면이다. 도 11은 본 개시의 일 실시예에 따른 오프라인 계층에서 제1 연관 데이터를 생성하는 프로세스를 나타낸 도면이다. 도 12는 본 개시의 일 실시예에 따른 오프라인 계층에서 제2 연관 데이터를 생성하는 프로세스를 나타낸 도면이다. 도 13은 본 개시의 일 실시예에 따른 사용자와 연관된 하나 이상의 제2 판촉 캠페인 간의 우선 순위를 기초로 하나 이상의 제2 판촉 캠페인 중에서 푸시 알림을 전송할 하나 이상의 제3 판촉 캠페인을 결정하는 프로세스를 나타낸 도면이다. 도 14는 본 개시의 일 실시예에 따른 사용자와 연관된 하나 이상의 제2 판촉 캠페인 간의 우선 순위를 결정하는 프로세스를 나타낸 도면이다. 도 15는 본 개시의 일 실시예에 따른 사용자와 연관된 하나 이상의 제2 판촉 캠페인 간의 우선 순위를 결정하도록 학습 모델을 통해 제2 연관 데이터를 생성하는 프로세스를 나타낸 도면이다. 도 16은 본 개시의 일 실시예에 따른 스케줄러 계층에서 제2 연관 데이터를 기초로 판촉 캠페인과 연관된 푸시 알림의 전송을 스케줄하는 프로세스를 나타낸 도면이다. 도 17은 본 개시의 일 실시예에 따른 애플리케이션 계층에서 판촉 캠페인과 연관된 푸시 알림을 전송하는 프로세스를 나타낸 도면이다. 도 18은 본 개시의 일 실시예에 따른 애플리케이션 계층에서 판촉 캠페인과 연관된 푸시 알림을 전송하는 프로세스를 나타낸 도면이다. 도 19는 본 개시의 일 실시예에 따른 애플리케이션 계층에서 판촉 캠페인과 연관된 푸시 알림을 전송하는 프로세스를 나타낸 도면이다. 도 20은 본 개시의 일 실시예에 따른 판촉 캠페인과 연관된 푸시 알림을 제공하는 방법을 나타낸 도면이다. 도 21은 본 개시의 일 실시예에 따른 판촉 캠페인과 연관된 푸시 알림을 제공하는 방법을 나타낸 도면이다. 본 개시에 기재된 다양한 실시예들은, 본 개시의 기술적 사상을 명확히 설명하기 위한 목적으로 예시된 것이며, 이를 특정한 실시 형태로 한정하려는 것이 아니다. 본 개시의 기술적 사상은, 본 개시에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다. 기술적이거나 과학적인 용어를 포함해서, 본 개시에서 사용되는 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 가질 수 있다. 본 개시에서, "포함한다", "포함할 수 있다", "구비한다", "구비할 수 있다", "가진다", "가질 수 있다" 등과 같은 표현들은, 대상이 되는 특징(예: 기능, 동작 또는 구성요소 등)이 존재함을 의미하며, 다른 추가적인 특징의 존재를 배제하지 않는다. 즉, 이와 같은 표현들은 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다. 본 개시에서, 단수형의 표현은 문맥상 다르게 뜻하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구항에 기재된 단수형의 표현에도 마찬가지로 적용된다. 본 개시에서, "제1", "제2", 또는 "첫째", "둘째" 등의 표현은, 문맥상 다르게 뜻하지 않는 한, 복수의 동종 대상들을 지칭함에 있어 한 대상을 다른 대상과 구분하기 위해 사용되며, 해당 대상들 간의 순서 또는 중요도를 한정하는 것은 아니다. 본 개시에서, "A, B, 및 C," "A, B, 또는 C," "A, B, 및/또는 C" 또는 "A, B, 및 C 중 적어도 하나," "A, B, 또는 C 중 적어도 하나," "A, B, 및/또는 C 중 적어도 하나," "A, B, 및 C 중에서 선택된 적어도 하나," "A, B, 또는 C 중에서 선택된 적어도 하나," "A, B, 및/또는 C 중에서 선택된 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 및 B 중에서 선택된 적어도 하나"는, (1) A, (2) A 중 적어도 하나, (3) B, (4) B 중 적어도 하나, (5) A 중 적어도 하나 및 B 중 적어도 하나, (6) A 중 적어도 하나 및 B, (7) B 중 적어도 하나 및 A, (8) A 및 B를 모두 지칭할 수 있다. 본 개시에서, "a", "b", "c" 등의 표현은, 문맥에 따라 임의의 숫자를 나타낼 수 있다. 본 개시에서, "~에 기초하여(based on 또는 according to)"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 적어도 하나의 인자를 기술하는데 사용되고, 이 표현은 해당 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다. 본 개시에서, A에 기초하여 B를 결정한다는 것은, B를 결정하는 데에 A를 고려한다는 것이며, A 외 다른 정보가 추가로 고려된다는 것을 배제하지 아니한다. 본 개시에서, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예: 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다. 본 개시에서, "~하도록 구성된(configured to)"은 문맥에 따라, "~하도록 설정된", "~하는 능력을 가지는", "~하도록 변경된", "~하도록 만들어진", "~를 할 수 있는" 등의 의미를 가질 수 있다. 해당 표현은, "하드웨어적으로 특별히 설계된"의 의미로 제한되지 않으며, 예를 들어 특정 동작을 수행하도록 구성된 프로세서란, 해당 특정 동작을 수행하도록, 프로그래밍을 통해 구조화된 특수 목적 컴퓨터(special purpose computer)를 의미할 수 있다. 본 개시에서, "학습 모델"은 인간의 뇌 구조를 컴퓨터 상에서 구현하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하며 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하며, 서로 간의 연결 관계를 가질 수 있다. 학습 모델에서, 복수의 네트워크 노드들은 서로 다른 깊이의 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 예를 들어, 학습 모델은 인공 신경망(artificial neural network) 모델, 회귀 분석 모델 등 일 수 있다. 한편, 본 개시가 이에 제한되는 것은 아니며, 데이터를 분석하기 위한 다양한 종류의 모델이 이용될 수도 있다. 본 개시에서, "학습(training) 과정"은 학습 모델이 학습 데이터의 입력 데이터 및 출력 데이터 쌍의 특징(패턴)을 추출하고 분석하여, 입출력 데이터 간의 상관 관계를 도출하는 과정을 반복하여, 입출력 데이터 간의 상관 관계를 기초로 학습 모델의 파라미터(parameter)를 최적화 해나가는 과정을 의미할 수 있다. 본 개시에서, "추론(inference) 과정"은 학습 모델이 사전에 학습한 패턴을 새로운 입력 데이터에 적용하여, 입력 데이터에 대한 예측 또는 분류의 결과로서 출력 데이터를 생성하는 과정을 의미할 수 있다. 이하, 첨부된 도면들을 참조하여, 본 개시의 다양한 실시예들을 설명한다. 첨부된 도