KR20230016868A - Method for providing product discount coupons based on store demand forecasting and system thereof - Google Patents

Method for providing product discount coupons based on store demand forecasting and system thereof Download PDF

Info

Publication number
KR20230016868A
KR20230016868A KR1020210098377A KR20210098377A KR20230016868A KR 20230016868 A KR20230016868 A KR 20230016868A KR 1020210098377 A KR1020210098377 A KR 1020210098377A KR 20210098377 A KR20210098377 A KR 20210098377A KR 20230016868 A KR20230016868 A KR 20230016868A
Authority
KR
South Korea
Prior art keywords
store
product discount
demand
information
server
Prior art date
Application number
KR1020210098377A
Other languages
Korean (ko)
Other versions
KR102554135B1 (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 KR1020210098377A priority Critical patent/KR102554135B1/en
Priority to PCT/KR2022/011051 priority patent/WO2023008908A1/en
Publication of KR20230016868A publication Critical patent/KR20230016868A/en
Application granted granted Critical
Publication of KR102554135B1 publication Critical patent/KR102554135B1/en

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
    • G06Q30/0238Discounts or incentives, e.g. coupons or rebates at point-of-sale [POS]
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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/0201Market modelling; Market analysis; Collecting market data
    • 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/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An operating method of a product discount providing system based on store demand forecasting comprises the steps of: obtaining existing sales data of a store including reservation history information and visit history information of customers by data of the store from a database; predicting demand for the store using the existing sales data of the store; determining the available number of product discount coupons based on the demand forecast result of the store; providing the product discount coupon to a user terminal of a customer; receiving request information for using the product discount coupon from the user terminal; and transmitting the request information for using the product discount coupon to the store. The present invention enables the store to predict the customer demand in advance.

Description

매장의 수요 예측을 기반으로 한 상품 할인권 제공 방법 및 시스템{METHOD FOR PROVIDING PRODUCT DISCOUNT COUPONS BASED ON STORE DEMAND FORECASTING AND SYSTEM THEREOF}Method and system for providing product discount vouchers based on store demand forecast {METHOD FOR PROVIDING PRODUCT DISCOUNT COUPONS BASED ON STORE DEMAND FORECASTING AND SYSTEM THEREOF}

본 발명은 상품 할인권 제공 방법에 관한 것으로, 보다 상세하게는 인공 신경망을 이용하여, 기존 고객들의 매장 방문 내역 및 매출 내역을 기초로 예측된 매장의 수요를 기반으로 한 상품 할인권을 제공하는 방법 및 시스템에 관한 것이다. The present invention relates to a method for providing a product discount voucher, and more particularly, to a method and system for providing a product discount voucher based on predicted store demand based on store visit history and sales history of existing customers using an artificial neural network It is about.

66만개에 이르는 음식점 가운데 종사자 수가 5명 미만인 소규모 음식점이 56만 9000개로 86.5%를 차지하는 것으로 나타난다. 따라서 음식점 대부분이 영세 자영업자인 외식업 매장은 매장 관리를 위한 체계적인 시스템을 갖추지 못해 치열한 경쟁과 급변하는 환경 등과 같은 외부적 요인에 취약한 상황이다. Out of 660,000 restaurants, small restaurants with fewer than five employees account for 569,000, or 86.5%. Therefore, restaurants in the restaurant business, where most restaurants are self-employed, are vulnerable to external factors such as fierce competition and rapidly changing environments because they do not have a systematic system for store management.

이에, 음식점 등의 매장은 소비자들에게 상품 할인권을 제공함으로써, 마케팅을 수행하기도 한다. 여기서, 일반적으로 매장들은 수요를 예측하고, 충족되지 않는 수요량에 한하여 할인권을 사용하도록 한다. 하지만, 위 같은 방법을 통해 할인권을 제공하더라도 영업 이익률은 높지 않은 실정이다. Accordingly, stores such as restaurants may perform marketing by providing product discount coupons to consumers. Here, stores generally predict demand and use discount coupons only for unsatisfied demand. However, even if the discount coupon is provided through the above method, the operating profit rate is not high.

이에, 과학적인 고객 분석 및 매출 및 수요 예측 정보를 제공할 뿐만 아니라, 수요 예측 정보 등을 기초로 발급되는 상품 할인권을 효율적으로 활용하는 방법의 필요성이 대두되고 있다. 본 발명은 이와 관련된 것이다. Accordingly, there is a need for a method of efficiently utilizing product discount coupons issued based on demand forecast information as well as providing scientific customer analysis and sales and demand forecast information. The present invention relates to this.

본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 예측한 매장의 수요를 기초로 상품 할인권을 발행함에 있어, 소비자의 예약을 통해 활성화되는 상품 할인권을 제공하는 방법 및 시스템을 제공하는 것이다. The present invention has been made to solve the above problems, and an object of the present invention is to provide a method and system for providing a product discount voucher activated through a consumer's reservation in issuing a product discount voucher based on the predicted store demand. is to do

본 발명을 통해 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The technical problems to be achieved through the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned are clearly understood by those skilled in the art from the description below. It could be.

본 발명의 일 실시예에 따른 매장의 수요 예측을 기반으로 한 상품 할인 제공 시스템의 동작 방법은, 데이터베이스로부터 상기 매장의 일자별 고객들의 예약 내역 정보 및 방문 내역 정보를 포함하는 매장의 기존 매출 데이터를 획득하는 단계; 상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하는 단계; 상기 매장의 수요 예측 결과를 기초로 상기 상품 할인권의 사용 가능한 수량을 결정하는 단계; 상기 상품 할인권을 소비자의 사용자 단말에게 제공하는 단계; 상기 사용자 단말로부터 상기 상품 할인권 사용 요청 정보를 수신하는 단계; 및 상기 상품 할인권의 사용 요청 정보를 상기 매장에 전송하는 단계를 포함할 수 있다. According to an embodiment of the present invention, a method of operating a product discount providing system based on store demand prediction obtains existing sales data of a store, including reservation history information and visit history information of customers by date of the store, from a database. doing; predicting demand for the store using existing sales data of the store; determining a usable quantity of the product discount vouchers based on a demand forecast result of the store; providing the product discount coupon to a consumer's user terminal; Receiving the product discount voucher use request information from the user terminal; and transmitting information requesting use of the product discount voucher to the store.

여기서, 상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하는 단계는, 상기 매장의 기존 매출 데이터를 전처리(preprocessing)하는 단계; 상기 전처리된 매장의 기존 매출 데이터를 학습한 미리 설정된 복수의 알고리즘들을 이용하여 복수의 매장 수요 예측 모델들을 생성하는 단계; 상기 미리 설정된 복수의 알고리즘들 각각에 상기 생성된 매장 수요 예측 모델들 각각의 초모수(hyperparameter)를 할당하는 단계; 및 복수의 매장 수요 예측 모델들 각각의 평가 결과를 기초로 매장 수요 예측 모델을 결정하는 단계를 포함할 수 있다. Here, the step of predicting the demand of the store using the existing sales data of the store may include preprocessing the existing sales data of the store; generating a plurality of store demand prediction models by using a plurality of preset algorithms learned from the preprocessed store's existing sales data; assigning a hyperparameter of each of the generated store demand prediction models to each of the plurality of preset algorithms; and determining a store demand prediction model based on evaluation results of each of the plurality of store demand prediction models.

여기서, 상기 매장의 수요를 예측하는 단계는, 제1 시구간의 매장의 수요를 예측하는 단계; 및 제1 시구간을 포함하는 제2 시구간의 매장의 수요를 예측하는 단계를 포함할 수 있다. Here, the step of predicting the demand of the store may include: predicting the demand of the store in the first time period; and predicting store demand in a second time period including the first time period.

여기서, 상기 동작 방법은, 상기 매장의 수요 예측 결과를 기초로 상기 매장의 상품 할인권 제공 수량을 결정하는 단계를 더 포함하고, 상기 매장의 상품 할인권 제공 수량은, 상기 제2 시구간의 매장의 수요를 기초로 결정되고, 상기 상품 할인권의 사용 가능한 수량은 상기 제1 시구간의 매장의 수요를 기초로 결정되는 것을 특징으로 할 수 있다. Here, the operation method further includes determining the quantity of product discount coupons provided by the store based on the demand prediction result of the store, wherein the quantity of product discount coupons provided by the store corresponds to the demand of the store in the second time period. basis, and the usable quantity of the product discount coupon may be determined based on the demand of the store in the first time period.

여기서, 상기 동작 방법은, 상기 매장의 기존 매출 데이터를 기초로, 고객들의 매장 방문 기록 정보를 획득하는 단계; 상기 고객들에 의해 발생한 상기 매장의 매출 정보를 획득하는 단계; 및 상기 고객들의 매장 방문 기록 정보 및 상기 매장의 매출 정보를 기초로 상기 고객들 각각의 매장에 대한 충성도를 분석하는 단계를 포함하고, 상기 소비자는, 상기 고객들 중에서, 매장에 대한 충성도를 기초로 필터링된 적어도 하나 이상의 고객인 것을 특징으로 할 수 있다. Here, the operation method may include obtaining store visit record information of customers based on existing sales data of the store; obtaining sales information of the store generated by the customers; and analyzing store loyalty of each of the customers based on store visit record information of the customers and sales information of the store, wherein the consumer is filtered based on loyalty to the store among the customers. It may be characterized as being at least one or more customers.

여기서, 상기 상품 할인권 사용 요청 정보를 수신하는 단계는, 상기 상품 할인권 사용 요청 정보에 의해 지시되는 상기 매장에서의 상기 상품 할인권의 사용 가능한 수량 정보를 상기 사용자 단말에게 전송하는 단계; 상기 사용자 단말로부터 상기 상품 할인권을 이용한 상기 매장의 예약 요청 정보를 수신하는 단계; 및 상기 매장의 예약 요청 정보를 기초로 상기 상품 할인권을 활성화하는 단계를 포함할 수 있다. Here, the receiving of the product discount voucher use request information may include transmitting information on the usable quantity of the product discount voucher in the store indicated by the product discount voucher use request information to the user terminal; Receiving reservation request information of the store using the product discount coupon from the user terminal; and activating the product discount voucher based on the reservation request information of the store.

본 발명의 일 실시예에 따른 매장의 수요 예측을 기반으로 한 상품 할인 제공 시스템의 서버는, 적어도 하나의 프로그램 명령이 저장된 메모리; 상기 적어도 하나의 프로그램 명령을 수행하는 프로세서; 및 네트워크와 연결되어 통신을 수행하는 송수신 장치를 포함하고, 상기 적어도 하나의 프로그램 명령은, 데이터베이스로부터 상기 매장의 일자별 고객들의 예약 내역 정보 및 방문 내역 정보를 포함하는 매장의 기존 매출 데이터를 획득하고; 상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하고; 상기 매장의 수요 예측 결과를 기초로 상기 매장의 상품 할인권 제공 수량을 결정하고; 상기 매장의 수요 예측 결과를 기초로 상기 상품 할인권의 사용 가능한 수량을 결정하고; 상기 상품 할인권을 소비자의 사용자 단말에게 제공하고; 상기 사용자 단말로부터 상기 상품 할인권 사용 요청을 수신하고; 상기 사용자 단말로부터 상기 상품 할인권 사용 요청 정보를 수신하고; 그리고 상기 상품 할인권의 사용 요청 정보를 상기 매장에 전송하도록 실행되는 것을 특징으로 할 수 있다. A server of a product discount providing system based on store demand prediction according to an embodiment of the present invention includes a memory in which at least one program command is stored; a processor to execute the at least one program instruction; and a transmitting/receiving device connected to a network to perform communication, wherein the at least one program command obtains, from a database, existing sales data of the store, including reservation history information and visit history information of customers of the store by date; predicting the demand of the store using the existing sales data of the store; determining the number of product discount coupons provided by the store based on the demand prediction result of the store; determining a usable quantity of the merchandise discount vouchers based on a demand prediction result of the store; providing the product discount coupon to a user terminal of the consumer; receiving a request for using the product discount voucher from the user terminal; receiving the product discount voucher use request information from the user terminal; And it may be characterized in that it is executed to transmit the use request information of the product discount coupon to the store.

여기서, 상기 적어도 하나의 프로그램 명령은, 상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하도록 실행됨에 있어, 상기 매장의 기존 매출 데이터를 전처리(preprocessing)하고; 상기 전처리된 매장의 기존 매출 데이터를 학습한 미리 설정된 복수의 알고리즘들을 이용하여 복수의 매장 수요 예측 모델들을 생성하고; 상기 미리 설정된 복수의 알고리즘들 각각에 상기 생성된 매장 수요 예측 모델들 각각의 초모수(hyperparameter)를 할당하고; 그리고, 복수의 매장 수요 예측 모델들 각각의 평가 결과를 기초로 매장 수요 예측 모델을 결정하도록 더 실행될 수 있다. Here, the at least one program command, in executing to predict the demand of the store using the existing sales data of the store, pre-processes the existing sales data of the store; generating a plurality of store demand prediction models using a plurality of preset algorithms learned from the preprocessed store's existing sales data; assigning a hyperparameter of each of the generated store demand prediction models to each of the plurality of preset algorithms; And, it may be further executed to determine a store demand prediction model based on the evaluation result of each of the plurality of store demand prediction models.

여기서, 상기 적어도 하나의 프로그램 명령은, 상기 매장의 수요를 예측하도록 실행됨에 있어, 제1 시구간의 매장의 수요를 예측하고; 그리고 제1 시구간을 포함하는 제2 시구간의 매장의 수요를 예측하도록 더 실행될 수 있다. Here, the at least one program command, when executed to predict the demand of the store, predicts the demand of the store in the first time period; And it may be further executed to predict the demand of the store in the second time period including the first time period.

여기서, 상기 적어도 하나의 프로그램 명령은, 상기 매장의 수요 예측 결과를 기초로 상기 매장의 상품 할인권 제공 수량을 결정하도록 더 실행되고, 상기 매장의 상품 할인권 제공 수량은, 상기 제2 시구간의 매장의 수요를 기초로 결정되고, 상기 상품 할인권의 사용 가능한 수량은 상기 제1 시구간의 매장의 수요를 기초로 결정되는 것을 특징으로 할 수 있다. Here, the at least one program command is further executed to determine the quantity of product discount coupons provided by the store based on the demand prediction result of the store, wherein the quantity of product discount coupons provided by the store is determined by the demand of the store in the second time period. , and the usable quantity of the product discount coupon may be determined based on the demand of the store in the first time period.

여기서, 상기 적어도 하나의 프로그램 명령은, 상기 매장의 기존 매출 데이터를 기초로, 고객들의 매장 방문 기록 정보를 획득하고; 상기 고객들에 의해 발생한 상기 매장의 매출 정보를 획득하고; 그리고, 상기 고객들의 매장 방문 기록 정보 및 상기 매장의 매출 정보를 기초로 상기 고객들 각각의 매장에 대한 충성도를 분석하도록 더 실행되고, 상기 소비자는, 상기 고객들 중에서, 매장에 대한 충성도를 기초로 필터링된 적어도 하나의 고객인 것을 특징으로 할 수 있다. Here, the at least one program instruction obtains store visit record information of customers based on existing sales data of the store; obtaining sales information of the store generated by the customers; And, based on the store visit record information of the customers and the sales information of the store, it is further executed to analyze the loyalty of each of the customers to the store, and the consumer is filtered based on the loyalty to the store, among the customers. It may be characterized as being at least one customer.

여기서, 상기 적어도 하나의 명령은, 상기 상품 할인권 사용 요청 정보를 수신하도록 실행됨에 있어, 상기 상품 할인권 사용 요청 정보에 의해 지시되는 상기 매장에서의 상기 상품 할인권의 사용 가능한 수량 정보를 상기 사용자 단말에게 전송하고; 상기 사용자 단말로부터 상기 상품 할인권을 이용한 상기 매장의 예약 요청 정보를 수신하고; 그리고 상기 매장의 예약 요청 정보를 기초로 상기 상품 할인권을 활성화하도록 실행될 수 있다. Here, the at least one command is executed to receive the product discount voucher use request information, and transmits available quantity information of the product discount voucher in the store indicated by the product discount voucher use request information to the user terminal. do; Receiving reservation request information of the store using the product discount coupon from the user terminal; And it may be executed to activate the product discount coupon based on the reservation request information of the store.

상술한 본 개시의 양태들은 본 개시의 바람직한 실시 예들 중 일부에 불과하며, 본 개시의 기술적 특징들이 반영된 다양한 실시 예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 개시의 상세한 설명을 기반으로 도출되고 이해될 수 있다. The above-described aspects of the present disclosure are only some of the preferred embodiments of the present disclosure, and various embodiments in which the technical features of the present disclosure are reflected are detailed descriptions of the present disclosure to be detailed below by those of ordinary skill in the art. It can be derived and understood based on.

본 발명의 실시예에 따르면, 상품 할인권 제공 시스템은 일자별 특성, 일자별 예약 내역을 기반으로 예측한 매장의 수요를 기초로 상품 할인권을 제공함으로써, 사용 조건에 대한 제약이 완화된 상품 할인권을 소비자들에게 제공할 수 있다. According to an embodiment of the present invention, the product discount coupon providing system provides product discount coupons with relaxed restrictions on usage conditions to consumers by providing product discount coupons based on the demand for stores predicted based on the characteristics of each date and the reservation details for each date. can provide

본 발명의 실시예에 따르면, 상품 할인권 제공 시스템은 매장 예약 시에 상품 할인권을 활성화함으로써, 매장으로 하여금 고객의 수요를 미리 예측하는 동시에, 매장의 수익을 최적화하는 효과를 제공할 수 있다. According to an embodiment of the present invention, the product discount coupon providing system can provide an effect of optimizing the store's profit while predicting customer demand in advance by activating the product discount coupon when making a store reservation.

본 발명을 통해 얻을 수 있는 효과는 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable through the present invention are not limited to the mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the description below. .

도 1은 상품 할인권 제공 시스템의 구성의 실시예를 도시한 개념도이다.
도 2는 상품 할인권 제공 시스템을 구성하는 디바이스의 구성의 실시예를 도시한 블록도이다.
도 3은 상품 할인권 제공 시스템의 디바이스에 포함된 인공 신경망의 실시예를 도시한 개념도이다.
도 4는 상품 할인권 제공 시스템의 상품 할인권 제공 방법의 일 실시예를 도시한 흐름도이다.
도 5는 상품 할인권 제공 시스템의 인공지능 아키텍처 일 실시예를 도시한 개념도이다.
도 6은 상품 할인권 제공 시스템의 매장 수요 예측 방법의 일 실시예를 도시한 흐름도이다.
도 7은 상품 할인권 제공 시스템의 모델 수립 데이터 및 테스트 데이터를 이용한 수요 예측 모델의 생성 방법의 일 실시예를 도시한 흐름도이다.
도 8은 상품 할인권 제공 시스템의 매장 수요 예측 모델의 생성 방법의 일 실시예를 도시한 흐름도이다.
도 9는 상품 할인권 제공 시스템의 매장 수요 예측 모델 평가 방법의 일 실시예를 도시한 흐름도이다.
도 10은 상품 할인권 제공 시스템의 고객 충성도 평가 방법의 일 실시예를 도시한 흐름도이다.
도 11은 상품 할인권 제공 시스템의 상품 할인권 활성화 방법의 일 실시예를 도시한 흐름도이다.
도 12는 상품 할인권 제공 시스템, 매장 및 소비자의 사용자 단말 간의 상품 할인권 제공 및 사용의 일 실시예를 도시한 순서도이다.
도 13은 상품 할인권 제공 시스템, 매장 및 소비자 간의 자금 흐름의 일 실시예를 도시한 개념도이다.
1 is a conceptual diagram illustrating an embodiment of the configuration of a product discount coupon providing system.
2 is a block diagram showing an embodiment of the configuration of a device constituting a product discount coupon providing system.
3 is a conceptual diagram illustrating an embodiment of an artificial neural network included in a device of a product discount coupon providing system.
4 is a flowchart illustrating an embodiment of a product discount voucher providing method of a product discount voucher providing system.
5 is a conceptual diagram illustrating an embodiment of an artificial intelligence architecture of a product discount coupon providing system.
6 is a flowchart illustrating an embodiment of a store demand prediction method of a product discount coupon providing system.
7 is a flowchart illustrating an embodiment of a method for generating a demand prediction model using model establishment data and test data of a product discount coupon providing system.
8 is a flowchart illustrating an embodiment of a method of generating a store demand prediction model of a product discount coupon providing system.
9 is a flowchart illustrating an embodiment of a store demand prediction model evaluation method of a product discount coupon providing system.
10 is a flowchart illustrating an embodiment of a customer loyalty evaluation method of a product discount coupon providing system.
11 is a flowchart illustrating an embodiment of a product discount voucher activating method of a product discount voucher providing system.
12 is a flowchart illustrating an embodiment of providing and using product discount coupons between a product discount coupon providing system, a store, and a user terminal of a consumer.
13 is a conceptual diagram illustrating an embodiment of a product discount coupon providing system, a flow of money between a store and a consumer.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this application, they should not be interpreted in an ideal or excessively formal meaning. don't

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in more detail. In order to facilitate overall understanding in the description of the present invention, the same reference numerals are used for the same components in the drawings, and redundant descriptions of the same components are omitted.

본 발명에 따른 실시예들이 적용되는 상품 할인권 제공 시스템이 설명될 것이다. 본 발명에 따른 실시예들이 적용되는 상품 할인권 제공 시스템은 아래 설명된 내용에 한정되지 않으며, 본 발명에 따른 실시예들은 다양한 통신 시스템에 적용될 수 있다. A product discount voucher providing system to which embodiments according to the present invention are applied will be described. The product discount voucher providing system to which embodiments according to the present invention are applied is not limited to the description below, and embodiments according to the present invention can be applied to various communication systems.

도 1은 상품 할인권 제공 시스템의 구성의 실시예를 도시한 개념도이다. 1 is a conceptual diagram illustrating an embodiment of the configuration of a product discount coupon providing system.

도 1을 참조하면, 상품 할인권 제공 시스템은 매장의 정보를 기초로 상품 할인권을 제공하기 위한 상품 할인권 제공 시스템의 서버(110)와 네트워크(120)를 통해 서버(110)와 연결되는 매장 관리 단말(130) 및 소비자의 사용자 단말(140)을 포함할 수 있다. Referring to FIG. 1, the product discount voucher providing system is a store management terminal connected to the server 110 through a network 120 and a server 110 of the product discount voucher providing system for providing product discount vouchers based on store information ( 130) and the consumer's user terminal 140.

서버(110)는 각각의 매장의 고객들의 매장 방문 내역 정보, 매장 매출 내역 정보 등의 고객 관련 정보를 관리하고, 매장의 수요를 예측하고, 상품 할인권을 제공하기 위한 서비스를 제공하기 위해 필요한 정보들을 저장할 수 있다. 서버(110)는 고객들의 매장에 대한 수요 예측 모델을 생성하는 알고리즘 및 매장 수요 예측 모델 등을 포함하는 정보들을 미리 저장할 수 있다. The server 110 manages customer-related information such as store visit history information and store sales history information of customers of each store, predicts store demand, and provides information necessary to provide services for providing product discount coupons. can be saved The server 110 may store in advance information including an algorithm for generating a demand prediction model for a store of customers and a store demand prediction model.

네트워크(120)는 서버(110)와 매장 관리 단말(130) 상호 간의 정보를 교환하기 위한 연결 구조를 의미할 수 있다. 네트워크(120)는 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE(long term evolution), VoLTE(voice over LTE), 5G NR(new radio) Wi-Fi(wireless-fidelity), 블루투스(Bluetooth), NFC, RFID (radio frequency identification) 홈 네트워크(home network), IoT(internet of things) 등을 포함할 수 있다. The network 120 may refer to a connection structure for exchanging information between the server 110 and the store management terminal 130 . The network 120 includes the Internet, a local area network (LAN), a wireless local area network (Wireless Local Area Network), a wide area network (WAN), a personal area network (PAN), 3G, 4G, and long term evolution (LTE). , VoLTE (voice over LTE), 5G NR (new radio) Wi-Fi (wireless-fidelity), Bluetooth, NFC, RFID (radio frequency identification) home network, IoT (internet of things), etc. can include

매장 관리 단말(130)은 네트워크(120)를 통해 서버(110)와 연결될 수 있다. 그리고 매장 관리 단말(130)은 컴퓨터, 태블릿, 스마트폰과 같은 사용자 장치(user equipment)를 포함할 수 있다. 매장 관리 단말(130)은 서버(110)로부터 고객의 관리를 위한 서비스를 통해 제공되는 정보를 수신할 수 있다. 서버(110)로부터 수신한 정보는 매장의 수요 예측 결과 데이터 등을 포함할 수 있다. The store management terminal 130 may be connected to the server 110 through the network 120 . Also, the store management terminal 130 may include user equipment such as a computer, tablet, or smart phone. The store management terminal 130 may receive information provided through a service for customer management from the server 110 . The information received from the server 110 may include store demand prediction result data and the like.

매장 관리 단말(130)은 수신한 매장의 수요 예측 결과 데이터 등을 출력 장치를 통해 디스플레이할 수 있다. 그리고 매장 관리 단말(130)은 사용자로부터 입력받은 정보를 기초로 서버(110)로부터 제공받은 서비스에 대해 피드백할 수 있다. The store management terminal 130 may display the received store demand prediction result data through an output device. Also, the store management terminal 130 may provide feedback on the service provided from the server 110 based on the information input from the user.

소비자의 사용자 단말(140)은 네트워크(120)를 통해 서버(110)와 연결될 수 있다. 그리고 소비자의 사용자 단말(140)은 컴퓨터, 태블릿, 스마트폰과 같은 사용자 장치(user equipment)를 포함할 수 있다. 소비자의 사용자 단말(140)은 서버(110)로부터 상품 할인권 구매 및 사용을 위한 서비스를 통해 제공되는 정보를 수신할 수 있다. 서버(110)로부터 상품 할인권 관련 정보 등을 포함할 수 있다. The user terminal 140 of the consumer may be connected to the server 110 through the network 120 . In addition, the user terminal 140 of the consumer may include user equipment such as a computer, tablet, or smart phone. The consumer's user terminal 140 may receive information provided through a service for purchasing and using product discount vouchers from the server 110 . Information related to product discount coupons from the server 110 may be included.

소비자의 사용자 단말(140)은 수신한 상품 할인권 관련 정보 등을 출력 장치를 통해 디스플레이할 수 있다. 그리고 소비자의 사용자 단말(140)은 사용자로부터 입력받은 정보를 기초로 서버(110)로부터 제공받은 서비스에 대해 피드백할 수 있다. The consumer's user terminal 140 may display the received product discount coupon-related information through an output device. Further, the consumer's user terminal 140 may provide feedback on the service provided from the server 110 based on the information input from the user.

도 1의 서버(110), 매장 관리 단말(130) 및 소비자의 사용자 단말(140)은 디바이스로 지칭될 수 있으며, 디바이스의 구성은 아래에 설명하는 바와 같을 수 있다. The server 110 of FIG. 1 , the store management terminal 130 and the consumer user terminal 140 may be referred to as a device, and the configuration of the device may be as described below.

도 2는 상품 할인권 제공 시스템을 구성하는 디바이스의 구성의 실시예를 도시한 블록도이다. 2 is a block diagram showing an embodiment of the configuration of a device constituting a product discount coupon providing system.

시스템에 포함된 디바이스(200)는, 적어도 하나의 프로세서(210) 및 적어도 하나의 프로세서(210)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(220)를 포함할 수 있다.The device 200 included in the system may include at least one processor 210 and a memory 220 storing instructions instructing the at least one processor 210 to perform at least one step. can

여기서 적어도 하나의 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(220) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.Here, the at least one processor 210 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor for performing methods according to embodiments of the present invention. can Each of the memory 220 and the storage device 260 may include at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory 220 may include at least one of a read only memory (ROM) and a random access memory (RAM).

또한, 시스템에 포함된 디바이스(200)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(230)를 포함할 수 있다. 또한, 시스템에 포함된 디바이스(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 디바이스(200)에 포함된 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다.Also, the device 200 included in the system may include a transceiver 230 that performs communication through a wireless network. In addition, the device 200 included in the system may further include an input interface device 240 , an output interface device 250 , a storage device 260 , and the like. Each component included in the device 200 may be connected by a bus 270 to communicate with each other.

또한 시스템에 포함된 디바이스(200)는 인공 신경망을 구현/구동하기 위한 하드웨어적인 구성요소 또는 소프트웨어적인 구성요소들을 더 포함할 수 있다. 예를 들어, 하드웨어적인 구성요소들은 NPU(neural processer unit) 등을 포함할 수 있다. 예를 들어, 소프트웨어적인 구성요소들은 프레임워크(framework), 커널(kernel) 또는 장치 드라이버(device driver), 미들웨어(middleware), 어플리케이션 프로그래밍 인터페이스(application programming interface, API), 어플리케이션 프로그램(또는 어플리케이션) 등을 포함할 수 있다. 디바이스에 의해 구현되는 인공 신경망은 아래에 설명하는 바와 같다. In addition, the device 200 included in the system may further include hardware components or software components for implementing/driving an artificial neural network. For example, the hardware components may include a neural processor unit (NPU) and the like. For example, software components include a framework, a kernel or device driver, middleware, an application programming interface (API), an application program (or application), and the like. can include The artificial neural network implemented by the device is as described below.

도 3은 상품 할인권 제공 시스템의 디바이스에 포함된 인공 신경망의 실시예를 도시한 개념도이다. 3 is a conceptual diagram illustrating an embodiment of an artificial neural network included in a device of a product discount coupon providing system.

도 3을 참조하면, 인공 신경망은 입력 레이어(IL), 복수의 히든 레이어들(HL1, HL2, ..., HLn) 및 출력 레이어(OL)를 포함할 수 있다.Referring to FIG. 3 , the artificial neural network may include an input layer IL, a plurality of hidden layers HL1, HL2, ..., HLn, and an output layer OL.

입력 레이어(IL)는 i(i는 자연수)개의 입력 노드들(x1, x2, ..., xi)을 포함할 수 있다. 그리고, 길이가 i인 벡터 입력 데이터가 입력 노드에 입력될 수 있다.The input layer IL may include i (i is a natural number) input nodes x1, x2, ..., xi. And, vector input data of length i may be input to the input node.

복수의 히든 레이어들(HL1, HL2, ..., HLn)은 n(n은 자연수)개의 히든 레이어들을 포함하며, 히든 노드들(h11, h12, h13, ..., h1m, h21, h22, h23, ..., h2m, hn1, hn2, hn3, ..., hnm)을 포함할 수 있다. 예를 들어, 히든 레이어(HL1)는 m(m은 자연수)개의 히든 노드들(h11, h12, h13, ..., h1m)을 포함할 수 있고, 히든 레이어(HL2)는 m개의 히든 노드들(h21, h22, h23, ..., h2m)을 포함할 수 있으며, 히든 레이어(HLn)는 m개의 히든 노드들(hn1, hn2, hn3, ..., hnm)을 포함할 수 있다.The plurality of hidden layers HL1, HL2, ..., HLn include n (n is a natural number) hidden layers, and the hidden nodes h11, h12, h13, ..., h1m, h21, h22, h23, ..., h2m, hn1, hn2, hn3, ..., hnm). For example, the hidden layer HL1 may include m (m is a natural number) hidden nodes h11, h12, h13, ..., h1m, and the hidden layer HL2 may include m hidden nodes. (h21, h22, h23, ..., h2m), and the hidden layer HLn may include m hidden nodes (hn1, hn2, hn3, ..., hnm).

출력 레이어(OL)는 분류할 클래스에 대응하는 j(j는 자연수)개의 출력 노드들(y1, y2, ..., yj)을 포함할 수 있고, 입력 데이터에 대하여 각 클래스 별로 결과(예를 들어, 점수 또는 class score)를 출력할 수 있다. 출력 레이어(OL)는 전연결(fully connected) 레이어라고 부를 수 있다. The output layer OL may include j (j is a natural number) number of output nodes (y1, y2, ..., yj) corresponding to the class to be classified, and results for each class (for example, For example, scores or class scores) can be output. The output layer OL may be referred to as a fully connected layer.

도 3에 도시된 인공 신경망은 두 개의 노드들 사이에 직선으로 도시된 노드들 간의 연결(branch)과, 연결되는 노드들 간의 가중치(weight) 값들을 포함할 수 있다. 여기서, 하나의 레이어 내의 노드들은 서로 연결이 되지 않을 수 있고, 서로 다른 레이어들에 포함되는 노드들은 완전하게 혹은 부분적으로 연결될 수 있다.The artificial neural network shown in FIG. 3 may include a branch between two nodes shown as a straight line and weight values between the connected nodes. Here, nodes in one layer may not be connected to each other, and nodes included in different layers may be completely or partially connected.

도 3의 각 노드(예를 들어, h11)는 이전 노드(예를 들어, x1)의 출력을 입력 받아 연산할 수 있고, 연산 결과를 이후 노드(예를 들어, h21)에게 전달할 수 있다. 여기서, 노드들 각각은 입력된 값을 특정 함수(예를 들어, 비선형 함수)에 적용하여 출력할 값을 연산할 수 있다.Each node (eg, h11) in FIG. 3 may receive an output of a previous node (eg, x1), perform an operation, and transfer the result of the operation to a subsequent node (eg, h21). Here, each of the nodes may calculate a value to be output by applying the input value to a specific function (eg, a nonlinear function).

일반적으로 인공 신경망의 구조는 미리 결정되어 있으며, 노드들 간의 연결에 따른 가중치들은 이미 어떤 클래스에 속할지 정답이 알려진 데이터를 이용하여 적절한 값을 산정할 수 있다. 이미 정답이 알려진 데이터를 '학습 데이터'라고 지칭하고, 가중치를 결정하는 과정을 '학습'이라고 지칭할 수 있다. 또한, 독립적으로 학습이 가능한 구조와 가중치의 묶음을 '모델'이라고 지칭할 수 있다. In general, the structure of an artificial neural network is predetermined, and appropriate values of weights according to connections between nodes can be calculated using data for which the correct answer is already known to which class they belong to. Data for which the correct answer is already known may be referred to as 'learning data', and the process of determining weights may be referred to as 'learning'. In addition, a bundle of structures and weights that can be learned independently can be referred to as a 'model'.

즉, 도 2에 도시된 서버 등의 디바이스는 도 3에 도시된 인공 신경망을 이용하여, 시스템에서 지원하는 동작들을 수행할 수 있다. 상품 할인권 제공 시스템에 포함된 서버 및 매장 관리 단말들이 실행하는 알고리즘 및 동작들은 아래에 설명하는 바와 같을 수 있다. That is, a device such as a server illustrated in FIG. 2 may perform operations supported by the system using the artificial neural network illustrated in FIG. 3 . Algorithms and operations executed by the server and store management terminals included in the product discount coupon providing system may be described below.

도 4는 상품 할인권 제공 시스템의 상품 할인권 제공 방법의 일 실시예를 도시한 흐름도이다. 4 is a flowchart illustrating an embodiment of a product discount voucher providing method of a product discount voucher providing system.

S401 단계에서, 서버는 데이터베이스로부터 매장의 일자별 고객들의 예약 내역 정보 및 방문 내역 정보를 포함하는 매장의 기존 매출 데이터를 획득할 수 있다. 여기서, 매장의 기존 매출 데이터는 기존 고객들의 예약 내역 정보, 방문 내역 정보, 매출 정보 날짜 정보, 날씨 정보, 매장의 주문 수 및 테이블 수를 비롯한 매장 규모 정보, 매장의 업종 및 지역 정보 중 적어도 하나의 정보를 포함할 수 있다.In step S401 , the server may acquire existing sales data of the store, including information on reservation details and visit details of customers by date of the store, from the database. Here, the existing sales data of the store includes at least one of existing customers' reservation history information, visit history information, sales information date information, weather information, store size information including the number of orders and tables in the store, and type and region information of the store. information may be included.

S403 단계에서, 서버는 매장의 기존 매출 데이터를 이용하여, 매장의 수요를 예측할 수 있다. 여기서 서버는 미리 설정된 시구간 동안의 매장의 수요를 예측할 수 있다. 일 실시예에 따르면, 장기 시구간 및/또는 단기 시구간에 대해 매장의 수요를 예측할 수 있다. In step S403, the server may predict the demand of the store by using the existing sales data of the store. Here, the server may predict store demand for a preset time period. According to one embodiment, store demand may be predicted for a long time period and/or a short time period.

여기서, 장기 시구간은 1년 단위, 반기 단위, 분기 단위, 1개월 단위 중 적어도 하나의 시구간일 수 있다. 그리고 단기 시구간은 1주 단위, 1일 단위 중 적어도 하나일 수 있다. 단기 시구간은 장기 시구간에 포함되는 시구간일 수 있다. 단기 시구간에 대해 매장의 수요를 예측하는 서버는 일자별로 매장의 수요를 예측할 수 있으며, 또한 시간별로 매장의 수요를 예측할 수 있다. Here, the long-term time period may be at least one of a year unit, a semi-annual unit, a quarter unit, and a month unit. Also, the short-term time period may be at least one of a weekly unit and a daily unit. The short-term time period may be a time period included in the long-term time period. A server that predicts store demand for a short period of time can predict store demand for each day and hour.

매장의 수요를 예측하기 위한 서버의 구조 및 동작은 아래에 설명하는 바와 같을 수 있다. The structure and operation of the server for predicting store demand may be as described below.

도 5는 상품 할인권 제공 시스템의 인공지능 아키텍처 일 실시예를 도시한 개념도이다. 5 is a conceptual diagram illustrating an embodiment of an artificial intelligence architecture of a product discount coupon providing system.

도 5를 참조하면, 상품 할인권 제공 시스템의 인공지능 아키텍처는, 클라우드 컴퓨팅 솔루션, VPC(virtual private cloud)를 포함하는 가상 컴퓨팅 머신, 데이터베이스, 데이터 수집 및 처리 엔진 등을 포함할 수 있다. 상품 할인권 제공 시스템의 인공지능 아키텍처의 구성들 및 구성들 각각의 동작 흐름은 아래에 설명하는 바와 같을 수 있다. Referring to FIG. 5 , the artificial intelligence architecture of the product discount coupon providing system may include a cloud computing solution, a virtual computing machine including a virtual private cloud (VPC), a database, a data collection and processing engine, and the like. Components of the artificial intelligence architecture of the gift voucher providing system and operational flow of each component may be described below.

인공지능 아키텍처의 이벤트 신호 발생부는 지정된 시간에 신호를 생성하고, 구체적으로, 매일 지정된 시간(예를 들어, 오전 7시)에 클라우드 컴퓨팅 솔루션을 호출한다. 클라우드 컴퓨팅 솔루션은 인스턴스 제어부(instance-controller)로서의 기능을 수행할 수 있다. The event signal generation unit of the artificial intelligence architecture generates a signal at a specified time, specifically, calls a cloud computing solution at a specified time (eg, 7:00 AM) every day. A cloud computing solution may function as an instance-controller.

클라우드 컴퓨팅 솔루션은 가상 컴퓨팅 머신을 부팅시킬 수 있다. 여기서, 가상 컴퓨팅 머신은 클라우드 상에서 실행되는 컴퓨팅 머신으로, EC2 인스턴스 등과 같은 컴퓨팅 머신일 수 있다. 가상 컴퓨팅 머신은 등록된 시작 프로그램을 실행한다. 구체적으로, 가상 컴퓨팅 머신은 실행 쉘 스크립트 파일(start.sh) 중, 엔진 시작 스크립트(start.py)를 실행한다. 엔진 시작 스크립트의 옵션은 아래에 설명하는 바와 같다. A cloud computing solution may boot up a virtual computing machine. Here, the virtual computing machine is a computing machine running on a cloud and may be a computing machine such as an EC2 instance. The virtual computing machine executes the registered startup program. Specifically, the virtual computing machine executes an engine startup script (start.py) among execution shell script files (start.sh). Options in the engine startup script are described below.

업데이트(updated): 엔진 시작 스크립트에 옵션이 없는 경우, 가상 컴퓨팅 머신은 엔진 시작 스크립트의 코드를 최신버전으로 업데이트하고 updated 옵션을 부여한 후에, 엔진 시작 스크립트를 다시 실행한다. 엔진 시작 스크립트를 처음 실행하는 경우, 업데이트 옵션은 엔진 시작 스크립트에 부여되지 않을 수 있다. Updated: If there is no option in the engine startup script, the virtual computing machine updates the engine startup script code to the latest version, assigns the updated option, and then executes the engine startup script again. When the engine start script is executed for the first time, the update option may not be given to the engine start script.

전처리(preprocess): 엔진 시작 스크립트에 전처리 옵션이 부여된 경우, 가상 컴퓨팅 머신은 임시 날씨데이터 및 기타 엔진 데이터 저장소와 예약, 매장 데이터를 저장하는 데이터베이스로부터 학습에 필요한 전날까지의 데이터를 불러오고, 전처리 작업을 실행함으로써, 불러온 데이터를 학습 데이터로 가공 가능한 형태로 변환할 수 있다. Preprocessing: If the preprocessing option is given to the engine startup script, the virtual computing machine loads the data up to the previous day necessary for learning from the database that stores temporary weather data and other engine data storage, reservation, and store data, and preprocessing By executing the job, the fetched data can be converted into a form that can be processed as learning data.

모델 타입(model_type)=(LightGBM|XGBoost|Dense): 가상 컴퓨팅 머신은 엔진 시작 스크립트에 부여된 모델 타입 옵션에 기초하여, 머신 러닝 엔진(예를 들어, TMEngine)으로 학습시킬 모델을 선택한다. Model type (model_type) = (LightGBM|XGBoost|Dense): The virtual computing machine selects a model to be trained with a machine learning engine (eg, TMEngine) based on the model type option given to the engine startup script.

레이블(label): 가상 컴퓨팅 머신은 학습 후 데이터 수집 및 처리 엔진과 같은 예측 결과 데이터 저장소에 저장된 하루 전 레이블 데이터를 업데이트하고, 엔진 시작 스크립트에 레이블 옵션을 부여한다. 일반적으로 마지막에 실행하는 스크립트에 레이블 옵션이 부여된다. Label: After training, the virtual computing machine updates the label data stored one day ago in the prediction result data store, such as data collection and processing engine, and gives the label option to the engine startup script. In general, a label option is given to the script that is executed last.

강제 시작(forced_start): 엔진 시작 스크립트에 강제 시작 옵션이 부여된 경우, 가상 컴퓨팅 머신은 미리 설정된 유지 시간(예를 들어, MAINTENANCE_TIME) 경과 후에도, 엔진 시작 스크립트를 실행할 수 있다. Forced start (forced_start): When the forced start option is given to the engine start script, the virtual computing machine can execute the engine start script even after a preset maintenance time (eg, MAINTENANCE_TIME) has elapsed.

셧다운(shutdown): 엔진 시작 스크립트에 셧다운 옵션이 부여된 경우, 가상 컴퓨팅 머신은 학습 종료 후 가상 컴퓨팅 머신을 종료한다. 일반적으로 마지막으로 실행되는 스크립트에 셧다운 옵션이 부여된다. Shutdown: When a shutdown option is given to the engine startup script, the virtual computing machine shuts down the virtual computing machine after learning is finished. Generally, the last script to be executed is given a shutdown option.

낫업데이트(not_update): 엔진 시작 스크립트에 낫업데이트 옵션이 부여된 경우, 가상 컴퓨팅 머신은 학습 종료 후 예측 결과 생성한 데이터를 데이터 수집 및 처리 엔진에 업로드하지 않을 수 있다. Not_update: If the not_update option is given to the engine startup script, the virtual computing machine may not upload the data generated as a prediction result to the data collection and processing engine after training is finished.

엔진 시작 스크립트(start.py)는 머신 러닝 엔진(예를 들어, TMEngine)을 실행시킨다. 머신 러닝 엔진은 데이터의 학습을 수행한다.The engine startup script (start.py) runs the machine learning engine (eg TMEngine). A machine learning engine performs learning on data.

머신 러닝 엔진은 전처리 동작을 수행함으로써, 학습 데이터를 업데이트하고, 파이선 환경에서 사용 가능한 형태인 데이터 셋으로 변환할 수 있다. 머신 러닝 엔진은 변환된 데이터 셋을 기초로 학습용 데이터인 입력 데이터 및 레이블(label) 데이터를 생성할 수 있다 The machine learning engine can update training data and convert it into a data set usable in a Python environment by performing a preprocessing operation. The machine learning engine may generate input data and label data, which are training data, based on the transformed data set.

머신 러닝 엔진은 학습 데이터 중에서 검증(validation)을 위한 데이터를 분류할 수 있다. 구체적으로, 머신 러닝 엔진은 학습 데이터를 트레이닝 데이터와 검증 데이터로 구분하고, 통상적으로 트레이닝 데이터와 검증 데이터의 비율은 9 : 1일 수 있다. 여기서, 모델 학습 과정에서 적절한 평가를 위해, 트레이닝 데이터와 검증 데이터의 데이터 구성은 서로 유사한 것이 바람직하다. 머신 러닝 엔진은 레이블 데이터의 통계적 분포를 분석하고, 분석 결과를 반영함으로써, 특정 값을 기준으로 특정 비율로 분할되는 지점을 찾는다.The machine learning engine may classify data for validation from among training data. Specifically, the machine learning engine divides learning data into training data and verification data, and typically the ratio of training data and verification data may be 9:1. Here, for proper evaluation in the model learning process, it is preferable that the data configurations of the training data and the verification data are similar to each other. The machine learning engine analyzes the statistical distribution of the label data and reflects the analysis result to find a point where the label data is divided by a specific ratio based on a specific value.

머신 러닝 엔진은 모델을 정의하고 학습한다. 모델을 구성하는 알고리즘의 종류는 실행 옵션에 따라 달라질 수 있다. 여기서, 모델을 구성하는 알고리즘은 XGBoost 알고리즘, LightBGM 알고리즘, 딥러닝 알고리즘을 포함할 수 있다. 그리고 딥러닝 알고리즘은 DNN(deep neural network) 기반 알고리즘, CNN(convolutional neural network) 기반 알고리즘, RNN(recurrent neural network) 기반 알고리즘, 및 LSTM(long short term memory) 기반 알고리즘 등을 포함할 수 있다. A machine learning engine defines and trains a model. The types of algorithms constituting the model may vary depending on execution options. Here, the algorithm constituting the model may include an XGBoost algorithm, a LightBGM algorithm, and a deep learning algorithm. Further, the deep learning algorithm may include a deep neural network (DNN)-based algorithm, a convolutional neural network (CNN)-based algorithm, a recurrent neural network (RNN)-based algorithm, and a long short term memory (LSTM)-based algorithm.

머신 러닝 엔진은 모델을 통해 미리 준비된 예측용 입력 데이터를 기초로 예측 값을 생성한다. 머신 러닝 엔진은 모델 정보, 예측 세팅, 예측 대상 입력 데이터 및 예측 값 등을 저장한다. The machine learning engine generates prediction values based on input data for prediction prepared in advance through a model. The machine learning engine stores model information, prediction settings, input data to be predicted, and prediction values.

가상 컴퓨팅 머신은 예측 결과 데이터를 분산 검색 엔진에 저장한다. 그리고 가상 컴퓨팅 머신은 예측 결과 데이터를 시각화 도구에 연동함으로써, 예측 결과 데이터 및/또는 엔진 로그 등을 시각화하고, 예측 결과 데이터 및/또는 엔진 로그의 분석 결과를 출력할 수 있다. The virtual computing machine stores prediction result data in a distributed search engine. The virtual computing machine may visualize the prediction result data and/or the engine log by linking the prediction result data with the visualization tool, and output an analysis result of the prediction result data and/or the engine log.

가상 컴퓨팅 머신은 엔진 로그를 분석할 수 있으며, 엔진 로그의 분석 결과를 기초로 시스템의 장애 발생 여부를 감지할 수 있다. 시스템의 장애 발생을 감지한 경우, 가상 컴퓨팅 머신은 분산 검색 엔진에 저장된 데이터를 참조하여 알림 신호를 생성하는 서비스를 통해 메세지를 전송한다. 관리자는 수신한 메시지를 기초로 대응 작업 등의 진행을 요청할 수 있다. The virtual computing machine may analyze the engine log, and may detect whether or not a system failure has occurred based on the engine log analysis result. When a failure of the system is detected, the virtual computing machine transmits a message through a service that generates a notification signal by referring to data stored in the distributed search engine. Based on the received message, the administrator may request the progress of a corresponding task or the like.

가상 컴퓨팅 머신을 포함하는 상품 할인권 제공 시스템의 매장 수요 예측 방법은 아래에 설명하는 바와 같다. A method of predicting store demand of a product discount voucher providing system including a virtual computing machine will be described below.

도 6은 상품 할인권 제공 시스템의 매장 수요 예측 방법의 일 실시예를 도시한 흐름도이다. 6 is a flowchart illustrating an embodiment of a store demand prediction method of a product discount coupon providing system.

S601 단계에서, 서버는 매장의 기존 매출 데이터의 각각의 정보들을 전처리(preprocessing)할 수 있다. 서버는 각각의 정보의 특성에 따라서 미리 정의된 기준으로 각각의 정보들을 전처리할 수 있으며, 정보들 각각은 아래와 같이 전처리될 수 있다. In step S601, the server may preprocess each information of the store's existing sales data. The server may pre-process each piece of information based on a predefined criterion according to the characteristics of each piece of information, and each piece of information may be pre-processed as follows.

날짜 데이터는 연도, 월, 일, 요일을 지시하도록 전처리될 수 있으며, 주말 여부, 공휴일 여부 및/또는 휴일 여부를 지시하도록 전처리될 수 있다. 날씨 데이터는 특정 날짜의 계절, 기온, 강수 여부 등을 지시하도록 전처리될 수 있다. Date data may be preprocessed to indicate the year, month, day, and day of the week, and may be preprocessed to indicate whether it is a weekend, holiday, and/or holiday. Weather data may be preprocessed to indicate the season, temperature, or precipitation of a specific date.

예약 데이터는 고객들의 매장 방문 예약 정보를 포함하고, 서버는 고객들의 매장 방문 예약 정보를 일정 시구간 단위(예를 들어, 주 단위)로 구분되도록 전처리될 수 있다. 예를 들어, 서버는 예약 데이터를 34일 내지 28일 전의 예약 수, 27일 내지 21일 전의 예약 수, 20일 내지 14일 전의 예약 수, 13일 내지 7일 전의 예약 수 및 당일 예약 수로 구분할 수 있다. The reservation data includes store visit reservation information of customers, and the server may pre-process the store visit reservation information of customers to be divided into units of a certain time period (eg, week unit). For example, the server may divide the reservation data into the number of reservations from 34 days to 28 days ago, the number of reservations from 27 days to 21 days ago, the number of reservations from 20 days to 14 days ago, the number of reservations from 13 days to 7 days ago, and the number of reservations on the same day. there is.

서버는 매장의 규모를 지시하도록 매장의 기존 매출 데이터를 전처리할 수 있다. 서버는 예측 시점 이전의 일정 장기 기간(예를 들어, 3개월 간)의 평균 일간 예약 수를 산출할 수 있고, 예측 시점 이전의 일정 단기 기간(예를 들어, 1개월 간)의 평균 일간 예약 수를 산출할 수 있으며, 예측 시점 전월의 평균 방문자 수를 산출함으로써, 매장의 기존 매출 데이터를 전처리할 수 있다. The server may pre-process existing sales data of the store to indicate the size of the store. The server may calculate the average number of daily reservations for a certain long period (eg, 3 months) before the prediction time, and the average number of daily reservations for a certain short period (eg, 1 month) before the prediction time. can be calculated, and the existing sales data of the store can be pre-processed by calculating the average number of visitors in the previous month at the time of prediction.

그리고 서버는 매장의 주문 수 및 테이블 수를 산출함으로써, 매장의 기존 매출 데이터를 전처리할 수 있다. 또한 서버는 매장의 규모 정보 뿐만 아니라 업종 정보 및/또는 지역 정보를 지시하도록 매장의 기존 매출 데이터를 전처리할 수 있다.The server may pre-process existing sales data of the store by calculating the number of orders and the number of tables in the store. In addition, the server may pre-process existing sales data of the store to indicate not only store size information but also industry information and/or region information.

서버는 고객들의 매장 방문 경향성을 지시하도록 매장의 기존 매출 데이터를 전처리할 수 있다. 서버는 매장의 총 예약 수와 워크인 예약 수를 기초로 워크인 비율을 산출할 수 있다. 그리고 서버는 매장의 총 예약 정보를 요일별로 분류함으로써, 요일 별 예약 수를 산출함으로써, 매장의 기존 매출 데이터를 전처리할 수 있다. The server may pre-process the store's existing sales data to indicate the tendency of customers to visit the store. The server may calculate a walk-in ratio based on the total number of reservations in the store and the number of walk-in reservations. In addition, the server may pre-process the existing sales data of the store by classifying the total reservation information of the store according to the day of the week and calculating the number of reservations for each day of the week.

S603 단계에서, 서버는 미리 설정된 복수의 알고리즘들을 이용하여, 전처리된 매장의 기존 매출 데이터의 각각의 정보들을 학습하고, 복수의 매장 수요 예측 모델들을 생성할 수 있다. 매장의 기존 매출 데이터는 수요 예측 모델 생성 및 평가 과정에서의 용도에 따라, 모델의 학습을 위한 트레이닝 데이터(training data)와 모델의 평가를 위한 테스트 데이터(test data)로 구분될 수 있다. 그리고 트레이닝 데이터는 모델을 수립하기 위한 데이터인 모델 수립 데이터 및 모델의 적합성을 검증하기 위한 검증 데이터(validation data)로 구분될 수 있다. In step S603, the server may learn each information of the pre-processed store's existing sales data by using a plurality of preset algorithms, and generate a plurality of store demand prediction models. Existing sales data of stores may be divided into training data for model learning and test data for model evaluation, depending on their use in the process of creating and evaluating a demand prediction model. Further, the training data may be divided into model establishment data, which is data for establishing a model, and validation data for verifying the suitability of the model.

서버는 서로 다른 복수의 알고리즘들을 이용하여 매장의 기존 매출 데이터 중 적어도 일부(예를 들어, 모델 수립 데이터)를 학습할 수 있으며, 이외의 데이터(예를 들어, 검증 데이터)를 이용하여 학습 결과의 적합성을 판단할 수 있다. 여기서, 기존 매출 데이터 중에서 학습을 수행하기 위해 사용되는 모델 수립 데이터를 추출하는 방법, 추출된 모델 수립 데이터를 이용하여 학습을 수행하는 방법은 아래에 설명하는 바와 같다. The server may learn at least some of the store's existing sales data (eg, model establishment data) using a plurality of different algorithms, and use other data (eg, verification data) to determine the learning result. suitability can be judged. Here, a method of extracting model establishment data used for learning from existing sales data and a method of performing learning using the extracted model establishment data will be described below.

도 7은 상품 할인권 제공 시스템의 모델 수립 데이터 및 테스트 데이터를 이용한 수요 예측 모델의 생성 방법의 일 실시예를 도시한 흐름도이다. 7 is a flowchart illustrating an embodiment of a method for generating a demand prediction model using model establishment data and test data of a product discount coupon providing system.

S701 단계에서, 서버는 레이블 데이터를 기초로 매장의 기존 매출 데이터를 미리 설정된 비율에 따라 분류할 수 있다. 구체적으로 서버는 매장의 기존 매출 데이터 중에서 트레이닝 데이터 각각의 레이블 데이터를 기초로 트레이닝 데이터를 미리 설정된 비율에 따라 분류할 수 있다. 여기서, 레이블 데이터는 일별 매장의 예약 수를 지시할 수 있다. 즉, 서버는 레이블 데이터의 분포도를 분석하고, 분포도를 기초로 매장의 기존 매출 데이터를 분류할 수 있다. In step S701, the server may classify the existing sales data of the store according to a preset ratio based on the label data. Specifically, the server may classify the training data according to a preset ratio based on the label data of each training data among the existing sales data of the store. Here, the label data may indicate the number of reservations for stores per day. That is, the server may analyze the distribution of the label data and classify the existing sales data of the store based on the distribution.

예를 들어, 20 이하인 레이블 데이터를 가지는 표본이 80%이고, 20 초과인 레이블 데이터를 가지는 표본이 20%인 경우, 서버는 레이블 데이터를 기준으로 매장의 기존 매출 데이터를 두 개의 그룹으로 분류할 수 있다. 여기서, 제1 그룹은 20 이하인 레이블 데이터를 포함하는 데이터 그룹이고, 제2 그룹은 20 초과인 레이블 데이터를 포함하는 데이터 그룹일 수 있다. For example, if 80% of the sample has label data less than or equal to 20 and 20% of the sample has label data greater than 20, the server can classify the store's existing sales data into two groups based on the label data. there is. Here, the first group may be a data group including label data equal to or less than 20, and the second group may be a data group including label data greater than 20.

S703 단계에서, 서버는 미리 설정된 비율에 따라서, 매장의 기존 매출 데이터 중에서 모델 수립 데이터를 추출할 수 있다. 예를 들어 서버는 매장의 모델 수립 데이터의 80%를 제1 그룹에서 추출하고, 20%를 제2 그룹에서 추출할 수 있다. 그리고 모델 수립 데이터를 제외한 기존 매출 데이터는 검증 데이터일 수 있다. 따라서, 서버는 모델 수립 데이터와 검증 데이터의 레이블 분포도를 유사하게 설정할 수 있다. In step S703, the server may extract model establishment data from existing sales data of the store according to a preset ratio. For example, the server may extract 80% of store model establishment data from the first group and 20% from the second group. In addition, existing sales data excluding model establishment data may be verification data. Accordingly, the server may similarly set label distributions of the model establishment data and the verification data.

S705 단계에서, 서버는 매장의 기존 매출 데이터 중에서 모델 수립 데이터를 학습한 모델을 생성할 수 있다. 서버는 서로 다른 알고리즘들을 이용하여 모델 수립 데이터를 학습함으로써 복수의 수요 예측 모델을 생성할 수 있다. 여기서, 복수의 알고리즘들은 XGBoost 알고리즘, LightBGM 알고리즘, 딥러닝 알고리즘, 선형 회귀 (Linear Regression) 알고리즘, SVM(Support Vector Machine) 알고리즘, 결정 트리(Decision Tree) 알고리즘, 및 랜덤 포레스트(Random Forest) 알고리즘 등을 포함할 수 있다. 그리고 딥러닝 알고리즘은 DNN 기반 딥러닝 알고리즘, CNN 기반 알고리즘, LSTM 기반 알고리즘 등을 포함할 수 있다. In step S705, the server may generate a model obtained by learning model establishment data from existing sales data of the store. The server may generate a plurality of demand prediction models by learning model establishment data using different algorithms. Here, the plurality of algorithms include an XGBoost algorithm, a LightBGM algorithm, a deep learning algorithm, a linear regression algorithm, a support vector machine (SVM) algorithm, a decision tree algorithm, and a random forest algorithm. can include Further, the deep learning algorithm may include a DNN-based deep learning algorithm, a CNN-based algorithm, an LSTM-based algorithm, and the like.

서버는 복수의 수요 예측 모델들을 생성하고, 복수의 모델들의 예측치의 평균을 산출함으로써, 예측 값의 정확도를 향상시킬 수 있다. 또는 서버는 복수의 수요 예측 모델들 각각의 정확도를 비교하고, 가장 높은 정확도를 가지는 하나의 모델을 이용하여 예측치를 산출함으로써, 예측 값의 정확도를 향상시킬 수 있다. The server may improve the accuracy of the predicted value by generating a plurality of demand forecasting models and calculating an average of the predicted values of the plurality of models. Alternatively, the server may improve the accuracy of the predicted value by comparing the accuracy of each of the plurality of demand forecasting models and calculating the predicted value using one model having the highest accuracy.

S707 단계에서, 서버는 매장의 기존 매출 데이터 중에서 모델 수립 데이터를 제외한 데이터인 검증 데이터를 이용하여, 생성한 수요 예측 모델을 검증할 수 있다. 여기서, 서버는 K-폴드 크로스 검증(K-fold cross validation) 알고리즘을 이용하여 수요 예측 모델의 적합성 여부를 검증할 수 있다. 서버는 검증 데이터를 이용한 검증 결과, 생성한 수요 예측 모델의 정확도를 산출할 수 있다. In step S707 , the server may verify the generated demand forecasting model using verification data, which is data excluding model establishment data from existing sales data of the store. Here, the server may verify the suitability of the demand prediction model using a K-fold cross validation algorithm. The server may calculate the accuracy of the generated demand prediction model as a result of the verification using the verification data.

서버는 모델 수립 데이터를 학습하고, 수요 예측 모델을 생성함에 있어, 복수의 모델들을 이용하여 하나의 수요 예측 모델을 생성할 수 있다. 서버의 복수의 모델들 중 하나인 매장 수요 예측 모델의 생성 동작은 아래의 설명하는 바와 같다. The server may generate one demand prediction model by using a plurality of models in learning model establishment data and generating a demand prediction model. An operation of generating a store demand prediction model, which is one of a plurality of models of the server, will be described below.

도 8은 상품 할인권 제공 시스템의 매장 수요 예측 모델의 생성 방법의 일 실시예를 도시한 흐름도이다. 8 is a flowchart illustrating an embodiment of a method of generating a store demand prediction model of a product discount coupon providing system.

서버는 매장의 예약 내역 정보, 방문 내역 정보, 날짜 정보, 날씨 정보, 매장의 규모 정보, 업종 정보 및/또는 지역 정보 중 적어도 하나의 정보를 포함하는 매장의 기존 매출 데이터를 기초로 학습을 수행할 수 있다. 특히 서버는 매장의 기존 매출 데이터 중에서, 트레이닝 데이터의 일부인 모델 수립 데이터를 학습함으로써, 매장의 수요 예측 모델을 생성할 수 있다. The server performs learning based on existing sales data of the store including at least one of store reservation history information, visit history information, date information, weather information, store size information, industry information, and/or regional information. can In particular, the server may generate a demand prediction model of the store by learning model establishment data, which is part of the training data, from existing sales data of the store.

S801 단계에서, 서버는 예약 내역 정보 및 방문 내역 정보를 제1 인공 신경망에 입력할 수 있다. 예약 내역 정보 중에서 일간 예약 수 정보를 제1 인공 신경망에 입력할 수 있으며, 방문 내역 정보 중에서 방문 인원 수 정보를 제1 인공 신경망에 입력할 수 있다. 여기서, 제1 인공 신경망은 CNN, DNN, RNN 중 하나에 기반한 인공 신경망일 수 있다. In step S801, the server may input reservation history information and visit history information to the first artificial neural network. Information on the number of reservations per day may be input from among the reservation details information to the first artificial neural network, and information on the number of visitors among the visit history information may be input to the first artificial neural network. Here, the first artificial neural network may be an artificial neural network based on one of CNN, DNN, and RNN.

예를 들어, 제1 인공 신경망이 CNN에 기반한 인공 신경망인 경우, 서버는 일간 예약 수 정보를 입력받아 일차원 합성 곱 연산을 수행하고, 합성 곱 연산 수행 결과 산출된 값을 활성화 함수에 입력하여 최종 출력치를 산출할 수 있다. 여기서, 활성화 함수는 MaxPooling 함수, Softmax 함수, ReLu 함수 중 하나 이상의 함수일 수 있다. For example, if the first artificial neural network is a CNN-based artificial neural network, the server receives information on the number of reservations per day, performs a one-dimensional synthetic product operation, and inputs the value calculated as a result of the synthetic product operation into an activation function to obtain a final output value can be calculated. Here, the activation function may be one or more of a MaxPooling function, a Softmax function, and a ReLu function.

S803 단계에서, 서버는 예약 내역 정보 및 방문 내역 정보를 제외한 매장의 기존 매출 데이터를 제2 인공 신경망에 입력할 수 있다. 여기서, 예약 내역 정보 및 방문 내역 정보를 제외한 매장의 기존 매출 데이터는 날짜 정보, 날씨 정보, 매장의 주문 수 및 테이블 수를 비롯한 매장 규모 정보, 매장의 업종 및 지역 정보 중 적어도 하나의 정보를 포함할 수 있다. 그리고 제2 인공 신경망은 DNN, CNN, RNN 중 하나의 인공 신경망일 수 있다. 그리고 제2 인공 신경망은 제1 인공 신경망과 별개의 인공 신경망일 수 있으나, 이에 한정되지는 아니한다. In step S803, the server may input the existing sales data of the store excluding the reservation detail information and the visit detail information to the second artificial neural network. Here, the existing sales data of the store, excluding the reservation history information and the visit history information, may include at least one of date information, weather information, store size information including the number of orders and tables in the store, and type and region information of the store. can And, the second artificial neural network may be one of DNN, CNN, and RNN. And, the second artificial neural network may be an artificial neural network separate from the first artificial neural network, but is not limited thereto.

예를 들어, 제2 인공 신경망이 DNN에 기반한 인공 신경망인 경우, 서버는 날짜 관련 데이터 및 시간 관련 데이터를 덴스 레이어에 입력하고, 덴스 레이어의 출력 값을 활성화 함수에 입력하여 최종 출력치를 산출할 수 있다. 여기서, 활성화 함수는 MaxPooling 함수, Softmax 함수, ReLu 함수 중 하나 이상의 함수일 수 있다. For example, if the second artificial neural network is a DNN-based artificial neural network, the server inputs date-related data and time-related data to a dense layer, and inputs an output value of the dense layer to an activation function to calculate a final output value. there is. Here, the activation function may be one or more of a MaxPooling function, a Softmax function, and a ReLu function.

S805 단계에서, 서버는 제1 인공 신경망의 출력 값 및 제2 인공 신경망의 출력 값을 병합할 수 있다. 즉, 서버는 인공 신경망들 각각에 입력 결과 출력된 예약 수 정보, 방문 인원 정보, 날짜 정보, 날씨 정보, 매장의 규모 정보, 업종 정보 및/또는 지역 정보 중 적어도 일부의 정보들을 병합할 수 있다. 예약 수 정보, 방문 인원 정보, 날짜 정보, 날씨 정보, 매장의 규모 정보, 업종 정보 및/또는 지역 정보 중 적어도 일부의 정보들을 병합한 결과 생성된 데이터는 병합 데이터로 지칭된다. In step S805, the server may merge the output value of the first artificial neural network and the output value of the second artificial neural network. That is, the server may merge at least some of information of the number of reservations, number of visitors, date information, weather information, store size information, industry type information, and/or regional information output as a result of input to each of the artificial neural networks. Data generated as a result of merging at least some pieces of information among information on the number of reservations, information on the number of visitors, date information, weather information, store size information, type of business information, and/or regional information is referred to as merged data.

S807 단계에서, 서버는 제1 인공 신경망의 출력 값 및 제2 인공 신경망의 출력 값을 기초로 매장 수요 예측 모델을 정의할 수 있다. 서버는 병합 데이터를 인공 신경망을 기반으로 한 모델에 입력함으로써, 병합 데이터를 기초로 매장 수요 예측 모델을 정의할 수 있다. In step S807, the server may define a store demand prediction model based on the output value of the first artificial neural network and the output value of the second artificial neural network. The server may define a store demand prediction model based on the merged data by inputting the merged data into a model based on an artificial neural network.

여기서, 인공 신경망은 DNN, CNN, RNN 중 하나의 인공 신경망일 수 있다. 예를 들어, 제2 인공 신경망이 DNN에 기반한 인공 신경망인 경우, 매장 수요 예측 모델은 입력 받은 병합 데이터를 덴스 레이어에 입력하고, 덴스 레이어의 출력 값을 활성화 함수에 입력하여 최종 출력치를 산출할 수 있다. 여기서, 활성화 함수는 MaxPooling 함수, Softmax 함수, ReLu 함수 중 하나 이상의 함수일 수 있다. Here, the artificial neural network may be one of DNN, CNN, and RNN. For example, if the second artificial neural network is a DNN-based artificial neural network, the store demand prediction model inputs the input merged data into the dense layer and inputs the output value of the dense layer into the activation function to calculate the final output value. there is. Here, the activation function may be one or more of a MaxPooling function, a Softmax function, and a ReLu function.

서버는 하나 이상의 정보를 포함하는 매장의 기존 매출 데이터를 매장 수요 예측 모델에게 학습시킬 수 있다. 그리고 서버는 학습을 완료한 매장 수요 예측 모델을 이용하여 매장의 수요를 예측할 수 있다. The server may train a store demand prediction model with existing sales data of a store including one or more pieces of information. In addition, the server may predict store demand using the store demand prediction model that has been trained.

다시 도 6을 참조하면, S605 단계에서, 서버는 복수의 매장 수요 예측 모델들 각각을 생성하기 위해 사용한 복수의 알고리즘들 각각에 초모수 설정치를 할당할 수 있다. 초모수는 모델에서의 학습 기준이 되는 변수를 의미하며, 은닉층의 개수, 노드의 개수, 활성화 함수, 최적화 방법, 테스트 회수(epoch), 배치(batch), 드랍아웃(dropout) 중 적어도 하나를 포함할 수 있다. 서버는 모델을 생성하기 위해 미리 정의한 최적의 초모수의 설정치를 사용한 알고리즘에 할당할 수 있다. 그리고 서버는 하나의 라이브러리 상에서 모델을 생성하기 위한 알고리즘들에 각각의 초모수들의 설정치를 저장할 수 있다. 따라서 서버는 학습 동작을 수행함에 있어, 복수의 알고리즘들을 용이하게 전환할 수 있다. Referring back to FIG. 6 , in step S605 , the server may assign hyperparameter settings to each of a plurality of algorithms used to generate each of a plurality of store demand prediction models. A hyperparameter means a variable that is a training criterion in a model, and includes at least one of the number of hidden layers, the number of nodes, an activation function, an optimization method, test epoch, batch, and dropout. can do. The server can assign algorithms using predefined optimal hyperparameter settings to generate the model. In addition, the server may store the settings of each hyperparameter in algorithms for generating a model on one library. Accordingly, the server can easily switch between a plurality of algorithms in performing a learning operation.

S607 단계에서, 서버는 복수의 매장 수요 예측 모델들 각각을 평가할 수 있으며, 평가 결과를 기초로 매장 수요 예측 모델을 결정할 수 있다. 구체적으로 서버는 매장의 기존 데이터 중에서 트레이닝 데이터를 제외한 테스트 데이터를 이용하여 복수의 매장 수요 예측 모델들 각각의 평가 지표를 산출할 수 있다. 복수의 매장 수요 예측 모델들 각각을 평가하기 위한 평가 지표들을 산출하고, 평가 지표를 기초로 복수의 매장 수요 예측 모델들 각각을 평가하는 서버의 동작은 아래에 설명하는 바와 같다. In step S607, the server may evaluate each of a plurality of store demand prediction models, and determine a store demand prediction model based on the evaluation result. Specifically, the server may calculate an evaluation index of each of a plurality of store demand prediction models using test data excluding training data from existing store data. An operation of the server calculating evaluation indicators for evaluating each of the plurality of store demand prediction models and evaluating each of the plurality of store demand prediction models based on the evaluation indicators will be described below.

도 9는 상품 할인권 제공 시스템의 매장 수요 예측 모델 평가 방법의 일 실시예를 도시한 흐름도이다. 9 is a flowchart illustrating an embodiment of a store demand prediction model evaluation method of a product discount coupon providing system.

서버는 매장의 예약 내역 정보, 방문 내역 정보, 날짜 정보, 날씨 정보, 매장의 규모 정보, 업종 정보 및/또는 지역 정보 중 적어도 하나의 정보를 포함하는 매장의 기존 매출 데이터를 매장 수요 예측 모델을 평가할 수 있다. 특히 서버는 매장의 기존 매출 데이터 중에서, 테스트 데이터를 매장의 수요 예측 모델에 입력함으로써, 예측 값을 산출할 수 있고, 산출된 예측 값과 실제 레이블 데이터의 비교 결과를 기초로 매장 수요 예측 모델을 평가할 수 있다.The server evaluates the store demand prediction model with existing sales data of the store, including at least one of store reservation history information, visit history information, date information, weather information, store size information, industry information, and/or region information. can In particular, the server may calculate a predicted value by inputting test data from the store's existing sales data to the store's demand forecasting model, and evaluate the store's demand forecasting model based on the comparison result between the calculated predicted value and the actual label data. can

S901 단계에서, 서버는 매장 수요 예측 모델들 각각의 평가 지표들을 산출할 수 있다. 평가 지표들은 매장 수요 예측 모델의 오류 값을 기초로 산출될 수 있다. 평가 지표들은 MAE(mean absolute error), MAPE(mean absolute percentage error)를 포함할 수 있다. In step S901, the server may calculate evaluation indicators of each of the store demand prediction models. Evaluation indicators may be calculated based on error values of the store demand prediction model. Evaluation indicators may include mean absolute error (MAE) and mean absolute percentage error (MAPE).

서버는 수학식 1의 연산을 수행함으로써, 매장 수요 예측 모델의 MAE를 산출할 수 있다. The server may calculate the MAE of the store demand prediction model by performing the operation of Equation 1.

Figure pat00001
Figure pat00001

수힉식 1에서, yi는 모델을 통한 매장 수요의 예측 값을 지시하고, xi는 매장의 테스트 데이터의 레이블 데이터 값을 지시한다. n은 테스트 데이터 전체의 개수를 지시할 수 있다. In Equation 1, y i indicates the predicted value of store demand through the model, and x i indicates the label data value of the store test data. n may indicate the total number of test data.

그리고, 서버는 수학식 2의 연산을 수행함으로써, 매장 수요 예측 모델의 MAPE를 산출할 수 있다. In addition, the server may calculate MAPE of the store demand prediction model by performing the operation of Equation 2.

Figure pat00002
Figure pat00002

수학식 2에서, At는 실제 매장의 수요 값을 지시하고, Ft는 모델을 통한 매장 수요의 예측 값을 지시한다. n은 테스트 데이터 전체의 개수를 지시할 수 있다. In Equation 2, A t indicates an actual store demand value, and F t indicates a predicted store demand value through a model. n may indicate the total number of test data.

S903 단계에서, 서버는 매장 수요 예측 모델들 각각의 평가 지표들의 분포를 산출할 수 있다. 서버는 예측 데이터들 각각의 평균 오차율의 최대 값인 max_APE(max average percentage error) 및 MAPE를 기초로 max_APE와 MAPE 간의 이변수 정규 분포를 산출할 수 있다. 따라서, 서버는 max_APE와 MAPE의 2차원 정규 분포를 산출할 수 있다. 서버는 max_APE 및 MAPE의 정규 분포를 산출함에 있어, MAE, 피어슨 계수, SSE 중 적어도 하나를 더 반영함으로써, max_APE와 MAPE의 2차원 정규 분포를 산출할 수 있다.In step S903, the server may calculate a distribution of evaluation indicators of each of the store demand prediction models. The server may calculate a bivariate normal distribution between max_APE and MAPE based on max average percentage error (max_APE) and MAPE, which are maximum values of average error rates of each of the predicted data. Therefore, the server can calculate the 2D normal distribution of max_APE and MAPE. In calculating the normal distribution of max_APE and MAPE, the server may calculate the 2D normal distribution of max_APE and MAPE by further reflecting at least one of MAE, Pearson's coefficient, and SSE.

S905 단계에서, 서버는 매장 수요 예측 모델들 각각의 평가 지표들 간의 PCA(principal component analysis) 벡터를 추출할 수 있다. 서버는 max_APE와 MAPE의 2차원 정규 분포를 기초로 PCA 벡터를 추출할 수 있다. In step S905, the server may extract a PCA (principal component analysis) vector between evaluation indicators of each of the store demand prediction models. The server may extract a PCA vector based on the 2D normal distribution of max_APE and MAPE.

S907 단계에서, 서버는 매장 수요 예측 모델들 각각의 평가 지표들의 분포 및 PCA 벡터를 기초로 매장 수요 예측 모델의 정확성을 산출할 수 있다. 서버는 max_APE 및 MAPE의 분포를 산출할 수 있다. 여기서, 산출되는 분포는 max_APE 및 MAPE의 유클리디언 거리의 분포일 수 있다. 서버는 산출된 분포의 비대칭도, 평균, 중간 값 및 표준 편차 중 적어도 하나의 값을 기초로 매장 수요 예측 모델에 의한 안정성, 정확성 및/또는 신뢰성을 평가할 수 있다. 그리고 서버는 PCA 벡터의 크기 및 방향을 기초로 수요 예측 모델에 의한 안정성 등을 평가할 수 있다. In step S907, the server may calculate the accuracy of the store demand prediction model based on the distribution of evaluation indicators of each of the store demand prediction models and the PCA vector. The server may calculate the distribution of max_APE and MAPE. Here, the calculated distribution may be a distribution of Euclidean distances of max_APE and MAPE. The server may evaluate stability, accuracy, and/or reliability of the store demand prediction model based on at least one of the calculated skewness, mean, median, and standard deviation of the distribution. Further, the server may evaluate stability by a demand forecasting model based on the size and direction of the PCA vector.

다시 도 6을 참조하면, S609 단계에서, 서버는 결정된 매장 수요 예측 모델을 이용하여, 매장의 수요를 예측할 수 있다. 서버는 데이터베이스로부터 매장의 수요 예측을 위한 입력 데이터를 획득할 수 있으며, 획득한 입력 데이터를 결정된 매장 수요 예측 모델에 입력함으로써, 매장의 수요를 예측할 수 있다.Referring back to FIG. 6 , in step S609 , the server may predict store demand using the determined store demand prediction model. The server may obtain input data for predicting store demand from the database, and may predict store demand by inputting the acquired input data into the determined store demand prediction model.

서버는 매장의 매출 데이터를 주기적으로 데이터베이스에 업데이트할 수 있다. 그리고 서버는 업데이트된 매장의 매출 데이터를 이용하여, 매장 수요 예측 모델의 적합성 여부를 지속적으로 검토할 수 있다. 업데이트된 매장의 매출 데이터를 이용한 미리 설정된 값 이상의 정확도가 산출된 경우, 서버는 매장의 수요 예측 모델을 유지할 수 있다. 반면, 업데이트된 매장의 매출 데이터를 이용한 테스트 결과, 업데이트된 매장의 매출 데이터를 이용한 미리 설정된 값 미만의 정확도가 산출된 경우, 서버는 매장의 수요 예측 모델의 초모수를 조정(hyperparameter tuning)할 수 있다. The server may periodically update store sales data in the database. In addition, the server may continuously review whether the store demand prediction model is suitable using the updated sales data of the store. When accuracy greater than a preset value is calculated using the updated sales data of the store, the server may maintain the store demand prediction model. On the other hand, as a result of the test using the updated store sales data, if the accuracy is less than a preset value using the updated store sales data, the server may adjust the hyperparameters of the store demand prediction model (hyperparameter tuning). there is.

장기 수요 예측값은 단기 수요 예측값의 합과 다를 수 있다. 예를 들어, 3개월 후에 대한 장기 수요 예측값에 따라 상품 할인권을 10,000장을 발행하였으나, 일주일 후에 대한 단기 수요 예측값을 사후적으로 합한 결과 실제로는 11,000장이 필요했을 수 있다. 본 발명의 일 실시예에 따르면, 매장 수요 예측 모델은 장기 수요 예측값과 단기 수요 예측값의 차이를 새로운 입력 데이터(학습 데이터)로 정의하여 모델의 추론 정확도를 높일 수 있다. Long-term forecasts of demand may differ from the sum of short-term forecasts of demand. For example, although 10,000 product discount coupons were issued according to the long-term demand forecast for 3 months later, 11,000 coupons may actually be needed as a result of adding the short-term demand forecast for a week later. According to an embodiment of the present invention, the store demand prediction model may increase inference accuracy of the model by defining a difference between a long-term demand prediction value and a short-term demand prediction value as new input data (learning data).

장기 수요 예측값과 단기 수요 예측값의 합 사이에 발생한 차이는 다양한 원인에 의할 수 있다. 즉, 수요 예측 모델의 재훈련을 위한 학습 데이터로 사용될 상기 차이는 해당 기간의 날씨, 기후, 경기 활성도, 광고와 마케팅 정도 및 기존의 입력 데이터를 포함하는 다양한 요인들로부터 영향받을 수 있다. 상기 차이에 대한 다양한 요인들을 서버 운영자가 예측할 수도 있지만, 본 발명의 일 실시예에 따른 수요 예측 모델의 머신 러닝에서 상기 학습 데이터들을 입력 데이터로 구성함으로써 모델 자체적으로 연관성을 파악하여 수요 예측력의 정확도를 높일 수 있다. The difference between the sum of long-term and short-term demand forecasts can be caused by various reasons. That is, the difference to be used as learning data for retraining the demand forecasting model may be influenced by various factors including weather, climate, economic activity, level of advertising and marketing, and existing input data during the corresponding period. Although the server operator may predict various factors for the difference, in the machine learning of the demand forecasting model according to an embodiment of the present invention, by configuring the learning data as input data, the model itself identifies the correlation to improve the accuracy of the demand forecasting power can be raised

구체적으로, 과거에 도출되었던 단기 수요 예측값, 장기 수요 예측값 및 단기 수요 예측값의 합과 장기 수요 예측값의 차이는 추가 입력 데이터로 사용하고, 실제 방문객 수를 출력으로 사용하여 기존 모델의 정확도를 개선할 수 있다. Specifically, the difference between the sum of short-term demand forecasts, long-term demand forecasts, and short-term demand forecasts derived in the past and long-term forecasts of demand can be used as additional input data, and the actual number of visitors can be used as output to improve the accuracy of the existing model. there is.

일 실시예에 따르면, 서버는 특정 시간에 매장의 수요를 예측하는 동작을 실행할 수 있다. 서버는 미리 지정된 시간에 매장의 수요를 예측하고, 예측 결과를 저장할 수 있다. 여기서, 미리 지정된 시간은 매장의 개시 시간 이전의 시간일 수 있다. 서버의 관리자는 서버에 의해 산출된 예측 결과를 확인할 수 있으며, 예측 결과가 정상인 경우, 매장의 관리자 단말에게 예측 결과 데이터를 제공할 수 있다. 따라서, 서버는 입력 값을 획득하는 데에 걸리는 시간과 모델의 예측 시간을 줄일 수 있다. According to one embodiment, the server may execute an operation of predicting the demand of the store at a specific time. The server may predict store demand at a predetermined time and store the prediction result. Here, the pre-designated time may be a time prior to the opening time of the store. The manager of the server may check the prediction result calculated by the server, and if the prediction result is normal, the prediction result data may be provided to the manager terminal of the store. Therefore, the server can reduce the time required to obtain input values and the prediction time of the model.

다시 도 4를 참조하면, S405 단계에서, 서버는 매장의 수요 예측 결과를 기초로 매장의 상품 할인권 제공 수량을 결정할 수 있다. 일 실시예에 따르면, 매장의 상품 할인권 제공 수량은 매장의 장기 수요 예측 결과를 기초로 결정될 수 있다. 즉, 상품 할인권 제공 수향은 장기간 동안 매장을 예약하고 사용할 수 있는 좌석의 수량을 지시할 수 있다. Referring back to FIG. 4 , in step S405 , the server may determine the quantity of product discount coupons provided by the store based on the demand prediction result of the store. According to an embodiment, the quantity of product discount coupons provided by the store may be determined based on a long-term demand prediction result of the store. That is, the number of product discount coupons provided may indicate the number of seats that can be reserved and used in a store for a long period of time.

일 실시예에 따르면, 서버는 수요 예측을 완료한 장기 기간 동안 이용 가능한 매장의 좌석 수량과 장기 기간 동안의 수요 예측 결과 값의 차이를 상품 할인권 제공 수량으로 결정할 수 있다. According to an embodiment, the server may determine a difference between the number of available seats in a store for a long period of time for which demand forecasting is completed and a demand prediction result value for a long period of time as the number of product discount coupons provided.

S407 단계에서, 서버는 매장의 수요 예측 결과를 기초로 상품 할인권의 사용 가능한 수량을 결정할 수 있다. 일 실시예에 따르면, 상품 할인권의 사용 가능한 수량은 매장의 단기 수요 예측 결과를 기초로 결정될 수 있다. 즉, 상품 할인권의 사용 가능한 수량은 단기간 동안 매장을 예약하고 사용할 수 있는 좌석의 수량을 지시할 수 있다. In step S407, the server may determine the usable quantity of product discount coupons based on the demand prediction result of the store. According to an embodiment, the usable quantity of product discount coupons may be determined based on a short-term demand forecast result of the store. That is, the usable quantity of product discount coupons may indicate the quantity of seats that can be reserved and used in a store for a short period of time.

일 실시예에 따르면, 서버는 수요 예측을 완료한 단기 기간 동안 이용 가능한 매장의 좌석 수량과 단기 기간 동안의 수요 예측 결과 값의 차이를 상품 할인권 제공 수량으로 결정할 수 있다. 여기서, 서버는 일자 단위 및 시간 단위의 상품 할인권 제공 수량을 결정할 수 있다. According to an embodiment, the server may determine a difference between the number of available seats in a store for a short period of time for which demand forecasting is completed and a demand forecast result value for a short period of time as the quantity of product discount coupons provided. Here, the server may determine the quantity of product discount coupons provided in units of days and units of time.

다른 실시예에 따르면, 상품 할인권의 사용 가능한 수량은 미리 설정된 최소치로 결정될 수 있다. 예를 들어, 매장의 수요 예측을 완료하지 않은 특정 시점의 경우, 특정 시점에서의 상품 할인권을 사용할 수 있는 수량은 미리 설정된 최소치로 설정될 수 있다. 이후에 특정 시점을 포함하는 기간에 대해 수요 예측을 완료한 경우, 서버는 수요 예측치를 상품 할인권의 사용 가능한 수량에 반영할 수 있다. According to another embodiment, the usable quantity of product discount coupons may be determined as a preset minimum value. For example, in the case of a specific point in time when demand forecast for a store has not been completed, the quantity of product discount coupons that can be used at the specific point in time may be set to a preset minimum value. Afterwards, when demand forecasting is completed for a period including a specific point in time, the server may reflect the demand forecasting value to the available quantity of product discount coupons.

S409 단계에서, 서버는 상품 할인권을 소비자의 사용자 단말에게 제공할 수 있다. 여기서, 서버는 매장의 기존 매출 데이터를 기초로 고객들 각각의 매장에 대한 충성도를 분석할 수 있으며, 고객들의 충성도 분석 결과를 기초로 필터링된 고객들에게 우선적으로 상품 할인권을 제공하거나 상품 할인권 발행을 통지할 수 있다. 매장의 기존 매출 데이터를 기초로 고객들 각각의 매장에 대한 충성도를 분석하기 위한 서버의 동작은 아래에 설명하는 바와 같을 수 있다. In step S409, the server may provide the product discount coupon to the consumer's user terminal. Here, the server may analyze the loyalty of each customer to each store based on the existing sales data of the store, and may preferentially provide product discount coupons or notify issuance of product discount coupons to filtered customers based on the customer loyalty analysis result. can An operation of the server for analyzing customer loyalty to each store based on existing sales data of the store may be described below.

도 10은 상품 할인권 제공 시스템의 고객 충성도 평가 방법의 일 실시예를 도시한 흐름도이다. 10 is a flowchart illustrating an embodiment of a customer loyalty evaluation method of a product discount coupon providing system.

도 10을 참조하면, 서버는 매장에 대한 고객 충성도 분석 동작을 수행할 수 있으며, 고객 충성도 분석 동작을 수행하기 위해, 서버는 데이터베이스로부터 매장의 고객 데이터를 불러올 수 있다. 서버는 데이터베이스로부터 매장 정보, 고객 정보, 고객별 방문 일시, 고객별 방문 횟수 및 고객별 총구매액 정보를 불러올 수 있다. Referring to FIG. 10 , the server may perform a customer loyalty analysis operation for the store, and in order to perform the customer loyalty analysis operation, the server may retrieve customer data of the store from a database. The server may retrieve store information, customer information, visit date and time for each customer, number of visits for each customer, and total purchase amount information for each customer from the database.

그리고 서버는 데이터베이스로부터 불러온 데이터의 유효성 여부를 판단할 수 있다. 서버는 데이터베이스로부터 '실패하지 않는' '완료된' '온전한' 데이터를 불러오는 것이 바람직하다. 서버는 데이터 각각의 orders의 isValid: true를 통해 데이터를 필터링할 수 있다. 또한 과거의 데이터일수록 스키마가 달라지고 온전하다고 기대하기 어려우므로, 서버는 3개월 내지 2년 정도 데이터만을 불러올 수 있다. 데이터베이스로부터 데이터를 불러온 서버는 아래의 동작을 수행할 수 있다. In addition, the server may determine whether the data retrieved from the database is valid. The server preferably fetches 'non-failing', 'complete' and 'intact' data from the database. The server can filter data through isValid: true of each order of data. In addition, since the schema of the data in the past changes and it is difficult to expect it to be complete, the server can only load data for about 3 months to 2 years. The server that retrieves data from the database can perform the following operations.

S1001 단계에서, 서버는 매장의 고객별 방문 일자 정보, 및 방문 빈도 정보를 포함하는 매장 방문 기록 정보를 획득한다. 서버는 고객별 매장 방문 기록 정보를 기초로 RFM 알고리즘의 입력 값인 R 변수 및 F 변수를 산출할 수 있다. In step S1001, the server acquires store visit record information including visit date information and visit frequency information for each customer of the store. The server may calculate R variables and F variables, which are input values of the RFM algorithm, based on store visit record information for each customer.

여기서, R 변수는 충성도 분석 시점과 고객의 최근 방문 시점의 차이 값을 정량화하여 산출한 변수일 수 있다. 서버는 수학식 3을 이용하여, R 변수를 산출할 수 있다. Here, the R variable may be a variable calculated by quantifying a difference between the time of analyzing loyalty and the time of the customer's recent visit. The server may calculate the R variable using Equation 3.

Figure pat00003
Figure pat00003

여기서, Ri는 고객의 i번째 방문 시점을 지시하고, t는 현재 시간을 지시한다. 따라서, 수학식 3을 통해 서버는 데이터의 최근성을 반영하여 R 변수를 산출할 수 있다. Here, Ri indicates the time point of the customer's i-th visit, and t indicates the current time. Therefore, through Equation 3, the server may calculate the R variable by reflecting the recency of the data.

그리고 F 변수는 충성도 분석 시점으로부터의 과거 일정 기간 동안의 고객의 매장 방문 횟수 및/또는 방문 빈도를 정량화하여 산출한 변수일 수 있다. 서버는 다음과 같이 매장 방문 횟수 및/또는 빈도를 정량화할 수 있다. Further, the F variable may be a variable calculated by quantifying the number of visits to the store and/or the frequency of visits by customers during a certain period in the past from the time point of the loyalty analysis. The server may quantify the number and/or frequency of store visits as follows.

업종 특성 상, 특정 일(예를 들어, 크리스마스, 신정, 등의 명절) 또는 우연히 매장을 방문한 고객은 높은 확률로 매장을 다시 방문하지 않을 수 있다. 따라서 F(original) 변수가 1인 고객인 경우(즉, 총 거래횟수가 1인 경우) F 변수가 0인 고객과 차이를 둘 필요성이 적으므로, F 변수가 0인 고객과 동일한 F 변수를 갖도록 산출할 수 있다. 구체적으로, 서버는 수학식 4를 이용하여 F 변수를 산출할 수 있다. Due to the nature of the industry, customers who visit the store on a specific day (eg, Christmas, New Year's Day, etc.) or by chance may not visit the store again with a high probability. Therefore, if a customer has an F(original) variable of 1 (i.e., if the total number of transactions is 1), there is little need to differ from a customer with an F variable of 0. can be calculated Specifically, the server may calculate the F variable using Equation 4.

Figure pat00004
Figure pat00004

여기서, Foriginal은 고객의 매장 방문 횟수를 지시할 수 있으며, H[x]는 계단 문턱 함수를 지시할 수 있다. 계단 문턱 함수는 이산 계단 문턱 함수, 또는 계단 문턱 함수일 수 있다. Here, Foriginal may indicate the number of store visits by customers, and H[x] may indicate a step threshold function. The step threshold function may be a discrete step threshold function or a step threshold function.

S1003 단계에서, 서버는 고객들에 의해 발생한 매장의 매출 정보를 획득한다. 서버는 매장의 고객별 매출 정보를 기초로 RFM 알고리즘의 입력 값인 M 변수를 산출할 수 있다. 여기서, M 변수는 충성도 분석 시점으로부터의 과거 일정 기간 동안의 고객의 매출 값을 정량화하여 산출한 변수일 수 있다. In step S1003, the server obtains store sales information generated by customers. The server may calculate M variables, which are input values of the RFM algorithm, based on sales information for each customer of the store. Here, the M variable may be a variable calculated by quantifying a customer's sales value for a certain period in the past from the point of time of analyzing the loyalty.

S1005 단계에서, 서버는 고객들의 매장 방문 기록 정보, 및 고객들에 의해 발생한 매출 정보를 표준화한다. R, F, M 변수들 각각은 고객의 거래 패턴에 대한 정보를 지시한다. 하지만 각각의 변수들을 단순히 덧셈하여 하나의 점수로 합칠 경우 변수들 고유의 대소 관계를 반영할 수 없다. 예를 들어, 매장에 비교적 최근에 한번 거래한 고객(R=300, F(original)=1)과 예전부터 300번 거래한 고객(R=1, F(original)=300)인 고객이 있다고 가정한다. 두 고객들 각각 RFM 점수는 301이므로, 두 고객의 중요도는 같다는 결과를 도출할 수 있다. 다만, 위 예시에 따라 산출된 점수는 실제 분석에 적합한 점수가 아닐 수 있다. 데이터를 합산하고 비교하는 것은 데이터의 형태가 동일한 경우에만 유의미하기 때문이다.In step S1005, the server standardizes store visit record information of customers and sales information generated by customers. Each of the R, F, and M variables indicates information about the customer's transaction pattern. However, if each variable is simply added and combined into a single score, the unique size relationship of the variables cannot be reflected. For example, assume that a store has a customer who has made a transaction relatively recently (R = 300, F (original) = 1) and a customer who has made 300 transactions in the past (R = 1, F (original) = 300). do. Since each of the two customers has an RFM score of 301, it can be concluded that the importance of both customers is the same. However, the score calculated according to the above example may not be suitable for actual analysis. This is because summing and comparing data is meaningful only when the shape of the data is the same.

그리고 매장의 특성에 따른 전체 표본에서의 특정 고객의 절대적인 위치를 확인하기 위해 데이터의 표준화가 필요하다. 예를 들어, 소규모 점포에서는 3건의 거래를 한 단골 고객의 중요도가 높을 수 있으나, 대규모 점포에서는 3건의 거래를 한 단골 고객의 중요도가 낮을 수 있다. 즉, 동일한 3건의 거래를 한 고객이라도 매장 특성에 따라 중요도는 다를 수 있다. 표준화를 수행하는 경우, 표본 중에서의 고객의 위치를 알 수 있다. 따라서, 단일 고객에 대해 매장 사정에 적합하게 중요도를 정량화할 수 있고, 대소관계 뿐만 아니라 통계적인 위치까지도 확인할 수 있다. 또한 서로 다른 매장들의 기준을 동일하게 설정하는 효과가 있으므로, 다른 매장과의 비교를 통해 우수고객 수를 비교하여 보다 적합한 판매 전략을 수립할 수 있다. In addition, standardization of data is necessary to confirm the absolute position of a specific customer in the entire sample according to the characteristics of the store. For example, in a small store, a regular customer who has made 3 transactions may be of high importance, but in a large store, a regular customer who has made 3 transactions may be of low importance. That is, even if a customer made the same three transactions, the importance may be different depending on the characteristics of the store. When standardization is performed, the position of the customer in the sample is known. Therefore, it is possible to quantify the importance of a single customer appropriately to the store situation, and to confirm not only the relationship between size but also statistical position. In addition, since it has the effect of setting the same standard for different stores, it is possible to establish a more suitable sales strategy by comparing the number of good customers through comparison with other stores.

따라서, 데이터에 통계적 의미를 부여하고 매장에 보다 적합한 분석 결과를 도출하기 위해 변수들 각각에 대해 표준화를 진행하는 것이 바람직하다. 서버는 RFM 알고리즘에 입력되는 R, F, M 변수들 각각에 대해 표준화를 진행할 수 있다. 일 실시예에 따르면, R, F, M 변수들 각각은 정규 분포 함수 형태로 분포된다고 가정할 수 있으며, 서버는 정규 분포 함수를 기초로 R, F, M 변수들 각각을 표준화할 수 있다. Therefore, it is desirable to standardize each of the variables in order to give statistical significance to the data and derive analysis results more suitable for the store. The server may standardize each of the R, F, and M variables input to the RFM algorithm. According to an embodiment, it may be assumed that each of the R, F, and M variables are distributed in the form of a normal distribution function, and the server may standardize each of the R, F, and M variables based on the normal distribution function.

고객의 충성도 분석 대상인 매장의 업계 특성 상, 일회성 방문 고객의 비중이 높을 수 있다. 따라서, 고객들의 F 변수 분포는 로그 분포 및/또는 파레토 분포에 따를 수 있다. 서버는 F 변수의 통계적 의미를 확보하기 위해, 1회 방문한 고객에게 0.5 내지 1.5의 F 변수 값을 부여할 수 있다. 그리고 서버는 F 변수를 표준화함에 있어, F 변수의 누적 분포 함수가 파레토 분포 및/또는 로그 분포임을 가정하고 F 변수를 표준화할 수 있다. Due to the industry characteristics of stores that are subject to customer loyalty analysis, the percentage of one-time visit customers may be high. Thus, the distribution of customers' F variable may follow a logarithmic distribution and/or a Pareto distribution. The server may assign an F variable value of 0.5 to 1.5 to a customer who visits once to secure a statistical significance of the F variable. In standardizing the F variable, the server may standardize the F variable on the assumption that the cumulative distribution function of the F variable is a Pareto distribution and/or a log distribution.

서버는 매출 정보를 분석함에 있어, 단순 거래액을 정량화값으로 사용하는 경우, 매출 정보 분석 모델은 실제 추출된 매출 정보를 정확히 반영하지 못한다. 일 실시예에 따르면, 매출 정보는 워크인 손님, 상담 예약, 0원 서비스 메뉴 등 현장의 융통적인 업무 방식이 존재하기 때문에 매출이 없는 데이터가 존재할 수 있다. 매출이 없는 데이터가 데이터 전처리 단계에서 발견되는 경우, 매출이 없는 데이터는 필터링되지 못할 수 있다. 일차적으로 서버는 매출 정보를 분석함에 있어, 고객의 결제 내역 정보를 반영하여 고객별 매출 정보를 분석할 수 있다. When the server analyzes the sales information, when a simple transaction amount is used as a quantified value, the sales information analysis model does not accurately reflect the actually extracted sales information. According to an embodiment, the sales information may include data without sales because flexible work methods such as walk-in customers, consultation reservations, and 0-won service menus exist. If data without sales is found in the data pre-processing step, data without sales may not be filtered out. Primarily, in analyzing sales information, the server may analyze sales information for each customer by reflecting payment history information of the customer.

따라서 이런 문제점을 해결하기 위한 방법으로 패턴에 관계없이 매출 정보를 획득하기 위해 데이터 바이닝(Data binning)을 적용할 수 있다. 데이터 바이닝을 적용하여 고객별 매출 정보를 표준화하는 서버의 동작은 아래에 설명하는 바와 같을 수 있다. Therefore, as a way to solve this problem, data binning can be applied to obtain sales information regardless of patterns. An operation of a server that standardizes sales information for each customer by applying data binning may be described below.

서버는 고객별 매출 정보를 시구간 단위로 구분할 수 있다. 예를 들어, 특정 고객의 3개월간 매출 정보에 의해 지시되는 매출액이 25000원인 경우, 서버는 특정 고객의 매출 정보를 시구간 단위로 구분할 수 있다. 서버는 특정 고객의 3개월간 매출 정보에 의해 지시되는 매출액을 1개월 단위로 구분할 수 있다. The server may classify sales information for each customer in units of time intervals. For example, if the sales indicated by the sales information of a specific customer for 3 months is 25,000 won, the server may classify the sales information of the specific customer in units of time intervals. The server may classify the sales amount indicated by the sales information of a specific customer for 3 months in units of one month.

서버는 시구간 단위의 고객별 매출 정보를 1차 표준화할 수 있다. 그리고 서버는 1차 표준화된 시구간 단위의 고객별 매출 정보의 평균치를 산출할 수 있다. The server may first standardize sales information for each customer in a unit of time period. In addition, the server may calculate an average value of sales information for each customer in a first standardized time period unit.

서버는 매출 정보의 평균치를 반영하여, 1차 표준화된 상기 시구간 단위의 고객별 매출 정보를 2차 표준화할 수 있다. 여기서, 서버는 고객들의 매장 방문 기록 정보, 및 상기 고객들에 의해 발생한 매출 정보를 표준화함에 있어, 표준화된 고객별 방문 일자 정보, 방문 빈도 정보 및 매출 정보를 전체 고객에 대해서 표준화할 수 있다. 즉, 서버는 전체 고객들의 R 변수 값, F 변수 값, 및 M 변수 값의 평균 및 분포를 기초로 고객별 방문 일자 정보, 방문 빈도 정보 및 매출 정보를 표준화할 수 있다. The server may secondarily standardize the firstly standardized sales information for each customer in the unit of time period by reflecting the average value of the sales information. Here, in standardizing store visit record information of customers and sales information generated by the customers, the server may standardize standardized visit date information, visit frequency information, and sales information for each customer for all customers. That is, the server may standardize visit date information, visit frequency information, and sales information for each customer based on averages and distributions of R variable values, F variable values, and M variable values of all customers.

그리고 서버는 전체 고객에 대해서 표준화된 고객별 방문 일자 정보, 방문 빈도 정보 및 매출 정보를 기초로 산출된 R 변수 값, F 변수 값, 및 M 변수 값을 기반으로 고객의 등급을 산정할 수 있다. 일 실시예에 따르면, 서버는 수학식 5를 이용하여 고객을 등급별로 분류할 수 있다. 수학식 5는 아래와 같다. In addition, the server may calculate a customer's grade based on R variable values, F variable values, and M variable values calculated based on visit date information, visit frequency information, and sales information for each customer standardized for all customers. According to an embodiment, the server may classify customers by grade using Equation 5. Equation 5 is as follows.

Figure pat00005
Figure pat00005

수학식 5에서, Gdata는 데이터에 따른 고객의 등급을 지시하고,

Figure pat00006
는 천장 함수를 지시하고, n은 고객을 분류하는 등급들의 개수를 지시하며, erfc(x)는 1-erf(x)(오차 함수)를 지시할 수 있다. In Equation 5, Gdata indicates the customer's rating according to the data,
Figure pat00006
indicates a ceiling function, n indicates the number of ratings for classifying customers, and erfc(x) may indicate 1-erf(x) (error function).

일 실시예에 따르면, 서버는 수학식 6을 이용하여 고객을 등급별로 분류할 수 있다. 수학식 6은 아래와 같다. According to an embodiment, the server may classify customers by grade using Equation 6. Equation 6 is as follows.

Figure pat00007
Figure pat00007

수학식 6에서, normalcdf(x)는 정규 분포 함수를 지시할 수 있다. In Equation 6, normalcdf(x) may indicate a normal distribution function.

다른 실시예에 따르면, 서버는 전체 고객에 대해서 F 변수를 기초로 고객의 등급을 산정할 수 있다. F 변수의 분포 함수가 파레토 분포를 따른다고 가정한 경우, 실제 데이터에 따른 알파 계수를 산출하기 위해, 서버는 누적 분포 함수에 데이터를 대입할 수 있다. 알파 계수는 수학식 7을 통해 산출될 수 있다. 수학식 7은 아래와 같다. According to another embodiment, the server may calculate a customer rating based on the F variable for all customers. If it is assumed that the distribution function of the F variable follows the Pareto distribution, the server may substitute data into the cumulative distribution function in order to calculate an alpha coefficient according to actual data. The alpha coefficient can be calculated through Equation 7. Equation 7 is as follows.

Figure pat00008
Figure pat00008

수학식 7에서, p는 일회성 고객의 비중을 지시한다. 서버는 1회 방문한 고객들을 최하위 등급으로 분류할 수 있다. 그리고 서버는 파레토 분포의 누적 분포 함수에서 p의 정규화 누적 구간을 제외한 구간들을 n-1개로 나누어 1등급부터 n-1등급을 부여할 수 있다. 서버는 수학식 8을 통해 방문 빈도 데이터를 기초로 고객들을 분류할 수 있다. 수학식 8은 아래와 같다. In Equation 7, p indicates the proportion of one-time customers. The server may classify customers who have visited once as the lowest level. In addition, the server may divide the intervals excluding the normalized cumulative interval of p in the cumulative distribution function of the Pareto distribution into n-1 pieces and assign grades from 1 to n-1. The server may classify customers based on visit frequency data through Equation 8. Equation 8 is as follows.

Figure pat00009
Figure pat00009

S1007 단계에서, 서버는 표준화된 매장 방문 기록 정보 및 표준화된 매출 정보를 학습하여 충성도 분석 모델을 생성할 수 있다. 여기서, 충성도 분석 모델은 충성도 분석 시점과 고객의 최근 방문 시점의 차이 값, 고객의 매장 방문 횟수, 및 미리 설정된 시구간 단위의 고객에 의해 발생한 매출 값을 입력 값으로 하는 인공 신경망 모델일 수 있다.In step S1007, the server may generate a loyalty analysis model by learning standardized store visit record information and standardized sales information. Here, the loyalty analysis model may be an artificial neural network model having, as input values, a difference value between a loyalty analysis time point and a customer's latest visit point, a customer's number of visits to a store, and a sales value generated by a customer in a unit of a preset time period.

S1009 단계에서, 서버는 충성도 분석 모델을 이용하여, 고객들을 충성도를 기준으로 미리 분류된 그룹들 중 하나의 그룹으로 분류할 수 있다. 일 실시예에 따르면, 미리 분류된 그룹들은 단골 고객, 신규 고객, 유출된 고객, 유출 예정 고객 및 안정 고객일 수 있다. In step S1009, the server may classify the customers into one of pre-classified groups based on loyalty by using the loyalty analysis model. According to one embodiment, the pre-classified groups may be regular customers, new customers, outgoing customers, outgoing customers, and stable customers.

다시 도 4를 참조하면, S411 단계에서, 서버는 소비자의 사용자 단말로부터 상품 할인권 사용 요청 정보를 수신할 수 있다. 여기서, 사용 요청 정보는 사용자의 계정 정보, 상품 할인권을 사용하고자 하는 매장 정보, 상품 할인권을 특정하기 위한 코드와 같은 식별 정보 등을 포함할 수 있다. 그리고 서버는 상품 할인권 사용 요청 정보를 기초로 상품 할인권을 활성화할 수 있다. 상품 할인권을 활성화하기 위한 서버의 동작은 아래에 설명하는 바와 같을 수 있다. Referring back to FIG. 4 , in step S411 , the server may receive product discount coupon use request information from the consumer's user terminal. Here, the use request information may include user account information, information about a store where the product discount coupon is to be used, identification information such as a code for specifying the product discount coupon, and the like. Further, the server may activate the product discount voucher based on the product discount voucher use request information. An operation of the server for activating the product discount coupon may be described below.

도 11은 상품 할인권 제공 시스템의 상품 할인권 활성화 방법의 일 실시예를 도시한 흐름도이다. 11 is a flowchart illustrating an embodiment of a product discount voucher activating method of a product discount voucher providing system.

S1101 단계에서, 상품 할인권 사용 요청 정보를 수신한 서버는 매장에서의 상품 할인권의 사용 가능한 수량 정보를 소비자의 사용자 단말에게 전송할 수 있다. 여기서, 상품 할인권의 사용 가능한 수량 정보는 매장의 수요 예측 결과를 기초로 결정된 수량 정보일 수 있다. 수량 정보 값은 수요 예측된 시구간 동안 이용 가능한 매장의 좌석 수량과 수요 예측 결과 값의 차이 값일 수 있다. 또는 수량 정보 값은 매장의 수요 예측을 완료하지 않은 시구간 동안에 예약 가능한 수량인 미리 설정된 최소치 값일 수 있다. In step S1101, the server receiving the product discount coupon usage request information may transmit information on the usable quantity of the product discount coupon in the store to the consumer's user terminal. Here, the usable quantity information of the product discount coupon may be quantity information determined based on a demand prediction result of the store. The quantity information value may be a difference value between the number of available seats in the store during the predicted demand time period and the demand prediction result value. Alternatively, the quantity information value may be a preset minimum value, which is a quantity that can be reserved during a time period in which the demand forecast of the store is not completed.

S1103 단계에서, 서버는 소비자의 사용자 단말로부터 상품 할인권을 이용하고자 하는 매장에 대한 예약 요청 정보를 수신할 수 있다. 소비자는 사용자 단말을 통해 상품 할인권의 사용 가능한 수량 정보를 확인하고, 상품 할인권의 사용 가능한 수량 정보에 상응하도록 예약을 요청할 수 있다. 그리고 사용자 단말은 소비자에 의해 생성된 예약 요청 정보를 서버에게 전송할 수 있다. In step S1103, the server may receive reservation request information for a store where the product discount coupon is to be used from the consumer's user terminal. The consumer can check available quantity information of the product discount coupon through the user terminal and request a reservation corresponding to the available quantity information of the product discount coupon. And the user terminal may transmit the reservation request information generated by the consumer to the server.

S1105 단계에서, 서버는 매장의 예약 요청 정보를 기초로 상품 할인권을 활성화할 수 있다. 소비자의 사용자 단말로부터 수신한 예약 요청 정보를 기초로 매장을 예약할 수 있는 경우, 서버는 매장 예약 절차를 완료하고 매장의 관리자 단말에 매장 예약 정보를 전송한다. 그리고 매장 예약 절차를 완료한 서버는 상품 할인권을 활성화할 수 있다. In step S1105, the server may activate a product discount voucher based on the reservation request information of the store. When the store can be reserved based on the reservation request information received from the consumer's user terminal, the server completes the store reservation process and transmits the store reservation information to the manager terminal of the store. In addition, the server that has completed the store reservation process may activate the product discount coupon.

즉, 상품 할인권 제공 시스템을 통해 제공되는 상품 할인권은 사용자로부터 접수한 예약 요청에 따른 예약 절차를 완료함으로써 활성화되는 것이 바람직하다. That is, the product discount coupon provided through the product discount coupon providing system is preferably activated by completing a reservation procedure according to a reservation request received from a user.

다시 도 4를 참조하면, S413 단계에서, 서버는 상품 할인권의 사용 요청 정보를 매장에 전송할 수 있다. 여기서, 상품 할인권의 사용 요청 정보는 상품 할인권을 사용한 소비자의 계정 정보, 소비자에 의한 예약 정보 등을 포함할 수 있다. 따라서, 매장은 소비자에 의한 예약 정보를 기초로 매장 예약 여부를 확인할 수 있으며, 예약된 일시에 소비자의 상품권 사용을 허용할 수 있다. Referring back to FIG. 4 , in step S413 , the server may transmit information requesting use of product discount coupons to the store. Here, the information requesting use of the product discount coupon may include account information of the consumer who used the product discount coupon, reservation information by the consumer, and the like. Therefore, the store can check whether or not to make a store reservation based on the customer's reservation information, and allow the customer to use the gift certificate on the reserved date and time.

도 4 내지 도 11에서의 실시예에서 설명된 상품 할인권의 제공 및 사용을 위한 상품 할인권 제공 시스템을 구성하는 디바이스들의 동작은 아래에 설명한 바와 같을 수 있다. Operations of devices constituting the product discount voucher providing system for providing and using the product discount voucher described in the embodiments of FIGS. 4 to 11 may be as described below.

도 12는 상품 할인권 제공 시스템, 매장 및 소비자의 사용자 단말 간의 상품 할인권 제공 및 사용의 일 실시예를 도시한 순서도이다. 12 is a flowchart illustrating an embodiment of providing and using product discount coupons between a product discount coupon providing system, a store, and a user terminal of a consumer.

S1201 단계에서, 서버는 미리 설정된 시구간의 매장의 수요를 예측할 수 있다. 일 실시예에 따르면, 서버는 장기 시구간 및/또는 단기 시구간에 대해 각각 매장의 수요를 예측할 수 있다. 여기서, 장기 시구간은 연간, 반기, 분기, 1개월 중 적어도 하나일 수 있다. 그리고 단기 시구간은 1주, 1일 중 적어도 하나일 수 있다. 그리고 단기 시구간에 대해 매장의 수요를 예측하는 서버는 일자별로 매장의 수요를 예측할 수 있으며, 또한 시간별로 매장의 수요를 예측할 수 있다. In step S1201, the server may predict store demand in a preset time period. According to one embodiment, the server may predict the demand of each store for a long time period and/or a short time period. Here, the long-term time period may be at least one of annual, semiannual, quarterly, and one month. Further, the short-term time period may be at least one of 1 week and 1 day. Also, a server that predicts store demand for a short period of time may predict store demand for each day and hour.

S1203 단계에서, 서버는 매장의 상품 할인권의 제공 수량을 결정할 수 있다. 일 실시예에 따르면, 매장의 상품 할인권의 제공 수량은 S1201 단계에서 예측된 매장 수요 예측 값을 기초로 결정될 수 있으며, 구체적으로, 장기 시구간에 대한 매장의 수요 예측 결과를 기초로 결정될 수 있다. In step S1203, the server may determine the number of product discount coupons provided by the store. According to an embodiment, the quantity of product discount coupons provided by the store may be determined based on the estimated store demand value predicted in step S1201, and specifically, based on the result of the store demand forecast for a long time period.

S1205 단계에서, 서버는 매장 관리자 단말에게 상품 할인권의 발행을 요청할 수 있다. 상품 할인권의 발행을 요청하기 위해, 서버는 상품의 가격 및 상품 할인권의 발행 매수를 기초로 한 액수에 상품의 할인율 및 수수료를 반영한 금액을 매장 측에 지불할 수 있다. In step S1205, the server may request issuance of a product discount voucher from the store manager terminal. In order to request issuance of the product discount voucher, the server may pay the store side an amount obtained by reflecting the product discount rate and commission in an amount based on the product price and the issued number of product discount vouchers.

S1207 단계에서, 매장 관리자 단말은 서버에게 상품 할인권의 발행을 승인할 수 있다. 즉, 매장 관리자 단말은 서버에게 상품 할인권 발행 승인 정보를 전송할 수 있다. 상품 할인권 발행 승인 정보를 수신한 서버는 상품 할인권 제공 승인 정보를 기초로 상품 할인권을 발행할 수 있다. In step S1207, the store manager terminal may approve issuance of the product discount voucher to the server. That is, the store manager terminal may transmit product discount voucher issuance approval information to the server. The server receiving the product discount voucher issuance approval information may issue the product discount voucher based on the product discount voucher provision approval information.

S1209 단계에서, 서버는 매장에서의 기간별 상품 할인권 사용 가능 수량을 결정할 수 있다. 여기서, 매장의 상품 할인권 사용 가능 수량은 S1201 단계에서 예측된 매장 수요 예측 값을 기초로 결정될 수 있으며, 일 실시예에 따르면, 단기 시구간에 대한 매장의 수요 예측 결과를 기초로 결정될 수 있다. In step S1209, the server may determine the number of product discount coupons available for each period in the store. Here, the usable quantity of product discount coupons in the store may be determined based on the store demand forecast value predicted in step S1201, and according to an embodiment, may be determined based on the store demand forecast result for a short time period.

기간별 상품 할인권 사용 가능 수량을 결정한 서버는 상품 할인권을 판매하기 위한 광고 정보를 소비자들에게 전송할 수 있다. 여기서, 서버는 매장의 기존 매출 데이터로부터 고객들의 매장에 대한 충성도를 산출하고, 충성도 정보를 기초로 고객들에게 광고 정보를 전송할 수 있다. After determining the number of usable product discount coupons for each period, the server may transmit advertisement information for selling product discount coupons to consumers. Here, the server may calculate customer loyalty to the store from existing sales data of the store, and transmit advertisement information to the customers based on the loyalty information.

S1211 단계에서, 소비자는 사용자 단말을 이용하여 서버에게 상품 할인권의 구매를 요청할 수 있다. 소비자는 사용자 단말을 이용하여 서버와의 결제 절차를 진행하고, 상품 할인권에 상응하는 가격을 지불할 수 있다. In step S1211, the consumer may request purchase of a product discount voucher from the server using the user terminal. The consumer may proceed with a payment procedure with the server using the user terminal and pay a price corresponding to the product discount coupon.

S1213 단계에서, 서버는 소비자의 사용자 단말로부터 수신한 상품 할인권 구매 요청을 승인할 수 있다. 서버는 소비자의 상품 할인권 구매 요청 정보를 기초로 상품 할인권 관련 정보를 전송할 수 있다. 여기서, 상품 할인권 관련 정보는 사용 가능한 매장의 정보 및 상품 할인권 고유 식별 정보를 포함할 수 있다.In step S1213, the server may approve the product discount voucher purchase request received from the consumer's user terminal. The server may transmit product discount voucher-related information based on the consumer's product discount voucher purchase request information. Here, the information related to the product discount coupon may include information on available stores and unique identification information of the product discount coupon.

S1215 단계에서, 소비자의 사용자 단말은 서버에게 상품 할인권의 사용을 요청할 수 있다. 상품 할인권의 사용을 요청하는 소비자의 사용자 단말은 상품 할인권의 고유 식별 정보를 포함하는 상품 할인권 사용 요청 정보를 서버에게 전송할 수 있다. In step S1215, the consumer's user terminal may request the server to use the product discount voucher. The consumer's user terminal requesting the use of the product discount voucher may transmit product discount voucher use request information including unique identification information of the product discount voucher to the server.

S1217 단계에서, 상품 할인권 사용 요청 정보를 수신한 서버는 S1209 단계에서 도출된 매장에서의 기간별 상품 할인권 사용 가능 수량 정보를 소비자의 사용자 단말에게 전송할 수 있다. In step S1217, the server receiving the product discount coupon use request information may transmit information on the quantity of product discount coupons available for each period in the store derived in step S1209 to the user terminal of the consumer.

S1219 단계에서, 소비자는 사용자 단말을 통해 표시되는 기간별 상품 할인권 사용 가능 수량 정보를 확인하고, 사용자 단말을 이용하여 상품 할인권을 사용할 수 있는 일시에 매장 예약을 요청할 수 있다. In step S1219, the consumer can check information on the quantity of product discount coupons available for each period displayed through the user terminal, and request a store reservation at a date and time when the product discount coupon can be used using the user terminal.

S1221 단계에서, 서버는 사용자 단말을 통해 수신한 매장 요약 요청 정보를 기초로 매장 예약 절차를 진행할 수 있다. 서버는 매장 예약 요청 정보를 매장의 관리자 단말에게 전송할 수 있다. 그리고 매장의 관리자 단말은 서버로부터 수신한 매장 예약 요청을 승인하고, 매장 예약 승인 정보를 서버에게 전송함으로써, 매장 예약 절차를 완료할 수 있다. In step S1221, the server may perform a store reservation procedure based on the store summary request information received through the user terminal. The server may transmit store reservation request information to a manager terminal of the store. The manager terminal of the store may complete the store reservation procedure by approving the store reservation request received from the server and transmitting store reservation approval information to the server.

그리고 사용자 단말의 매장 요약 요청 정보에 상응하도록 매장 예약 절차를 완료한 서버는 상품 할인권을 활성화할 수 있다. 서버는 매장 예약 정보를 매장의 관리자 단말에게 전송할 수 있다. In addition, the server that has completed the store reservation procedure corresponding to the store summary request information of the user terminal may activate the product discount coupon. The server may transmit store reservation information to a manager terminal of the store.

S1223 단계에서, 소비자는 S1221 단계에서의 예약 정보에 의해 지시되는 일시에 매장을 방문하고, 상품 결제 시 상품 할인권을 사용할 수 있다. In step S1223, the consumer can visit the store on the date and time indicated by the reservation information in step S1221 and use the product discount coupon when paying for the product.

S1225 단계에서, 매장의 관리자 단말은 소비자의 상품권 사용을 승인하고, 상품 결제 절차를 완료한 후, 서버에게 상품 할인권이 소진되었음을 통보할 수 있다. In step S1225, the manager terminal of the store may notify the server that the product discount coupon is exhausted after approving the use of the consumer's gift certificate and completing the product payment procedure.

도 12에 도시된 동작들 중에서, 볼드 처리된 선들에 의해 표시된 동작들은 자금의 이동을 수반하는 동작일 수 있다. 즉, S1205 단계에서, 매장은 시스템의 서버를 관리하는 관리 주체로부터 상품 할인권 발행을 위한 금액을 획득할 수 있다. 그리고 S1211 단계에서, 사용자는 시스템의 관리 주체에게 상품 할인권을 구매하기 위한 금액을 지불할 수 있다. 도 4 내지 도 12에서의 실시예에서 설명된 상품 할인권의 제공 방법을 통해, 각각의 주체들은 다음과 같은 이익을 얻을 수 있다. Among the operations shown in FIG. 12 , operations indicated by bold lines may be operations involving the movement of funds. That is, in step S1205, the store may obtain an amount for issuing a product discount voucher from a management entity that manages a server of the system. Further, in step S1211, the user may pay an amount for purchasing a product discount voucher to a management entity of the system. Through the method of providing product discount coupons described in the embodiments of FIGS. 4 to 12, each subject can obtain the following benefits.

도 13은 상품 할인권 제공 시스템, 매장 및 소비자 간의 자금 흐름의 일 실시예를 도시한 개념도이다. 13 is a conceptual diagram illustrating an embodiment of a product discount coupon providing system, a flow of money between a store and a consumer.

도 13을 참고하면, 상품 할인권의 교환은 상품 할인권 제공 플랫폼 상에서 이루어질 수 있다. 상품 할인권 제공 플랫폼은 상품 할인권 제공 시스템(1310)에 의해 제공될 수 있다. Referring to FIG. 13 , exchange of product discount vouchers may be performed on a product discount voucher providing platform. The product discount voucher providing platform may be provided by the product discount voucher providing system 1310 .

상품 할인권 제공 플랫폼은 상품 할인권 발행/관리 플랫폼(1301) 및 상품 할인권 거래/관리 플랫폼(1302)을 포함할 수 있다. 여기서, 상품 할인권 발행/관리 플랫폼(1301)은 상품 할인권 제공 시스템(1310)과 매장(1320) 간에 제공되며, 매장의 상품 할인권을 발행하고, 발행된 상품 할인권의 사용 여부 등을 관리하기 위한 플랫폼일 수 있다. 그리고 상품 할인권 거래/관리 플랫폼(1302)은 상품 할인권 제공 시스템(1310)과 소비자(1330) 단말 간에 제공되며, 매장의 상품 할인권의 거래 정보 및 거래된 상품 할인권의 사용 여부 등을 관리하기 위한 플랫폼일 수 있다. 상품 할인권 발행/관리 플랫폼(1301) 및 상품 할인권 거래/관리 플랫폼(1302)을 포함하는 상품 할인권 제공 플랫폼은 상품 할인권 제공 시스템(1310)에 의해 관리될 수 있다. The product discount voucher providing platform may include a product discount voucher issuance/management platform 1301 and a product discount voucher transaction/management platform 1302 . Here, the product discount voucher issuance/management platform 1301 is provided between the product discount voucher providing system 1310 and the store 1320, and is a platform for issuing store product discount vouchers and managing whether or not the issued product discount vouchers are used. can In addition, the product discount coupon transaction/management platform 1302 is provided between the product discount coupon providing system 1310 and the consumer 1330 terminal, and is a platform for managing transaction information of the product discount coupon in the store and whether or not the traded product discount coupon is used. can The product discount voucher providing platform including the product discount voucher issuance/management platform 1301 and the product discount voucher transaction/management platform 1302 may be managed by the product discount voucher providing system 1310 .

도 13을 참고하면, 상품 할인권 제공 시스템(1310)은 매장(1320)에 상품 할인권 발행 대금을 지급할 수 있다. 여기서, 상품 할인권 발행 대금은 상품의 총 금액에서 할인율 및 수수료 상당 금액을 할인한 금액일 수 있다. 이로써, 매장(1320)은 운영 상황과 무관하게, 상품 할인권 제공 시스템(1310)에 의해 지급된 상품 할인권 발행 대금을 확보할 수 있다. Referring to FIG. 13 , the product discount voucher providing system 1310 may pay a price for issuing a product discount voucher to the store 1320 . Here, the price for issuing a product discount coupon may be an amount obtained by discounting a discount rate and an amount corresponding to a fee from the total product price. Accordingly, the store 1320 may secure the product discount voucher issuance price paid by the product discount voucher providing system 1310 regardless of operating conditions.

상품 할인권 제공 시스템(1310)은 매장(1320)의 상품 할인권을 소비자(1330)에게 광고할 수 있다. 소비자(1330)는 광고를 확인하고, 매장(1320)의 상품 할인권을 구매할 수 있다. 이로써 상품 할인권 제공 시스템은 소비자(1330)의 상품 할인권 구매 가격에서 상품 할인권 발행 대금을 제한 금액인 판매 수수료에 상응하는 금액을 확보할 수 있다. The product discount coupon providing system 1310 may advertise product discount coupons of the store 1320 to the consumer 1330 . The consumer 1330 may check the advertisement and purchase a product discount voucher of the store 1320 . Accordingly, the product discount voucher providing system may secure an amount corresponding to a sales commission, which is an amount obtained by subtracting a product discount voucher issuance price from the purchase price of the product discount voucher of the consumer 1330 .

소비자(1330)는 상품 할인권 사용에 앞서, 매장(1320)의 예약 절차를 진행하는 것이 바람직하다. 그리고 소비자(1330)는 예약된 일시에 매장(1320)을 방문하여 상품을 이용하고, 상품 할인권을 사용할 수 있다. 이로써 소비자(1330)는 할인된 가격에 상품을 이용할 수 있다. It is preferable that the consumer 1330 proceeds with a reservation procedure of the store 1320 prior to using the product discount coupon. In addition, the consumer 1330 can visit the store 1320 on the reserved date and time, use the product, and use the product discount coupon. As a result, the consumer 1330 can use the product at a discounted price.

그리고, 상품 할인권의 사용을 예약을 통해 관리함으로써, 상품 할인권 제공 시스템(1310)은 사용 조건(예를 들어, 사용 일정, 사용 매장 등)의 제약을 최소화한 상품 할인권을 소비자(1330)에게 제공할 수 있다. And, by managing the use of the product discount voucher through reservation, the product discount voucher providing system 1310 can provide the consumer 1330 with a product discount voucher that minimizes constraints on usage conditions (eg, use schedule, use store, etc.). can

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. Computer readable media may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on a computer readable medium may be specially designed and configured for the present invention or may be known and usable to those skilled in computer software.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer readable media include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler. The hardware device described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described with reference to the above embodiments, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the present invention described in the claims below. You will be able to.

Claims (12)

매장의 수요 예측을 기반으로 한 상품 할인 제공 시스템의 동작 방법에 있어서,
데이터베이스로부터 상기 매장의 일자별 고객들의 예약 내역 정보 및 방문 내역 정보를 포함하는 매장의 기존 매출 데이터를 획득하는 단계;
상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하는 단계;
상기 매장의 수요 예측 결과를 기초로 상기 상품 할인권의 사용 가능한 수량을 결정하는 단계;
상기 상품 할인권을 소비자의 사용자 단말에게 제공하는 단계;
상기 사용자 단말로부터 상기 상품 할인권 사용 요청 정보를 수신하는 단계; 및
상기 상품 할인권의 사용 요청 정보를 상기 매장에 전송하는 단계를 포함하는, 동작 방법.
In the operating method of the product discount providing system based on the demand forecast of the store,
obtaining, from a database, existing sales data of the store including reservation history information and visit history information of customers for each date of the store;
predicting demand for the store using existing sales data of the store;
determining a usable quantity of the product discount vouchers based on a demand forecast result of the store;
providing the product discount coupon to a consumer's user terminal;
Receiving the product discount voucher use request information from the user terminal; and
And transmitting request information for use of the product discount voucher to the store.
청구항 1에 있어서,
상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하는 단계는,
상기 매장의 기존 매출 데이터를 전처리(preprocessing)하는 단계;
상기 전처리된 매장의 기존 매출 데이터를 학습한 미리 설정된 복수의 알고리즘들을 이용하여 복수의 매장 수요 예측 모델들을 생성하는 단계;
상기 미리 설정된 복수의 알고리즘들 각각에 상기 생성된 매장 수요 예측 모델들 각각의 초모수(hyperparameter)를 할당하는 단계; 및
복수의 매장 수요 예측 모델들 각각의 평가 결과를 기초로 매장 수요 예측 모델을 결정하는 단계를 포함하는, 동작 방법.
The method of claim 1,
The step of predicting the demand of the store using the existing sales data of the store,
preprocessing the existing sales data of the store;
generating a plurality of store demand prediction models by using a plurality of preset algorithms learned from the preprocessed store's existing sales data;
assigning a hyperparameter of each of the generated store demand prediction models to each of the plurality of preset algorithms; and
And determining a store demand prediction model based on evaluation results of each of a plurality of store demand prediction models.
청구항 1에 있어서,
상기 매장의 수요를 예측하는 단계는,
제1 시구간의 매장의 수요를 예측하는 단계; 및
제1 시구간을 포함하는 제2 시구간의 매장의 수요를 예측하는 단계를 포함하는, 동작 방법.
The method of claim 1,
The step of predicting the demand of the store,
predicting store demand in a first time period; and
A method of operation comprising predicting demand in a store in a second time period including a first time period.
청구항 3에 있어서,
상기 매장의 수요 예측 결과를 기초로 상기 매장의 상품 할인권 제공 수량을 결정하는 단계를 더 포함하고,
상기 매장의 상품 할인권 제공 수량은, 상기 제2 시구간의 매장의 수요를 기초로 결정되고,
상기 상품 할인권의 사용 가능한 수량은 상기 제1 시구간의 매장의 수요를 기초로 결정되는 것을 특징으로 하는, 동작 방법.
The method of claim 3,
Determining the quantity of product discount coupons provided by the store based on the demand prediction result of the store;
The quantity of product discount coupons provided by the store is determined based on the demand of the store in the second time period;
characterized in that the usable quantity of the product discount coupon is determined based on the demand of the store in the first time period.
청구항 1에 있어서,
상기 매장의 기존 매출 데이터를 기초로, 고객들의 매장 방문 기록 정보를 획득하는 단계;
상기 고객들에 의해 발생한 상기 매장의 매출 정보를 획득하는 단계; 및
상기 고객들의 매장 방문 기록 정보 및 상기 매장의 매출 정보를 기초로 상기 고객들 각각의 매장에 대한 충성도를 분석하는 단계를 포함하고,
상기 소비자는,
상기 고객들 중에서, 매장에 대한 충성도를 기초로 필터링된 적어도 하나 이상의 고객인 것을 특징으로 하는, 동작 방법.
The method of claim 1,
obtaining store visit record information of customers based on existing sales data of the store;
obtaining sales information of the store generated by the customers; and
Analyzing loyalty to the store of each of the customers based on store visit record information of the customers and sales information of the store;
The consumer,
Among the customers, characterized in that at least one or more customers filtered on the basis of loyalty to the store, operating method.
청구항 1에 있어서,
상기 상품 할인권 사용 요청 정보를 수신하는 단계는,
상기 상품 할인권 사용 요청 정보에 의해 지시되는 상기 매장에서의 상기 상품 할인권의 사용 가능한 수량 정보를 상기 사용자 단말에게 전송하는 단계;
상기 사용자 단말로부터 상기 상품 할인권을 이용한 상기 매장의 예약 요청 정보를 수신하는 단계; 및
상기 매장의 예약 요청 정보를 기초로 상기 상품 할인권을 활성화하는 단계를 포함하는, 동작 방법.
The method of claim 1,
Receiving the product discount voucher use request information,
transmitting available quantity information of the product discount voucher in the store indicated by the product discount voucher use request information to the user terminal;
Receiving reservation request information of the store using the product discount coupon from the user terminal; and
And activating the product discount voucher based on the reservation request information of the store.
매장의 수요 예측을 기반으로 한 상품 할인 제공 시스템의 서버로서,
적어도 하나의 프로그램 명령이 저장된 메모리;
상기 적어도 하나의 프로그램 명령을 수행하는 프로세서; 및
네트워크와 연결되어 통신을 수행하는 송수신 장치를 포함하고,
상기 적어도 하나의 프로그램 명령은,
데이터베이스로부터 상기 매장의 일자별 고객들의 예약 내역 정보 및 방문 내역 정보를 포함하는 매장의 기존 매출 데이터를 획득하고;
상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하고;
상기 매장의 수요 예측 결과를 기초로 상기 상품 할인권의 사용 가능한 수량을 결정하고;
상기 상품 할인권을 소비자의 사용자 단말에게 제공하고;
상기 사용자 단말로부터 상기 상품 할인권 사용 요청을 수신하고;
상기 사용자 단말로부터 상기 상품 할인권 사용 요청 정보를 수신하고; 그리고
상기 상품 할인권의 사용 요청 정보를 상기 매장에 전송하도록 실행되는, 서버.
As a server of a product discount providing system based on store demand forecast,
a memory in which at least one program instruction is stored;
a processor to execute the at least one program instruction; and
Including a transmitting and receiving device that is connected to the network and performs communication,
The at least one program command,
Obtaining existing sales data of the store, including reservation history information and visit history information of customers for each date of the store, from the database;
predicting the demand of the store using the existing sales data of the store;
determining a usable quantity of the merchandise discount vouchers based on a demand prediction result of the store;
providing the product discount coupon to a user terminal of the consumer;
receiving a request for using the product discount voucher from the user terminal;
receiving the product discount voucher use request information from the user terminal; and
A server configured to transmit request information for use of the product discount voucher to the store.
청구항 7에 있어서,
상기 적어도 하나의 프로그램 명령은,
상기 매장의 기존 매출 데이터를 이용하여, 상기 매장의 수요를 예측하도록 실행됨에 있어,
상기 매장의 기존 매출 데이터를 전처리(preprocessing)하고;
상기 전처리된 매장의 기존 매출 데이터를 학습한 미리 설정된 복수의 알고리즘들을 이용하여 복수의 매장 수요 예측 모델들을 생성하고;
상기 미리 설정된 복수의 알고리즘들 각각에 상기 생성된 매장 수요 예측 모델들 각각의 초모수(hyperparameter)를 할당하고; 그리고,
복수의 매장 수요 예측 모델들 각각의 평가 결과를 기초로 매장 수요 예측 모델을 결정하도록 더 실행되는, 서버.
The method of claim 7,
The at least one program command,
In executing to predict the demand of the store using the existing sales data of the store,
preprocessing the existing sales data of the store;
generating a plurality of store demand prediction models by using a plurality of preset algorithms learned from the preprocessed store's existing sales data;
assigning a hyperparameter of each of the generated store demand prediction models to each of the plurality of preset algorithms; and,
The server further executed to determine a store demand prediction model based on evaluation results of each of the plurality of store demand prediction models.
청구항 7에 있어서,
상기 적어도 하나의 프로그램 명령은,
상기 매장의 수요를 예측하도록 실행됨에 있어,
제1 시구간의 매장의 수요를 예측하고; 그리고
제1 시구간을 포함하는 제2 시구간의 매장의 수요를 예측하도록 더 실행되는, 서버.
The method of claim 7,
The at least one program command,
In the implementation to predict the demand of the store,
predict demand in the store in the first time period; and
The server is further executed to predict demand of the store in a second time period including the first time period.
청구항 9에 있어서,
상기 적어도 하나의 프로그램 명령은,
상기 매장의 수요 예측 결과를 기초로 상기 매장의 상품 할인권 제공 수량을 결정하도록 더 실행되고;
상기 매장의 상품 할인권 제공 수량은, 상기 제2 시구간의 매장의 수요를 기초로 결정되고,
상기 상품 할인권의 사용 가능한 수량은 상기 제1 시구간의 매장의 수요를 기초로 결정되는 것을 특징으로 하는, 서버.
The method of claim 9,
The at least one program command,
is further executed to determine a quantity of product discount coupons provided in the store based on the result of predicting demand in the store;
The quantity of product discount coupons provided by the store is determined based on the demand of the store in the second time period;
Characterized in that, the usable quantity of the product discount coupon is determined based on the demand of the store in the first time period.
청구항 7에 있어서,
상기 적어도 하나의 프로그램 명령은,
상기 매장의 기존 매출 데이터를 기초로, 고객들의 매장 방문 기록 정보를 획득하고;
상기 고객들에 의해 발생한 상기 매장의 매출 정보를 획득하고; 그리고,
상기 고객들의 매장 방문 기록 정보 및 상기 매장의 매출 정보를 기초로 상기 고객들 각각의 매장에 대한 충성도를 분석하도록 더 실행되고,
상기 소비자는,
상기 고객들 중에서, 매장에 대한 충성도를 기초로 필터링된 적어도 하나의 고객인 것을 특징으로 하는, 서버.
The method of claim 7,
The at least one program command,
obtaining store visit record information of customers based on the existing sales data of the store;
obtaining sales information of the store generated by the customers; and,
It is further executed to analyze the loyalty of each of the customers to the store based on the store visit record information of the customers and the sales information of the store;
The consumer,
Characterized in that, among the customers, at least one customer filtered based on loyalty to the store, the server.
청구항 7에 있어서,
상기 적어도 하나의 명령은,
상기 상품 할인권 사용 요청 정보를 수신하도록 실행됨에 있어,
상기 상품 할인권 사용 요청 정보에 의해 지시되는 상기 매장에서의 상기 상품 할인권의 사용 가능한 수량 정보를 상기 사용자 단말에게 전송하고;
상기 사용자 단말로부터 상기 상품 할인권을 이용한 상기 매장의 예약 요청 정보를 수신하고; 그리고
상기 매장의 예약 요청 정보를 기초로 상기 상품 할인권을 활성화하도록 실행되는, 서버.
The method of claim 7,
The at least one command,
In executing to receive the product discount voucher usage request information,
transmitting available quantity information of the product discount voucher in the store indicated by the product discount voucher use request information to the user terminal;
Receiving reservation request information of the store using the product discount coupon from the user terminal; and
A server configured to activate the product discount voucher based on the reservation request information of the store.
KR1020210098377A 2021-07-27 2021-07-27 Method for providing product discount coupons based on store demand forecasting and system thereof KR102554135B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210098377A KR102554135B1 (en) 2021-07-27 2021-07-27 Method for providing product discount coupons based on store demand forecasting and system thereof
PCT/KR2022/011051 WO2023008908A1 (en) 2021-07-27 2022-07-27 Method of providing product discount coupons based on store demand forecasting and system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210098377A KR102554135B1 (en) 2021-07-27 2021-07-27 Method for providing product discount coupons based on store demand forecasting and system thereof

Publications (2)

Publication Number Publication Date
KR20230016868A true KR20230016868A (en) 2023-02-03
KR102554135B1 KR102554135B1 (en) 2023-07-12

Family

ID=85087999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210098377A KR102554135B1 (en) 2021-07-27 2021-07-27 Method for providing product discount coupons based on store demand forecasting and system thereof

Country Status (2)

Country Link
KR (1) KR102554135B1 (en)
WO (1) WO2023008908A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102650227B1 (en) * 2023-09-26 2024-03-20 전남대학교산학협력단 Power consumption prediction device through edge device-based data abnormality detection and missing data supplementation and method for controlling the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102646888B1 (en) * 2023-10-12 2024-03-12 (주)오아시스비즈니스 Electronic device predicting store profits using on deep learning-based prediction moedl and utilizing the predicted information and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140049925A (en) * 2012-10-17 2014-04-28 이진호 Real time reservation system
KR20150112117A (en) * 2014-03-26 2015-10-07 주식회사 앱필로그 Mobile force system capable of managing regular customers based on social network services
KR20200131549A (en) * 2019-05-14 2020-11-24 카페24 주식회사 Item sales volume prediction method, apparatus and system using artificial intelligence model

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539628B2 (en) * 2000-03-21 2009-05-26 Bennett James D Online purchasing system supporting buyer affordability screening
US20110184779A1 (en) * 2000-10-10 2011-07-28 International Business Machines Corporation Dynamic on-line learning system for electronic coupons using on-line auctions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140049925A (en) * 2012-10-17 2014-04-28 이진호 Real time reservation system
KR20150112117A (en) * 2014-03-26 2015-10-07 주식회사 앱필로그 Mobile force system capable of managing regular customers based on social network services
KR20200131549A (en) * 2019-05-14 2020-11-24 카페24 주식회사 Item sales volume prediction method, apparatus and system using artificial intelligence model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102650227B1 (en) * 2023-09-26 2024-03-20 전남대학교산학협력단 Power consumption prediction device through edge device-based data abnormality detection and missing data supplementation and method for controlling the same

Also Published As

Publication number Publication date
WO2023008908A1 (en) 2023-02-02
KR102554135B1 (en) 2023-07-12

Similar Documents

Publication Publication Date Title
US20200349641A1 (en) System and method for determining credit and issuing a business loan using tokens and machine learning
KR102344383B1 (en) Method for analyzing loyalty of the customer to store based on artificial intelligence and system thereof
KR102554135B1 (en) Method for providing product discount coupons based on store demand forecasting and system thereof
KR20190109299A (en) Blockchain system for proof of future value based crypto currency issue and circulation and reward on basis of level of contribution to the future value realization
Nasiri et al. Incorporating sales and marketing considerations into a competitive multi-echelon distribution network design problem with pricing strategy in a stochastic environment
US20220108328A1 (en) Systems and methods for linking indices associated with environmental impact determinations for transactions
Arora et al. Approximating methodology: Managing cash in automated teller machines using fuzzy ARTMAP network
US20140032270A1 (en) Method and system for predicting consumer spending
KR102187305B1 (en) Apparatus and method for providing payment gateway service by levying store customized fee
US11288691B2 (en) Systems and methods for price markdown optimization
US20230092126A1 (en) Banking operation support system, banking operation support method, and banking operation support program
Chashmi et al. Predicting customer turnover using recursive neural networks
CN113240359B (en) Demand prediction method for coping with external major changes
KR102203865B1 (en) A method and an apparatus for checking the consistency of the calculation of the reference price of the fund using artificial intelligence
Chang et al. The comparison between IABC with EGARCH in foreign exchange rate forecasting
Cao et al. A stochastic linear programming modelling and solution approach for planning the supply of rewards in loyalty reward programs
KR102670391B1 (en) Apparatus and method for supporting trading of carbon emissions and electricity, and program stored in computer readable medium performing the same
US20240013068A1 (en) Stable prescriptive policy construction
US20240169355A1 (en) Settlement card having locked-in card specific merchant and rule-based authorization for each transaction
US11341530B2 (en) Travel destination predictor
Delis et al. Management Practices and Takeover Decisions
Ramlal et al. A Personalized Overdraft Protection Framework
Henao-Baena et al. Methodology for Inventory Management in Neighborhood Stores Using Machine Learning and Integer Linear Programming
Jagpal et al. Coordinating Marketing and Production with Asymmetric Costs: Theory and Estimation
Орєхов et al. METHOD OF SOLVING THE PROBLEM OF SITUATIONAL MANAGEMENT OF THE SEMANTIC KERNEL OF WEB CONTENT

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right