KR102231709B1 - 전자 장치 및 그의 동작 방법 - Google Patents

전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102231709B1
KR102231709B1 KR1020200120792A KR20200120792A KR102231709B1 KR 102231709 B1 KR102231709 B1 KR 102231709B1 KR 1020200120792 A KR1020200120792 A KR 1020200120792A KR 20200120792 A KR20200120792 A KR 20200120792A KR 102231709 B1 KR102231709 B1 KR 102231709B1
Authority
KR
South Korea
Prior art keywords
discount
discount coupon
algorithm
item
coupon
Prior art date
Application number
KR1020200120792A
Other languages
English (en)
Inventor
김석현
아미트 그로버
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020200120792A priority Critical patent/KR102231709B1/ko
Priority to PCT/KR2020/013053 priority patent/WO2022059830A1/ko
Priority to JP2020176605A priority patent/JP6943495B1/ja
Priority to TW109143465A priority patent/TW202213280A/zh
Priority to US17/149,559 priority patent/US11687963B2/en
Priority to KR1020210034569A priority patent/KR102358592B1/ko
Application granted granted Critical
Publication of KR102231709B1 publication Critical patent/KR102231709B1/ko
Priority to KR1020220012493A priority patent/KR102632929B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/387Payment using discounts or coupons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0222During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0235Discounts or incentives, e.g. coupons or rebates constrained by time limit or expiration date

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

본 개시는 아이템의 수, 할인 쿠폰의 수 및 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여 선택된 알고리즘을 이용하여, 온라인 상점에서 사용자가 구매하려는 아이템에 적용할 할인 쿠폰에 관한 정보를 제공하는 방법 및 전자 장치에 관한 것이다.

Description

전자 장치 및 그의 동작 방법{ELECTRONIC APPARATUS AND OPERATION METHOD THEREOF}
본 개시는 온라인 상점에서 사용자가 각 아이템 구매 시, 아이템에 대해 적용될 수 있는 할인 쿠폰에 관한 정보를 제공하는 전자 장치 및 그의 동작 방법에 관한 것이다.
사용자는 온라인 상점에서 할인 쿠폰을 다운로드 받을 수 있고, 할인 쿠폰을 이용하여 할인된 금액으로 아이템을 구매할 수 있다. 그런데 할인 쿠폰은 할인 방식에 따라, 일정 금액이 할인되는 정액 할인 쿠폰, 일정 할인율에 따라 할인되는 정률 할인 쿠폰 등으로 분류될 수 있고, 같은 할인 쿠폰을 사용하더라도 적용할 아이템과의 조합에 따라, 최종 할인 금액이 상이할 수 있다.
선행기술문헌 : 한국 등록특허공보 제10-1687702호
이에 따라, 사용자가 직접 각 아이템에 대해 적용할 할인 쿠폰을 결정하는 경우, 사용자의 편의성을 저하시킬 수 있고, 온라인 상점에서 제공하는 할인 서비스를 제대로 활용하지 못할 수 있다. 따라서, 온라인 상점의 사용자에게 각 아이템에 적용될 수 있는 할인 쿠폰에 관한 정보를 제공하는 서비스의 필요성이 존재한다.
개시된 실시예들은 전자 장치 및 그의 동작 방법을 개시하고자 한다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
제1 실시예에 따라, 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법에 있어서, 아이템의 수, 할인 쿠폰의 수 및 상기 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여, 복수개의 알고리즘 중 하나를 제1 알고리즘으로 선택하는 단계, 상기 제1 알고리즘을 이용하여, 각 할인 쿠폰과 상기 각 할인 쿠폰이 적용될 아이템 세트를 결정하는 단계 및 상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여 사용자에게 할인 쿠폰과 관련된 정보를 제공하는 단계를 포함할 수 있다.
제2 실시예에 따라, 아이템에 적용할 할인 쿠폰 정보를 제공하는 전자 장치는, 적어도 하나의 명령어를 저장하는 메모리 및 상기 적어도 하나의 명령어를 실행하여, 아이템의 수, 할인 쿠폰의 수 및 상기 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여, 복수개의 알고리즘 중 하나를 제1 알고리즘으로 선택하고, 상기 제1 알고리즘을 이용하여, 각 할인 쿠폰과 상기 각 할인 쿠폰이 적용될 아이템 세트를 결정하고, 상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여 사용자에게 할인 쿠폰과 관련된 정보를 제공하는 프로세서를 포함할 수 있다.
제3 실시예에 따라, 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적 기록매체를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따른 전자 장치는 온라인 상점에서 복수의 구매 아이템 및 할인 쿠폰을 보유한 사용자에게 효율적으로 할인 쿠폰을 쓸 수 있는 할인 쿠폰에 관한 정보를 제공함으로써, 사용자의 편의성을 향상시킬 수 있는 효과가 있다.
또한, 본 개시에 따른 전자 장치는 아이템에 대해 적용될 수 있는 할인 쿠폰에 관한 정보를 제공하기 위해 최적 알고리즘만을 쓰는 경우와 비교하여, 더 빠른 시간 내에 효율적으로 할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트를 결정하고, 사용자에게 할인 쿠폰에 대한 정보를 제공하는 바, 아이템을 구매하고자 하는 사용자의 편의성을 향상시키는 효과가 있다.
또한, 본 개시에 따른 전자 장치는 동일한 아이템을 동일한 할인 쿠폰으로 구매하려는 사용자에게 일관된 추천 결과를 제공하는 효과가 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 온라인 상점 시스템을 나타낸다.
도 2는 온라인 상점에서 아이템 구매시 제공되는 장바구니 페이지를 설명하기 위한 도면이다.
도 3은 할인 쿠폰에 관한 정보를 제공하기 위해 종래의 빈 패킹 알고리즘을 사용하는 경우를 설명하기 위한 도면이다.
도 4는 할인 쿠폰의 속성 정보를 설명하기 위한 도면이다.
도 5는 전자 장치가 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법의 일 실시예를 설명하기 위한 도면이다.
도 6은 전자 장치가 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법의 다른 일 실시예를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 휴리스틱 알고리즘의 수행 절차를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 최적 알고리즘의 수행 절차를 설명하기 위한 도면이다.
도 9는 하나의 장바구니에 포함된 복수의 아이템 및 할인 쿠폰을 복수의 장바구니에 분할하는 일 실시예를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법의 성능을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 전자 장치의 블록도를 나타낸다.
실시예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "..부", "..모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a,b,c 모두'를 포괄할 수 있다.
명세서 전체에서 기재된 "할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트" 및 "할인 쿠폰과 아이템의 조합"은, 할인 쿠폰 및 해당 할인 쿠폰을 적용할 수 있는 대상 아이템을 포함하는 집합을 의미하는 것으로 서로 동일한 의미를 가질 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시예들을 상세히 설명한다.
도 1은 일 실시예에 따른 온라인 상점 시스템을 나타낸다.
도 1을 참조하면, 온라인 상점 시스템(1)은 전자 장치(100) 및 단말(200)을 포함할 수 있다. 도 1에 도시된 시스템(1)은 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100) 및 단말(200)은 네트워크 내에서 서로 통신할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
전자 장치(100)는 온라인 상점 시스템을 운용할 수 있다. 구체적으로, 사용자가 단말(200)을 통해 온라인 상점에 접속하면, 전자 장치(100)는 온라인 상점에서 구매 가능한 아이템이 표시할 수 있고, 사용자의 의해 선택된 아이템들의 구매를 진행할 수 있다. 또한, 전자 장치(100)는 사용자에게 할인 쿠폰을 제공할 수 있다. 이에 따라 사용자는 할인 쿠폰을 다운로드하여 아이템 구매시 할인 쿠폰을 사용할 수 있다.
전자 장치(100)는, 단말(200)의 사용자가 온라인 상점에서 아이템을 구매하고자 할 때, 사용 가능한 할인 쿠폰 중에서 특정 할인 쿠폰에 관한 정보를 제공할 수 있다. 또한, 특정 할인 쿠폰의 사용을 추천할 수 있다. 예를 들어, 사용자가 구매하고자 하는 아이템과 다운로드된 할인 쿠폰이 복수일 때, 최대 할인 혜택을 제공받기 위한 아이템과 할인 쿠폰의 조합에 관한 정보를 사용자에게 제공할 수 있다.
특정 할인 쿠폰에 관한 정보를 제공하기 위해 전자 장치(100)가 사용할 수 있는 알고리즘은 휴리스틱(heuristic) 알고리즘 및 최적(optimal) 알고리즘 중 적어도 하나일 수 있다. 일 실시예에 따른 전자 장치(100)는 아이템의 수, 할인 쿠폰의 수 및 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여 선택된 휴리스틱 알고리즘 및 최적 알고리즘 중 하나의 알고리즘을 선택하고, 선택된 알고리즘을 이용하여 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정하고, 사용자에게 할인 쿠폰과 관련된 정보를 제공할 수 있다. 이때 사용자에게 제공되는 할인 쿠폰과 관련된 정보는 최종 가격 정보, 아이템과 쿠폰의 매칭 정보 등이 포함될 수 있으나, 이에 제한되지 않는다.
최적 알고리즘의 경우, 아이템과 해당 아이템 구매시 사용할 수 있는 할인 쿠폰의 모든 조합 중에서, 할인율이 최대가 되는 아이템 및 할인 쿠폰의 조합을 결정할 수 있다. 최적 알고리즘에 의해 결정된 할인 쿠폰 및 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 따라, 아이템을 구매하면 최대의 할인 금액을 제공받을 수 있지만, 최적 알고리즘의 연산 복잡도가 크기 때문에 결과를 산출하는데 긴 지연이 발생할 수 있다.
한편, 휴리스틱 알고리즘의 경우 탐욕적 접근법(greedy approach)에 기반하여 할인 쿠폰 및 할인 쿠폰이 적용될 아이템의 세트를 결정하기 때문에, 항상 최대 할인 금액을 제공받을 수 있는 결과를 산출하는 것으로 보기 어렵다. 그러나, 최적 알고리즘과 비교하여 연산 복잡도가 낮으므로, 최적 알고리즘 대비 짧은 지연 시간 내에 할인 쿠폰에 관한 정보를 제공할 수 있다.
전자 장치(100)는 온라인 상점을 위한 플랫폼을 제공할 수 있다. 구체적으로, 전자 장치(100)는 온라인 상점을 이용하기 위한 애플리케이션을 단말(200)에게 제공할 수 있고, 전자 장치(100)는, 애플리케이션을 실행하여 아이템을 구매할 수 있다. 예를 들어, 전자 장치(100)는 온라인 상점을 운용하는 서버에 포함될 수 있다.
도 2는 온라인 상점에서 아이템 구매시 제공되는 장바구니 페이지를 설명하기 위한 도면이다.
일 실시예에 따른 온라인 상점은 장바구니 기능을 제공할 수 있고, 사용자는 구매하고자 하는 아이템을 장바구니에 추가할 수 있다. 또한, 사용자는 온라인 상점에서 사용 가능한 할인 쿠폰을 다운로드 받을 수 있는데, 다운로드된 할인 쿠폰은 장바구니 페이지를 통해 확인할 수 있다.
한편, 할인 쿠폰은 정해진 금액만큼 할인을 받을 수 있는 정액 할인 쿠폰과 일정 할인율에 따라 할인 받을 수 있는 정률 할인 쿠폰을 포함할 수 있다. 또한, 신규 회원만 사용 가능한 할인 쿠폰, 특정 카테고리 내의 아이템 구매시 사용할 수 있는 할인 쿠폰 등, 속성에 따라 사용 가능한 아이템 및 할인 금액이 서로 상이할 수 있다.
도 2를 참고하면, 사용자는 장바구니 페이지에 표시된 할인 쿠폰(210) 중 일부를 선택하여 할인된 금액으로 아이템을 구매할 수 있다. 그러나, 복수의 할인 쿠폰을 보유하고 있는 경우에 사용자가 직접 할인 쿠폰을 선택하는 것은, 할인율 및 사용자의 편의성을 저하시킬 수 있다.
한편, 전자 장치(100)에 의해 제공되는 할인 쿠폰에 관한 정보는 도 2에 개시된 장바구니 페이지에서 표시될 수 있고, 최종 결제 페이지에서 표시될 수 있으나, 할인 쿠폰에 관한 정보를 도시하는 페이지는 이에 제한되지 않는다. 또한, 상술한 '장바구니'는 사용자에 의해 선택된 아이템들의 집합 및 사용 가능한 할인 쿠폰의 집합을 포함하는 객체로 이해될 수 있다.
도 3은 할인 쿠폰에 관한 정보를 제공하기 위해 종래의 빈 패킹 알고리즘을 사용하는 경우를 설명하기 위한 도면이다.
한편, 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정하기 위하여 종래의 빈 패킹(bin packing) 알고리즘을 활용하면 문제가 발생할 수 있다. 여기서, 빈 패킹 알고리즘은 용량이 C인 복수의 사용 가능한 빈(bin)이 존재한다고 가정할 때, 서로 다른 무게를 갖는 n개의 아이템을 담을 수 있는 최소 빈의 수를 산출하는 알고리즘을 의미한다.
도 3의 (a) 및 (b)를 참고하면, 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정하기 위한 알고리즘으로 빈 패킹 알고리즘을 활용하는 경우, 웨이트(weight)의 개수는 온라인 상점에서 사용자가 구매하고자 하는 아이템과 대응될 수 있고, 각 웨이트 값은 각 아이템이 할인 받을 수 있는 금액과 대응할 수 있다. 또한, 복수의 사용 가능한 빈은 할인 쿠폰과 대응될 수 있으며, 각 빈의 용량은 각 할인 쿠폰을 사용하여 최대로 할인 받을 수 있는 금액과 대응될 수 있다.
도 3의 (c)는 빈 패킹 알고리즘으로 각 할인 쿠폰과 상기 각 할인 쿠폰이 적용될 아이템 세트를 결정하는 방법을 설명하기 위한 도면이다.
도 3의 (c)의 예시 1을 참고하면, 사용자가 구매하고자 하는 6개의 아이템에 대해 각각 할인 받을 수 있는 금액이 {4, 8, 1, 4, 2, 1}이고, 할인 쿠폰으로 할인 받을 수 있는 최대 금액은 각 할인 쿠폰 당 10이라고 할 때, 빈 패킹 알고리즘을 이용하면, 총 2개의 할인 쿠폰을 사용하는 것으로 결정될 수 있다. 구체적으로, 하나의 할인 쿠폰을 통해 할인 받을 수 있는 금액이 각각 {4, 4, 1, 1}인 4개의 아이템을 할인 받고, 다른 할인 쿠폰을 통해 할인 받을 수 있는 금액이 각각 {8, 2}인 2개의 아이템을 할인 받는 것으로 결정될 수 있다.
도 3의 (c)의 예시 2를 참고하면, 사용자가 구매하고자 하는 6개의 아이템에 대해 각각 할인 받을 수 있는 금액이 {9, 8, 2, 2, 5, 4}이고, 할인 쿠폰으로 할인 받을 수 있는 최대 금액은 각 할인 쿠폰 당 10이라고 할 때, 빈 패킹 알고리즘을 이용하면, 총 4개의 할인 쿠폰을 사용하는 것으로 결정될 수 있다. 구체적으로, 4개의 할인 쿠폰을 이용하여 할인 받는 아이템의 조합은 각각 {9}, {8, 2}, {2, 5} {4}일 수 있다.
도 3의 (c)의 예시 3을 참고하면, 사용자가 구매하고자 하는 7개의 아이템에 대해 각각 할인 받을 수 있는 금액이 {2, 5, 4, 7, 1, 3, 8}이고, 할인 쿠폰으로 할인 받을 수 있는 최대 금액은 각 할인 쿠폰 당 10이라고 할 때, 빈 패킹 알고리즘을 이용하면, 총 3개의 할인 쿠폰을 사용하는 것으로 결정될 수 있다. 구체적으로, 3개의 할인 쿠폰을 이용하여 할인 받는 아이템의 조합은 각각 {5, 4, 1}, {7, 3} {2, 8}일 수 있다.
도 3의 (c)에서와 같이, 빈 패킹 알고리즘은 효율적으로 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정할 수 있으나, 이는 할인 쿠폰이 모두 정률 할인 쿠폰인 경우를 전제로 한다. 다시 말해, 사용할 수 있는 할인 쿠폰에 정액 할인 쿠폰이 포함되면, 빈 패킹 알고리즘을 통해 최적의 아이템 및 할인 쿠폰의 조합을 결정하기 어렵다.
실제 정률 할인 쿠폰과 정액 할인 쿠폰을 모두 이용할 수 있는 경우, 최적의 아이템 및 할인 쿠폰의 최적의 조합을 결정하는 방법에 관하여는 도 4를 이용하여 설명하기도 한다.
도 4는 할인 쿠폰의 속성 정보를 설명하기 위한 도면이다.
온라인 상점에서 사용 가능한 할인 쿠폰은 정액 할인 쿠폰일 수 있고, 정률 할인 쿠폰일 수 있다. 여기서, 정액 할인 쿠폰은 일정 조건을 만족하면 쿠폰을 사용하는 아이템의 가격 및 수량과 무관하게 일정 금액을 할인 받을 수 있는 쿠폰을 의미하고, 정률 할인 쿠폰은 일정 할인율에 따른 할인 혜택을 받을 수 있는 쿠폰을 의미한다. 온라인 상점이 정액 할인 쿠폰을 제공하거나, 속성이 서로 다른 할인 쿠폰을 제공할 경우, 상술한 빈 패킹 알고리즘을 이용하여 최적의 아이템 및 할인 쿠폰의 조합을 결정하기 어려울 수 있다.
예를 들어, 할인 쿠폰의 속성 정보는 할인 방식, 할인율 또는 최대 할인 금액을 포함할 수 있다. 만약 두 종류의 할인 쿠폰(D1, D2)의 속성 정보가 도 4의 (a)와 같고, 가격이 각각 10000원인 3개의 아이템(I1 내지 I3)이 장바구니에 포함되어 있는 경우, 아이템 및 할인 쿠폰의 최적의 조합은 도 4의 (b)와 같을 수 있다. 다시 말해, 제1 아이템(I1)은 제1 할인 쿠폰(D1)을 적용하여 구매하고, 제2 아이템 및 제3 아이템(I2, I3)은 제2 할인 쿠폰(D2)을 적용하여 구매하는 경우, 사용자는 최대 할인 금액 3200원을 제공받을 수 있다.
그러나, 빈 패킹 알고리즘을 이용하여 아이템 및 할인 쿠폰의 조합을 결정하면, 결정 결과는 도 4의 (c)와 같게 된다. 구체적으로 제2 할인 쿠폰(D2)의 최대 할인 금액이 5000원이므로, 빈 패킹 알고리즘을 이용하면 모든 아이템(I1 내지 I3)에 제2 할인 쿠폰(D2)을 적용해야 한다고 결정될 수 있다. 그러나, 이는 도 4의 (b)의 할인 금액 3200원보다 적은 금액으로, 최적의 조합이라고 볼 수 없다.
상술한 바와 같이, 정액 할인 쿠폰이 포함되면 종래의 빈 패킹 알고리즘을 이용하여 최적의 아이템 및 할인 쿠폰의 조합을 결정하기 어려울 수 있다. 따라서, 할인 쿠폰의 속성 정보에 기초하여 최대한 많이 할인 받을 수 있는 아이템 및 할인 쿠폰의 조합을 결정하는 것이 필요하다.
한편, 도 4의 (a)에 개시된 할인 쿠폰의 속성 정보 외에도 할인 쿠폰의 정보는 할인 쿠폰을 사용할 수 있는 사용자의 등급, 할인 쿠폰을 사용할 수 있는 결제 수단 등을 함께 고려하여 아이템 및 할인 쿠폰의 조합을 산출할 수 있음은 해당 기술분야의 통상의 기술자에게 자명하다.
도 5는 전자 장치가 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법의 일 실시예를 설명하기 위한 도면이다.
단계 S510에서, 전자 장치(100)는 아이템의 수, 할인 쿠폰의 수 및 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여, 복수개의 알고리즘 중 하나를 제1 알고리즘으로 선택할 수 있다. 여기서 복수개의 알고리즘은 휴리스틱(heuristic) 알고리즘 및 최적(optimal) 알고리즘 중 적어도 하나를 포함할 수 있다. 예를 들어 단계 S510에서, 전자 장치(100)는 아이템의 수에 관한 제1 조건, 할인 쿠폰의 수에 관한 제2 조건 및 할인 쿠폰과 아이템의 수의 합에 관한 제3 조건 중 적어도 2개의 조건이 만족되는지 여부에 따라, 휴리스틱 알고리즘과 최적 알고리즘 중 하나를 제1 알고리즘으로 선택할 수 있다.
한편, 제1 조건은 장바구니에 포함된 아이템의 수가 제1 임계값을 초과하는지 여부이고, 제2 조건은 장바구니에 포함된 할인 쿠폰의 수가 제2 임계값을 초과하였는지 여부일 수 있다. 또한, 제3 조건은 장바구니에 포함된 아이템과 할인 쿠폰의 수의 합이 제3 임계값을 초과하는지 여부일 수 있고, 3개 조건 중 적어도 2개의 조건을 만족하는 경우, 제1 알고리즘으로 휴리스틱 알고리즘이 선택될 수 있다.
한편, 일 실시예에 따른 전자 장치(100)는 제1 임계값을 7로 설정하고, 제2 임계값을 3으로 설정하고, 제3 임계값을 10으로 설정할 수 있으나 이는 예시일 뿐 다양한 숫자가 적용될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다. 또한, 제1 임계값과 제2 임계값의 합이 반드시 제3 임계값과 동일할 필요는 없으며, 제1 임계값 및 제2 임계값의 합은 제3 임계값보다는 작은 값일 수도 있고, 큰 값일 수도 있다.
여기서 휴리스틱 알고리즘은 할인 쿠폰의 속성 정보에 기초하여 할인 쿠폰 간의 우선 순위를 결정하고, 우선 순위가 가장 높은 제1 할인 쿠폰부터, 제1 할인 쿠폰 사용시 총 할인 금액이 최대가 되는 아이템을 선택하는 것에 기초하여 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보와 관련된 정보를 결정하는 알고리즘일 수 있다. 이때, 할인 쿠폰의 속성 정보는 할인 방식, 할인율 및 최대 할인 금액 중 적어도 하나를 포함하고, 할인 방식은 정률 할인 방식 및 정액 할인 방식 중 하나를 포함할 수 있다.
또한, 정률 할인 방식의 할인 쿠폰은 정액 할인 방식의 할인 쿠폰보다 더 높은 우선 순위를 갖고, 정률 할인 방식의 할인 쿠폰 간에는 할인율이 높은 할인 쿠폰이 더 높은 우선 순위를 갖고, 정액 할인 방식의 할인 쿠폰 간에는 할인 금액이 높은 할인 쿠폰이 더 높은 우선 순위를 가질 수 있다.
한편, 최적 알고리즘은 할인 쿠폰과 아이템의 모든 조합을 대상으로 하여, 총 할인 금액이 최대가 되는 아이템과 할인 쿠폰의 조합을 결정하는 알고리즘일 수 있다. 또한, 최적 알고리즘은, 할인 쿠폰과 아이템의 조합이 복수인 경우, 복수의 조합에 대하여, 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트를 결정하는 연산이 병렬적으로 수행되는 것일 수 있다.
만약, 제1 알고리즘으로 최적 알고리즘이 선택된 경우, 본 개시의 방법은 실행 시간이 제1 시간 임계값을 초과하면, 휴리스틱 알고리즘을 이용하여 아이템에 적용할 할인 쿠폰을 확인하는 단계를 더 포함할 수 있다.
단계 S520에서, 전자 장치(100)는 제1 알고리즘을 이용하여, 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정할 수 있다. 여기서 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트는 아이템의 정보 및 할인 쿠폰의 정보 중 적어도 하나에 기초하여 산출되는 것일 수 있다. 또한, 아이템의 정보는 아이템의 ID, 아이템이 속한 카테고리 및 아이템의 가격 중 적어도 하나를 포함하고, 할인 쿠폰의 정보는 할인 쿠폰의 속성 정보, 사용 가능한 사용자 등급 및 사용 가능한 결제 수단 중 적어도 하나를 포함할 수 있다.
단계 S530에서, 전자 장치(100)는 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여 사용자에게 할인 쿠폰과 관련된 정보를 제공할 수 있다.
일 실시예에 따른 본 개시의 방법은 할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트 중, 원소의 수가 가장 많은 세트를 제1 세트로 결정하는 단계, 제1 세트의 원소의 수에 기초하여, 제1 알고리즘을 재선택하는 단계, 할인 쿠폰 및 할인 쿠폰이 적용될 아이템의 세트와 재선택된 제1 알고리즘을 이용하여 업데이트된 할인 쿠폰과 업데이트된 할인 쿠폰이 적용될 아이템 세트를 결정하는 단계를 더 포함할 수 있다. 이러한 경우, 아이템과 관련된 정보는 업데이트된 할인 쿠폰과 업데이트된 할인 쿠폰이 적용될 아이템 세트를 기반으로 결정된 것일 수 있다.
만약 복수개의 알고리즘이 휴리스틱 알고리즘 및 최적 알고리즘 중 적어도 하나를 포함하고, 제1 알고리즘으로 휴리스틱 알고리즘이 선택된 이후라면, 제1 알고리즘을 재선택하는 단계는 제1 세트의 원소의 수가 제5 임계값 이하일 때, 제1 알고리즘을 최적 알고리즘으로 재선택하는 단계일 수 있다. 한편, 일 실시예에 따른 전자 장치(100)의 제5 임계값은 제3 임계값과 동일할 수 있다. 다시 말해, 전자 장치(100)는 아이템 및 할인 쿠폰의 수의 합에 관한 제3 임계값을 제1 세트의 원소의 수와 비교할 수 있다. 이는 실제 아이템 및 할인 쿠폰의 수의 합이 제3 임계값을 초과할 정도로 크지만, 실제로 휴리스틱 알고리즘을 통해 결정된 각 할인 쿠폰 및 할인 쿠폰에 적용될 아이템 세트의 원소의 수가 제한적인 경우에는 최적 알고리즘을 이용하여도 지연 시간이 크게 늘어나지 않을 수 있다는 점에 따른 것이다. 따라서 이러한 경우, 전자 장치(100)는 최적 알고리즘을 이용하여 각 할인 쿠폰 및 할인 쿠폰에 적용될 아이템 세트를 결정할 수 있다.
또한, 온라인 상점에서 하나의 장바구니에 대해 하나의 할인 쿠폰만 사용 가능하고, 아이템 및 할인 쿠폰이 제1 장바구니에 포함된 경우, 본 개시의 방법은, 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여, 동일한 할인 쿠폰을 사용할 것으로 추천된 아이템을 분류하는 단계 및 분류 결과에 기초하여 제1 장바구니를 복수의 장바구니로 분할하는 단계를 더 포함할 수 있다. 이에 따라 전자 장치(100)는 하나의 장바구니에 복수의 아이템 및 할인 쿠폰이 포함된 경우에도, 최대 할인 혜택을 제공할 수 있는 아이템 및 할인 쿠폰의 조합 및 할인 쿠폰에 관한 정보를 사용자에게 제공할 수 있다.
일 실시예에 따른 전자 장치(100)는 할인 쿠폰과 관련된 정보는 온라인 상점의 장바구니 페이지 및 최종 결제 페이지 중 적어도 하나에서 표시되는 것일 수 있다.
한편, 일 실시예에 따른 전자 장치(100)는 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템의 세트 및 할인 쿠폰에 관한 정보를 저장할 수 있다. 그리고 추후에 동일한 할인 쿠폰 및 해당 할인 쿠폰이 적용될 아이템의 세트에 관한 정보를 제공해야 하는 경우, 전자 장치(100)는 이미 저장되어 있던 정보를 제공할 수 있다. 이러한 경우 전자 장치(100)는 할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트를 결정하는데 걸리는 지연 시간을 감소시킬 수 있다.
또한, 일 실시예에 따른 전자 장치(100)는 할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트를 결정할 때, 가지치기 접근법(pruning approach)을 이용할 수 있다. 예를 들어, 일 실시예에서 복수의 할인 쿠폰 중 어느 하나의 쿠폰은, 해당 쿠폰을 이용하더라도 전체 할인 금액에 영향을 주지 않을 수 있다. 이러한 경우, 전자 장치(100)는 해당 할인 쿠폰을 포함하는 할인 쿠폰 및 아이템의 조합에 대한 연산을 중지할 수 있다.
도 6은 전자 장치가 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법의 다른 일 실시예를 설명하기 위한 도면이다.
일 실시예에 따른 전자 장치(100)는 각 할인 쿠폰과 각 할인 쿠폰을 사용할 수 있는 아이템을 매칭시킨 하위 조합에 기초하여, 제1 알고리즘을 선택할 수 있다. 이러한 경우, 아이템 및 할인 쿠폰의 총 개수에 기초하여 제1 알고리즘을 선택하는 경우에 비해, 최적 알고리즘이 선택될 확률이 높아질 수 있다. 따라서, 사용자에게 아이템과 할인 쿠폰의 최적의 조합에 관한 정보를 제공하는 경우가 많아질 수 있다.
단계 S610에서, 전자 장치(100)는 각 할인 쿠폰의 정보에 기초하여, 각 할인 쿠폰과 각 할인 쿠폰이 적용될 수 있는 아이템을 매칭함에 따라 복수의 하위 조합을 산출할 수 있다. 이때, 전자 장치(100)는 복수의 하위 조합 중, 원소의 수가 가장 많은 하위 조합을 제1 하위 조합으로 결정할 수 있다.
단계 S620에서, 전자 장치(100)는 제1 하위 조합의 원소의 수가 제4 임계값을 초과하는지 여부를 판단할 수 있다. 만약, 제1 하위 조합의 원소의 수가 제4 임계값을 초과하면 단계 S630이 수행되고, 그렇지 않은 경우 S650이 수행될 수 있다. 한편, 제4 임계값은 제3 임계값과 동일한 값일 수 있으나, 두 임계값은 이에 제한되지 않는다.
단계 S630에서, 전자 장치(100)는 휴리스틱 알고리즘을 이용하여 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정할 수 있다. 한편, 휴리스틱 알고리즘의 수행 절차에 관하여는 도 7을 이용하여 설명하기도 한다.
단계 S650에서, 전자 장치(100)는 최적 알고리즘을 이용하여 최대 할인 혜택을 제공할 수 있는 할인 쿠폰과 할인 쿠폰이 적용될 아이템 세트를 결정할 수 있다. 한편, 최적 알고리즘의 수행 절차에 관하여는 도 8을 이용하여 설명하기도 한다.
도 6에 도시되지 않았으나, 단계 S650의 실행 시간이 제1 시간 임계값을 초과하는 경우, 전자 장치(100)는 휴리스틱 알고리즘을 이용하여, 아이템에 적용할 할인 쿠폰을 확인할 수 있다. 다시 말해, 전자 장치(100)는 최적 알고리즘의 수행 기간이 소정의 시간을 넘어가면, 최적 알고리즘 대신 휴리스틱 알고리즘을 이용하여 아이템에 적용할 할인 쿠폰을 확인함으로써, 최적 알고리즘만을 이용하는 방법과 비교하여 지연시간을 줄일 수 있다. 일 실시예에 따른 전자 장치(100)는 제1 시간 임계값을 2 초로 설정할 수 있으나 이는 예시일 뿐 제1 시간 임계값으로 다양한 시간이 적용될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.
단계 S640에서, 전자 장치(100)는 단계 S630의 할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트 중, 원소의 수가 가장 많은 세트를 제1 세트로 결정하고, 제1 세트의 원소의 수가 제5 임계값을 초과하는지 판단할 수 있다. 만약, 제5 임계값을 초과하면 전자 장치(100)는 단계 S660를 수행할 수 있고, 그렇지 않은 경우 단계 S650을 수행할 수 있다. 한편, 일 실시예에 따른 제5 임계값은 상술한 제3 임계값과 동일한 값일 수 있으나, 두 임계값은 이에 제한되지 않는다.
상술된 단계를 수행하는 경우, 전자 장치(100)는 제1 알고리즘으로 휴리스틱 알고리즘이 선택되었다 하더라도, 휴리스틱 알고리즘으로 결정된 할인 쿠폰 및 할인 쿠폰이 적용될 아이템의 세트가 적은 원소 수를 갖는 경우에는 다시 최적 알고리즘을 이용하여 할인 쿠폰과 아이템의 조합을 결정할 수 있다. 따라서, 본 개시의 따른 전자 장치(100)는 동일한 아이템에 동일한 할인 쿠폰을 적용하는 다수의 사용자들에게 동일한 추천 결과를 제공할 수 있는 효과가 있다.
단계 S660에서, 전자 장치(100)는 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여 사용자에게 할인 쿠폰과 관련된 정보를 제공할 수 있다.
도 7은 일 실시예에 따른 휴리스틱 알고리즘의 수행 절차를 설명하기 위한 도면이다.
단계 S710에서, 전자 장치(100)는 할인 쿠폰의 속성 정보에 기초하여, 할인 쿠폰의 우선 순위를 결정할 수 있다. 여기서, 할인 쿠폰의 속성 정보는 할인 방식, 할인율 및 최대 할인 금액 중 적어도 하나를 포함하고, 할인 방식은 정률 할인 방식 및 정액 할인 방식 중 하나를 포함할 수 있다.
예를 들어, 정률 할인 방식의 할인 쿠폰은 정액 할인 방식의 할인 쿠폰보다 더 높은 우선 순위를 갖고, 정률 할인 방식의 할인 쿠폰 간에는 할인율이 높은 할인 쿠폰이 더 높은 우선 순위를 갖고, 정액 할인 방식의 할인 쿠폰 간에는 할인 금액이 높은 할인 쿠폰이 더 높은 우선 순위를 가질 수 있으나, 할인 쿠폰 간의 우선 순위 결정 기준은 이에 제한되지 않는다.
단계 S720에서, 전자 장치(100)는 우선 순위가 가장 높은 제1 할인 쿠폰부터, 제1 할인 쿠폰 사용시 총 할인 금액이 최대가 되는 아이템을 선택하는 것에 기초하여, 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템 세트에 대한 정보와 관련된 정보를 결정할 수 있다. 여기서, 각 할인 쿠폰이 적용될 아이템 세트에 대한 정보와 관련된 정보는 최종 가격 정보, 아이템과 쿠폰의 매칭 정보 등을 포함할 수 있으나, 이에 제한되지 않는다.
상술한 휴리스틱 알고리즘을 이용하여 도 4에 개시된 할인 쿠폰(D1, D2)과 아이템(I1 내지 I3)이 포함된 조합을 산출할 수 있다. 할인 쿠폰의 속성 정보가 도 4의 (a)와 같은 경우, 정률 할인 방식인 제2 할인 쿠폰(D2)의 우선 순위는 정액 할인 방식인 제1 할인 쿠폰(D1)의 우선 순위보다 높을 수 있다. 따라서, 전자 장치(100)는 제2 할인 쿠폰(D2)을 적용할 아이템부터 선택할 수 있다.
한편, 3개 아이템(I1 내지 I3) 모두 제2 할인 쿠폰(D2)을 사용할 수 있으나, 제1 할인 쿠폰(D1)을 더 사용하기 위해, 전자 장치(100)는 제2 할인 쿠폰(D2)을 사용할 아이템으로 제2 아이템(I2) 및 제3 아이템(I3)을 결정하고, 이들의 조합 {D1, I2, I3}을 산출할 수 있다. 또한, 제1 할인 쿠폰(D1)과 제1 할인 쿠폰(D1)을 사용할 아이템(I1)의 조합{D2, I1}을 산출할 수 있다. 따라서, 휴리스틱 알고리즘을 사용하는 경우에도 도 4의 (b)와 동일한 할인 쿠폰과 아이템의 조합을 산출할 수 있다.
한편, 일 실시예에 따른 휴리스틱 알고리즘은 장바구니에 포함된 아이템 모두 우선 순위가 제일 높은 할인 쿠폰을 사용할 수 있는 아이템이라 하더라도, 하위 우선 순위의 할인 쿠폰을 사용하는 경우, 할인받을 수 있는 금액이 더 증가할 수 있다. 따라서, 일 실시예에 따른 휴리스틱 알고리즘은 우선 순위가 높은 할인 쿠폰을 사용할 수 있는 아이템의 수보다 더 적은 수의 아이템에 대해, 해당 할인 쿠폰을 사용하는 것으로 결정할 수 있다.
도 8은 일 실시예에 따른 최적 알고리즘의 수행 절차를 설명하기 위한 도면이다.
단계 S810에서, 전자 장치(100)는 할인 쿠폰과 아이템의 모든 조합을 결정할 수 있다. 예를 들어, 제1 할인 쿠폰(D1)을 적용할 수 있는 아이템은 제1 아이템 내지 제3 아이템(I1 내지 I3)이고, 제2 할인 쿠폰(D2)을 적용할 수 있는 아이템은 제3 아이템 내지 제5 아이템(I3 내지 I5)일 때, 단계 S810를 통해 생성되는 할인 쿠폰과 아이템의 모든 조합은 제1 할인 쿠폰(D1)에 대한 제1 아이템 내지 제3 아이템(I1 내지 I3)의 모든 조합(즉, 8개의 조합) 및 제2 할인 쿠폰(D2)에 대한 제3 아이템 내지 제5 아이템(I3 내지 I5)의 모든 조합(즉, 8개의 조합)일 수 있다.
단계 S820에서, 전자 장치(100)는 할인 쿠폰과 아이템의 모든 조합을 대상으로 하여, 총 할인 금액이 최대가 되는 아이템과 할인 쿠폰의 조합을 결정할 수 있다.
상술한 바와 같이, 최적 알고리즘을 이용하여 할인 쿠폰과 아이템의 조합을 산출하는 경우, 최대 할인 금액을 제공할 수 있는 조합의 산출이 가능하다. 그러나, n 개의 아이템 및 m개 할인 쿠폰에 대하여, 최적 알고리즘을 수행하는 경우 연산 복잡도는 mⅹ2n으로, 아이템의 수가 증가할수록 연산 복잡도가 크게 증가할 수 있다. 연산 복잡도가 크게 증가하면, 결정 결과를 사용자에게 제공하는 지연 시간 역시 길어지기 때문에, 소정의 시간 임계값을 초과하여 최적 알고리즘이 수행되는 경우에는 최적 알고리즘 대신 휴리스틱 알고리즘을 이용하여 할인 쿠폰과 아이템 조합을 결정하고, 관련 정보를 사용자에게 제공할 수 있다.
도 9는 하나의 장바구니에 포함된 복수의 아이템을 복수의 장바구니에 분할하는 일 실시예를 설명하기 위한 도면이다.
일 실시예에 따른 온라인 상점의 경우, 하나의 장바구니에 포함된 아이템에 적용할 수 있는 할인 쿠폰의 수가 고정되어 있을 수 있다. 예를 들어, 하나의 장바구니에 10개의 아이템과 3개의 할인 쿠폰이 저장되어 있더라도, 1회 결제시 사용할 수 있는 할인 쿠폰의 수가 1개로 제한되어 있을 수 있다.
예를 들어 도 9의 (a)를 참고하면, 하나의 장바구니에 2개 할인 쿠폰(제1 할인 쿠폰, 제2 할인 쿠폰)과 4개의 아이템(제1 아이템 내지 제4 아이템)이 포함되어 있을 수 있다. 또한, 휴리스틱 알고리즘 또는 최적 알고리즘을 이용하여 할인 쿠폰과 아이템의 조합을 산출한 결과, 제1 아이템 및 제2 아이템은 제1 할인 쿠폰을 적용하고, 제3 아이템 및 제4 아이템은 제2 할인 쿠폰을 적용하는 것으로 추천할 수 있다. 이때 만약 하나의 장바구니에서 사용할 수 있는 할인 쿠폰의 수가 1개로 제한되어 있다면, 사용자는 제1 할인 쿠폰과 제2 할인 쿠폰 중 하나만 사용할 수 밖에 없다.
이러한 문제를 해결하기 위해, 본 개시에 따른 전자 장치(100)는 각 할인 쿠폰과 각 할인 쿠폰을 적용할 아이템의 조합에 따라 장바구니를 분할할 수 있다. 도 9의 (b)를 참고하면, 전자 장치(100)는 장바구니를 할인 쿠폰의 수만큼 분할하고, 각 할인 쿠폰을 사용할 수 있는 아이템을 서로 다른 장바구니에 담을 수 있다. 이에 따라, 본 개시의 전자 장치(100)는 아이템에 적용할 수 있는 할인 쿠폰의 수에 제약 받지 않고, 사용 가능한 할인 쿠폰을 효율적으로 사용할 수 있는 방법을 사용자에게 제공할 수 있다.
도 10은 일 실시예에 따른 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법의 성능을 설명하기 위한 도면이다.
도 10의 (a)는 최적 알고리즘을 이용하여 아이템 및 할인 쿠폰의 최적의 조합을 산출하는 경우 지연 시간을 설명하기 위한 그래프이다. 도 10의 (a)의 'P99 average'는 가장 느린 응답의 1%의 평균 지연 시간을 의미하고, 'P99 max'는 가장 느린 응답의 1%의 최대 지연 시간을 의미한다. 그리고, 'mean'은 전체 지연 시간의 평균값을 의미한다. 도 10의 (a)를 참고하면, 최적 알고리즘을 이용하여 최적의 조합을 산출하는 경우, 가장 느린 응답의 1%의 최대 지연 시간은 50ms 내지 60ms 정도에 이르는 것을 확인할 수 있다.
도 10의 (b)는 각 알고리즘을 사용하는 경우에 연산에 기초가 되는 아이템 및 할인 쿠폰의 조합의 수를 설명하기 위한 그래프이다. 도 10의 (b)의 '최적 알고리즘'은 본 개시에 따른 방법에서 최적 알고리즘이 선택 또는 재선택된 경우로, 최적 알고리즘을 이용하여 할인 쿠폰과 아이템의 조합을 산출한 케이스를 의미하고, '휴리스틱 알고리즘'은 본 개시에 따른 방법에서 휴리스틱 알고리즘을 이용하여 할인 쿠폰과 아이템의 조합을 산출한 케이스를 의미한다. 그리고, '최적 알고리즘 + 휴리스틱 알고리즘'은 상술한 두가지 인덱스의 값을 합한 것과 동일하다. 도 10의 (b)를 참고하면, 본 개시에 따른 방법을 실제로 구현하면 대부분의 경우에는 최적 알고리즘을 통해 할인 쿠폰과 아이템의 조합이 산출되는 것을 확인할 수 있다.
도 10의 (c)는 도 10의 (b)의 '휴리스틱 알고리즘'을 확대한 그래프이다. 도 10의 (c)를 참고하면, 본 개시에 따른 방법을 실제로 구현하면 휴리스틱 알고리즘만을 이용하여 할인 쿠폰과 아이템의 조합을 산출하는 경우가 비교적 적은 것을 확인할 수 있다.
도 10의 (d)는 아이템 및 할인 쿠폰의 수의 합이 너무 커서 휴리스틱 알고리즘만을 사용하게 된 케이스를 설명하기 위한 그래프이다. 도 10의 (d)에 개시된 그래프는 도 10의 (c)에 개시된 그래프와 거의 유사하므로, 휴리스틱 알고리즘만을 사용하는 경우는 대부분 아이템 및 할인 쿠폰의 수의 합이 소정의 임계값을 초과한 경우라는 것을 확인할 수 있다.
도 11은 일 실시예에 따른 전자 장치의 블록도를 나타낸다.
전자 장치(1100)는 일 실시예에 따라, 메모리(memory)(1110) 및 프로세서(processor)(1120)를 포함할 수 있다. 도 11에 도시된 전자 장치(1100)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 11에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 전자 장치(1100)는 전자 장치(100)에 관한 내용을 포함할 수 있는 바, 중복되는 내용에 대해서는 설명을 생략한다.
메모리(1110)는 전자 장치(1100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(1110)는 전자 장치(1100)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 메모리(1110)는 프로세서(1120)의 동작을 위한 적어도 하나의 명령어(instruction)를 저장할 수 있다. 또한, 메모리(1110)는 전자 장치(1100)에 의해 구동될 프로그램 또는 애플리케이션 등을 저장할 수 있다. 메모리(1110)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(1120)는 전자 장치(1100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(1120)는 메모리(1110)에 저장된 적어도 하나의 명령어 또는 적어도 하나의 프로그램을 실행함으로써, 전자 장치(1100)를 전반적으로 제어할 수 있다. 프로세서(1120)는 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
프로세서(1120)는 아이템의 수, 할인 쿠폰의 수 및 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여, 복수개의 알고리즘 중 하나를 제1 알고리즘으로 선택할 수 있다. 여기서 복수개의 알고리즘은 휴리스틱 알고리즘 및 최적 알고리즘 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 프로세서(1120)는 아이템의 수에 관한 제1 조건, 할인 쿠폰의 수에 관한 제2 조건 및 할인 쿠폰과 아이템의 수의 합에 관한 제3 조건 중 적어도 2개의 조건이 만족되는지 여부에 따라, 휴리스틱 알고리즘과 최적 알고리즘 중 하나를 제1 알고리즘으로 선택할 수 있다. 여기서, 제1 조건은 장바구니에 포함된 아이템의 수가 제1 임계값을 초과하는지 여부이고, 제2 조건은 장바구니에 포함된 할인 쿠폰의 수가 제2 임계값을 초과하였는지 여부일 수 있다. 또한, 제3 조건은 장바구니에 포함된 아이템과 할인 쿠폰의 수의 합이 제3 임계값을 초과하는지 여부일 수 있고, 3개 조건 중 적어도 2개의 조건을 만족하는 경우, 제1 알고리즘으로 휴리스틱 알고리즘이 선택될 수 있다.
일 실시예에 따른 프로세서(1120)는, 각 할인 쿠폰의 정보에 기초하여, 각 할인 쿠폰과 각 할인 쿠폰을 사용할 수 있는 아이템을 매칭함에 따라 복수의 하위 조합을 산출하고, 복수의 하위 조합 중 원소의 수가 가장 많은 하위 조합을 제1 하위 조합으로 결정하고, 제1 하위 조합의 원소의 수가 제4 임계값을 초과하는 경우, 제1 알고리즘으로 휴리스틱 알고리즘을 선택할 수 있다. 구체적으로, 프로세서(1120)는, 제1 하위 조합의 원소의 수가 제4 임계값을 초과하는 경우, 제1 알고리즘으로 휴리스틱 알고리즘을 선택할 수 있다.
한편, 휴리스틱 알고리즘은 할인 쿠폰의 속성 정보에 기초하여 할인 쿠폰 간의 우선 순위를 결정하고, 우선 순위가 가장 높은 제1 할인 쿠폰부터, 제1 할인 쿠폰 사용시 총 할인 금액이 최대가 되는 아이템을 선택하는 것에 기초하여 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보와 관련된 정보를 결정하는 알고리즘일 수 있다. 이때, 할인 쿠폰의 속성 정보는 할인 방식, 할인율 및 최대 할인 금액 중 적어도 하나를 포함하고, 할인 방식은 정률 할인 방식 및 정액 할인 방식 중 하나를 포함할 수 있다.
또한, 정률 할인 방식의 할인 쿠폰은 정액 할인 방식의 할인 쿠폰보다 더 높은 우선 순위를 갖고, 정률 할인 방식의 할인 쿠폰 간에는 할인율이 높은 할인 쿠폰이 더 높은 우선 순위를 갖고, 정액 할인 방식의 할인 쿠폰 간에는 할인 금액이 높은 할인 쿠폰이 더 높은 우선 순위를 가질 수 있다.
한편, 최적 알고리즘은 할인 쿠폰과 아이템의 모든 조합을 대상으로 하여, 총 할인 금액이 최대가 되는 아이템과 할인 쿠폰의 조합을 결정하는 알고리즘일 수 있다. 할인 쿠폰과 아이템의 모든 조합을 대상으로 연산을 수행하므로, 할인 쿠폰 및 아이템 수의 합(n)이 증가하면 연산 복잡도(2n)도 증가하므로, 지연시간 역시 길어질 수 있다. 한편 최적 알고리즘은, 할인 쿠폰과 아이템의 조합이 복수인 경우, 복수의 조합에 대하여, 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트를 결정하는 연산이 병렬적으로 수행되는 것일 수 있다.
만약, 제1 알고리즘으로 최적 알고리즘이 선택된 경우, 실행 시간이 제1 시간 임계값을 초과하면, 프로세서(1120)는 휴리스틱 알고리즘을 이용하여 아이템에 적용할 할인 쿠폰을 확인할 수 있다.
프로세서(1120)는 선택된 제1 알고리즘을 이용하여, 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트를 결정할 수 있다. 또한, 일 실시예에 따른 프로세서(1120)는 할인 쿠폰과 아이템의 조합이 복수인 경우, 복수의 조합에 대하여, 추천될 할인 쿠폰을 결정하는 연산을 동시에 수행될 수 있다. 예를 들어, 제1 쿠폰 및 제1 아이템 내지 제3 아이템이 포함된 조합{D1, I1, I2, I3} 내의 할인된 금액을 계산하는 것과 제2 쿠폰 및 제4 아이템 내지 제6 아이템이 포함된 조합{D2, I4, I5, I6} 내의 할인된 금액을 계산하는 것을 동시에 수행함으로써, 지연 시간을 줄일 수 있는 효과가 있다. 상술된 예는 각 조합의 할인된 금액을 계산하는 것에 관한 예시이지만, 추천될 할인 쿠폰을 결정하는 연산은 이에 제한되지 않는다.
일 실시예에 따른 프로세서(1120)는 할인 쿠폰과 할인 쿠폰이 적용될 아이템의 세트 중, 원소의 수가 가장 많은 세트를 제1 세트로 결정하고, 제1 세트의 원소의 수에 기초하여 제1 알고리즘을 재선택하고, 할인 쿠폰 및 할인 쿠폰이 적용될 아이템의 세트와 재선택된 제1 알고리즘을 이용하여 업데이트된 할인 쿠폰과 업데이트된 할인 쿠폰이 적용될 아이템 세트를 결정할 수 있다. 이러한 경우, 아이템과 관련된 정보는 업데이트된 할인 쿠폰과 업데이트된 할인 쿠폰이 적용될 아이템 세트를 기반으로 결정된 것일 수 있다.
만약 복수개의 알고리즘이 휴리스틱 알고리즘 및 최적 알고리즘 중 적어도 하나를 포함하고, 제1 알고리즘으로 휴리스틱 알고리즘이 선택된 이후라면, 프로세서(1120)가 제1 알고리즘을 재선택하는 것은 제1 세트의 원소의 수가 제5 임계값 이하일 때, 제1 알고리즘을 최적 알고리즘으로 재선택하는 것일 수 있다.
한편, 각 할인 쿠폰과 각 할인 쿠폰이 적용될 아이템 세트는 아이템의 정보 및 할인 쿠폰의 정보 중 적어도 하나에 기초하여 산출되는 것일 수 있다. 또한, 아이템의 정보는 아이템의 ID, 아이템이 속한 카테고리 및 아이템의 가격 중 적어도 하나를 포함하고, 할인 쿠폰의 정보는 할인 쿠폰의 속성 정보, 사용 가능한 사용자 등급 및 사용 가능한 결제 수단 중 적어도 하나를 포함할 수 있다.
또한, 프로세서(1120)는 온라인 상점에서 하나의 장바구니에 대해 하나의 할인 쿠폰만 사용 가능하고, 아이템 및 할인 쿠폰이 제1 장바구니에 포함된 경우, 각 할인 쿠폰 및 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여, 동일한 할인 쿠폰을 사용할 것으로 추천된 아이템을 분류하고, 분류 결과에 기초하여 제1 장바구니를 복수의 장바구니로 분할할 수 있다.
또한, 프로세서(1120)는 할인 쿠폰과 관련된 정보를 온라인 상점의 장바구니 페이지 및 최종 결제 페이지 중 적어도 하나에 표시할 수 있다.
전술한 실시예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (16)

  1. 아이템에 적용할 할인 쿠폰 정보를 제공하는 전자 장치의 프로세서에 의해 수행되는, 상기 아이템에 적용할 할인 쿠폰 정보를 제공하는 방법에 있어서,
    아이템의 수, 할인 쿠폰의 수 및 상기 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여, 복수개의 알고리즘 중 하나를 제1 알고리즘으로 선택하는 단계;
    상기 제1 알고리즘을 이용하여, 각 할인 쿠폰과 상기 각 할인 쿠폰이 적용될 아이템 세트를 결정하는 단계; 및
    상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여 사용자에게 할인 쿠폰과 관련된 정보를 제공하는 단계를 포함하고,
    상기 복수개의 알고리즘은 휴리스틱(heuristic) 알고리즘 및 최적(optimal) 알고리즘 중 적어도 하나를 포함하고,
    상기 제1 알고리즘을 선택하는 단계는,
    상기 아이템의 수가 제1 임계값을 초과하는 제1 조건, 상기 할인 쿠폰의 수가 제2 임계값을 초과하는 제2 조건 및 상기 아이템과 할인 쿠폰의 수의 합이 제3 임계값을 초과하는 제3 조건 중 적어도 두 조건을 만족할 때, 상기 제1 알고리즘으로 휴리스틱 알고리즘을 선택하는 단계를 포함하는, 할인 쿠폰 정보를 제공하는 방법.
  2. 제1항에 있어서,
    상기 할인 쿠폰과 상기 할인 쿠폰이 적용될 아이템의 세트 중, 원소의 수가 가장 많은 세트를 제1 세트로 결정하는 단계;
    상기 제1 세트의 원소의 수에 기초하여, 제1 알고리즘을 재선택하는 단계; 및
    상기 할인 쿠폰 및 상기 할인 쿠폰이 적용될 아이템의 세트와 상기 재선택된 제1 알고리즘을 이용하여 업데이트된 할인 쿠폰과 상기 업데이트된 할인 쿠폰이 적용될 아이템 세트를 결정하는 단계를 더 포함하고,
    상기 아이템과 관련된 정보는 업데이트된 할인 쿠폰과 상기 업데이트된 할인 쿠폰이 적용될 아이템 세트를 기반으로 결정되는, 할인 쿠폰 정보를 제공하는 방법.
  3. 제2항에 있어서,
    상기 제1 알고리즘으로 상기 휴리스틱 알고리즘이 선택된 이후, 상기 제1 알고리즘을 재선택하는 단계는,
    상기 제1 세트의 원소의 수가 제5 임계값 이하일 때, 상기 제1 알고리즘을 최적 알고리즘으로 재선택하는 단계인, 할인 쿠폰 정보를 제공하는 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 알고리즘을 선택하는 단계는,
    상기 각 할인 쿠폰의 정보에 기초하여, 상기 각 할인 쿠폰과 상기 각 할인 쿠폰을 사용할 수 있는 아이템을 매칭함에 따라 복수의 하위 조합을 산출하는 단계;
    상기 복수의 하위 조합 중, 원소의 수가 가장 많은 하위 조합을 제1 하위 조합으로 결정하는 단계; 및
    상기 제1 하위 조합의 원소의 수가 제4 임계값을 초과하는 경우, 상기 제1 알고리즘으로 상기 휴리스틱 알고리즘을 선택하는 단계를 포함하는, 할인 쿠폰 정보를 제공하는 방법.
  6. 제1항에 있어서,
    상기 제1 알고리즘으로 상기 최적 알고리즘이 선택된 경우,
    실행 시간이 제1 시간 임계값을 초과하면, 상기 휴리스틱 알고리즘을 이용하여 상기 아이템에 적용할 할인 쿠폰을 확인하는 단계를 더 포함하는, 할인 쿠폰 정보를 제공하는 방법.
  7. 제1항에 있어서,
    각 할인 쿠폰과 상기 각 할인 쿠폰이 적용될 아이템 세트는 상기 아이템의 정보 및 할인 쿠폰의 정보 중 적어도 하나에 기초하여 결정되는 것이고,
    상기 아이템의 정보는 상기 아이템의 식별정보, 상기 아이템에 대응하는 카테고리 및 상기 아이템의 가격 중 적어도 하나를 포함하고,
    상기 할인 쿠폰의 정보는 할인 쿠폰의 속성 정보, 상기 할인 쿠폰에 대응하는 사용자 등급 및 상기 할인 쿠폰에 대응하는 결제 수단 중 적어도 하나를 포함하는 것인, 할인 쿠폰 정보를 제공하는 방법.
  8. 제7항에 있어서,
    상기 할인 쿠폰의 속성 정보는 할인 방식, 할인율 및 최대 할인 금액 중 적어도 하나를 포함하고, 상기 할인 방식은 정률 할인 방식 및 정액 할인 방식 중 하나를 포함하는 것인, 할인 쿠폰 정보를 제공하는 방법.
  9. 제8항에 있어서,
    상기 휴리스틱 알고리즘은
    상기 할인 쿠폰의 속성 정보에 기초하여, 상기 할인 쿠폰 간의 우선 순위를 결정하고,
    우선 순위가 가장 높은 제1 할인 쿠폰부터, 상기 제1 할인 쿠폰 사용시 총 할인 금액이 최대가 되는 아이템을 선택하는 것에 기초하여 상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보와 관련된 정보를 결정하는 것인, 할인 쿠폰 정보를 제공하는 방법.
  10. 제9항에 있어서,
    상기 정률 할인 방식의 할인 쿠폰은 상기 정액 할인 방식의 할인 쿠폰보다 더 높은 우선 순위를 갖고,
    상기 정률 할인 방식의 할인 쿠폰 간에는 할인율이 높은 할인 쿠폰이 더 높은 우선 순위를 갖고,
    상기 정액 할인 방식의 할인 쿠폰 간에는 할인 금액이 높은 할인 쿠폰이 더 높은 우선 순위를 갖는 것인, 할인 쿠폰 정보를 제공하는 방법.
  11. 제1항에 있어서,
    온라인 상점에서, 하나의 장바구니에는 하나의 할인 쿠폰만 사용 가능하고, 상기 아이템 및 할인 쿠폰이 제1 장바구니에 포함된 경우,
    상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여, 동일한 할인 쿠폰을 사용할 것으로 추천된 아이템을 분류하는 단계; 및
    상기 분류 결과에 기초하여 상기 제1 장바구니를 복수의 장바구니로 분할하는 단계를 더 포함하는, 할인 쿠폰 정보를 제공하는 방법.
  12. 제1항에 있어서,
    상기 최적 알고리즘은,
    상기 할인 쿠폰과 아이템의 모든 조합을 대상으로 하여, 총 할인 금액이 최대가 되는 아이템과 할인 쿠폰의 조합을 결정하는 알고리즘인, 할인 쿠폰 정보를 제공하는 방법.
  13. 제12항에 있어서,
    상기 할인 쿠폰과 아이템의 조합이 복수인 경우,
    상기 복수의 조합에 대하여, 상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트를 결정하는 연산이 병렬적으로 수행되는 것인, 할인 쿠폰 정보를 제공하는 방법.
  14. 제1항에 있어서,
    상기 할인 쿠폰과 관련된 정보는 온라인 상점의 장바구니 페이지 및 최종 결제 페이지 중 적어도 하나에서 표시되는 것인, 할인 쿠폰 정보를 제공하는 방법.
  15. 제1항 내지 제3항 및 제5항 내지 제14항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  16. 아이템에 적용할 할인 쿠폰 정보를 제공하는 전자 장치에 있어서,
    적어도 하나의 명령어(instruction)를 저장하는 메모리(memory); 및
    상기 적어도 하나의 명령어를 실행하여,
    아이템의 수, 할인 쿠폰의 수 및 상기 아이템과 할인 쿠폰의 수의 합 중 적어도 하나에 기초하여, 복수개의 알고리즘 중 하나를 제1 알고리즘으로 선택하고,
    상기 제1 알고리즘을 이용하여, 각 할인 쿠폰과 상기 각 할인 쿠폰이 적용될 아이템 세트를 결정하고,
    상기 각 할인 쿠폰 및 상기 각 할인 쿠폰이 적용될 아이템의 세트에 대한 정보에 기초하여 사용자에게 할인 쿠폰과 관련된 정보를 제공하는 프로세서(processor)를 포함하고,
    상기 복수개의 알고리즘은 휴리스틱(heuristic) 알고리즘 및 최적(optimal) 알고리즘 중 적어도 하나를 포함하고,
    상기 프로세서가 상기 제1 알고리즘을 선택하는 것은,
    상기 아이템의 수가 제1 임계값을 초과하는 제1 조건, 상기 할인 쿠폰의 수가 제2 임계값을 초과하는 제2 조건 및 상기 아이템과 할인 쿠폰의 수의 합이 제3 임계값을 초과하는 제3 조건 중 적어도 두 조건을 만족할 때, 상기 제1 알고리즘으로 휴리스틱 알고리즘을 선택하는 것을 포함하는, 할인 쿠폰 정보를 제공하는 전자 장치.
KR1020200120792A 2020-09-18 2020-09-18 전자 장치 및 그의 동작 방법 KR102231709B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020200120792A KR102231709B1 (ko) 2020-09-18 2020-09-18 전자 장치 및 그의 동작 방법
PCT/KR2020/013053 WO2022059830A1 (ko) 2020-09-18 2020-09-25 전자 장치 및 그의 동작 방법
JP2020176605A JP6943495B1 (ja) 2020-09-18 2020-10-21 電子装置及びその動作方法
TW109143465A TW202213280A (zh) 2020-09-18 2020-12-09 電子設備及其操作方法
US17/149,559 US11687963B2 (en) 2020-09-18 2021-01-14 Electronic apparatus and operation method thereof
KR1020210034569A KR102358592B1 (ko) 2020-09-18 2021-03-17 전자 장치 및 그의 동작 방법
KR1020220012493A KR102632929B1 (ko) 2020-09-18 2022-01-27 전자 장치 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200120792A KR102231709B1 (ko) 2020-09-18 2020-09-18 전자 장치 및 그의 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210034569A Division KR102358592B1 (ko) 2020-09-18 2021-03-17 전자 장치 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR102231709B1 true KR102231709B1 (ko) 2021-03-25

Family

ID=75222443

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200120792A KR102231709B1 (ko) 2020-09-18 2020-09-18 전자 장치 및 그의 동작 방법
KR1020210034569A KR102358592B1 (ko) 2020-09-18 2021-03-17 전자 장치 및 그의 동작 방법
KR1020220012493A KR102632929B1 (ko) 2020-09-18 2022-01-27 전자 장치 및 그의 동작 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210034569A KR102358592B1 (ko) 2020-09-18 2021-03-17 전자 장치 및 그의 동작 방법
KR1020220012493A KR102632929B1 (ko) 2020-09-18 2022-01-27 전자 장치 및 그의 동작 방법

Country Status (5)

Country Link
US (1) US11687963B2 (ko)
JP (1) JP6943495B1 (ko)
KR (3) KR102231709B1 (ko)
TW (1) TW202213280A (ko)
WO (1) WO2022059830A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102345531B1 (ko) * 2021-04-05 2021-12-31 쿠팡 주식회사 정보 제공 방법 및 이를 수행하는 전자 장치
KR102422650B1 (ko) * 2021-12-10 2022-07-20 쿠팡 주식회사 할인 쿠폰 정보 제공 방법 및 이를 이용한 전자 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240028034A (ko) * 2022-08-24 2024-03-05 쿠팡 주식회사 쿠폰 정보를 제공하는 전자 장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130129494A (ko) * 2012-05-21 2013-11-29 주식회사 지에스홈쇼핑 추천 알고리즘을 단계적으로 변경하는 추천 서비스 시스템 및 방법
KR101687702B1 (ko) * 2015-08-05 2016-12-28 주식회사 엘지유플러스 최적결제방법 추천시스템 및 최적결제방법 추천방법
KR20170083330A (ko) * 2016-01-08 2017-07-18 한국인터넷진흥원 머신러닝을 이용하여 이상거래를 탐지하기 위한 장치 및 그 방법
KR20200084640A (ko) * 2019-01-03 2020-07-13 롯데하이마트 주식회사 옴니앱을 통한 통합 쇼핑몰 서비스 제공 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512551B2 (en) * 1999-06-23 2009-03-31 Signature Systems Llc Method and system for implementing a search engine with reward components and payment components
US8452652B2 (en) 2001-01-29 2013-05-28 International Business Machines Corporation Electronic coupons decision support and recommendation system
JP4590954B2 (ja) * 2004-07-06 2010-12-01 ソニー株式会社 電子商取引システム,電子商取引サーバ,およびコンピュータプログラム。
CN102844779A (zh) 2010-06-30 2012-12-26 乐天株式会社 商品购买支援装置、商品购买支援方法、商品购买支援程序以及记录有商品购买支援程序的计算机可读取的记录介质
US20170148046A1 (en) * 2011-03-31 2017-05-25 Mavatar Technologies, Inc. System and method for consumer management purchasing and account information
US20140180782A1 (en) * 2012-12-20 2014-06-26 Wal-Mart Stores, Inc. Techniques For Linking Consumers For Coupon Matching
US10991001B2 (en) * 2013-03-13 2021-04-27 Eversight, Inc. Systems and methods for intelligent promotion design with promotion scoring
JP5542236B1 (ja) * 2013-09-06 2014-07-09 株式会社野村総合研究所 クーポン管理システムおよびクーポン管理プログラム
JP6181501B2 (ja) * 2013-10-01 2017-08-16 ヤフー株式会社 金額算出装置、金額算出方法、およびプログラム
US20150371255A1 (en) 2014-06-24 2015-12-24 Konstantin REBIKOV System of automatic selection and validation of the optimal coupons combination
KR20160071839A (ko) * 2014-12-12 2016-06-22 에스케이플래닛 주식회사 구매 상품에 대한 최적 정보 제공 시스템, 그 시스템에서의 구매 상품에 대한 최적 정보 제공 장치 및 방법
KR20170005618A (ko) 2015-07-06 2017-01-16 서희암 쿠폰 정보 제공시스템 및 그 방법
KR101825709B1 (ko) * 2016-02-19 2018-02-05 쿠팡 주식회사 쿠폰 기반 아이템 디스플레이 시스템 및 쿠폰 기반 아이템 디스플레이 방법
CN107180371B (zh) 2016-03-11 2022-01-07 北京京东尚科信息技术有限公司 使用优惠券购买商品的方法、系统和计算机可读存储介质
CN106530017A (zh) 2016-12-19 2017-03-22 车晴 一种网店优惠券自动获取和购物组合推荐的方法
US10891663B2 (en) * 2017-06-30 2021-01-12 Facebook, Inc. Providing coupons based on information associated with content providers
CN107886356A (zh) 2017-11-03 2018-04-06 北京翰宁智能科技有限责任公司 一种超市优惠券面额的动态生成方法
US11062343B2 (en) * 2019-02-27 2021-07-13 Ncr Corporation Optimal transaction item group processing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130129494A (ko) * 2012-05-21 2013-11-29 주식회사 지에스홈쇼핑 추천 알고리즘을 단계적으로 변경하는 추천 서비스 시스템 및 방법
KR101687702B1 (ko) * 2015-08-05 2016-12-28 주식회사 엘지유플러스 최적결제방법 추천시스템 및 최적결제방법 추천방법
KR20170083330A (ko) * 2016-01-08 2017-07-18 한국인터넷진흥원 머신러닝을 이용하여 이상거래를 탐지하기 위한 장치 및 그 방법
KR20200084640A (ko) * 2019-01-03 2020-07-13 롯데하이마트 주식회사 옴니앱을 통한 통합 쇼핑몰 서비스 제공 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102345531B1 (ko) * 2021-04-05 2021-12-31 쿠팡 주식회사 정보 제공 방법 및 이를 수행하는 전자 장치
WO2022215785A1 (ko) * 2021-04-05 2022-10-13 쿠팡 주식회사 정보 제공 방법 및 이를 수행하는 전자 장치
KR102422650B1 (ko) * 2021-12-10 2022-07-20 쿠팡 주식회사 할인 쿠폰 정보 제공 방법 및 이를 이용한 전자 장치
WO2023106485A1 (ko) * 2021-12-10 2023-06-15 쿠팡 주식회사 할인 쿠폰 정보 제공 방법 및 이를 이용한 전자 장치

Also Published As

Publication number Publication date
US20220092625A1 (en) 2022-03-24
WO2022059830A1 (ko) 2022-03-24
KR102632929B1 (ko) 2024-02-05
JP2022051478A (ja) 2022-03-31
US11687963B2 (en) 2023-06-27
KR102358592B1 (ko) 2022-02-08
TW202213280A (zh) 2022-04-01
KR20220038025A (ko) 2022-03-25
JP6943495B1 (ja) 2021-09-29

Similar Documents

Publication Publication Date Title
KR102231709B1 (ko) 전자 장치 및 그의 동작 방법
US10373242B2 (en) Network traffic-based throttling of electronic commerce activity
US20160162974A1 (en) Personalized recommendation method and system, and computer-readable record medium
US20160189099A1 (en) Shipping option selection based on virtual shopping cart conversion data
KR20190061130A (ko) 소셜 네트워크 정보와 레이팅 정보를 활용한 설명가능하고 정확한 추천 방법 및 추천 시스템
EP3157227B1 (en) Method, apparatus and computer program product for a cookie used for an internet of things device
CN108400929B (zh) 数据处理方法、装置、计算设备和介质
KR20220070644A (ko) 기계 학습 기반 업체 추천 시스템
TW202326554A (zh) 用於管理物品銷售量之電子設備及資訊方法
KR102405264B1 (ko) 광고플랫폼장치 및 그 동작 방법
TW202133064A (zh) 電子設備及其操作方法
KR101831025B1 (ko) 온라인 쇼핑에서 사용자 단말을 이용한 상품 주문 및 결제 방법, 이를 수행하는 상품 주문 및 결제 시스템 및 이를 저장하는 기록매체
KR102459453B1 (ko) 온라인 쇼핑 판매 서비스 제공 방법 및 장치
KR102288475B1 (ko) 결제 기준 데이터와 구매 상품 정보를 매칭시켜 표시하는 방법 및 컴퓨터 프로그램 제품
CN105719079B (zh) 信息生成方法和装置
CN106663270B (zh) 广告招标装置和广告平台装置
KR102194107B1 (ko) 통신 네트워크에서 연관 상품 판매를 위한 시스템, 이를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체
KR102428593B1 (ko) 딥러닝 기술을 이용한 상품 반복 구매 방법 및 그 장치
KR102341731B1 (ko) 국내 거주 외국인 매칭 서비스와 온라인 쇼핑몰 서비스를 제공하는 온라인 플랫폼을 운용하는 장치 및 그 동작 방법
KR102564333B1 (ko) 핀테크 플랫폼 서비스 이용자의 성향 및 이용 방식을 고려하여 사용자 성향에 맞는 유동성 정보를 제공하기 위한 장치 및 방법
KR102425761B1 (ko) 사용자 선호 사항을 반영한 업체 추천 시스템
US20220358564A1 (en) Detection of Anomalous Quantities in Data Records Using Predicted Quantities of Similar Entities
KR102202507B1 (ko) 결제 기반 이벤트 제공 방법
US20220113965A1 (en) Scheduling displays on a terminal device
KR20160149694A (ko) 광고플랫폼장치 및 그 동작 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant