KR102567137B1 - Method for estimating past daily sales and generating a model of predicting future sales - Google Patents

Method for estimating past daily sales and generating a model of predicting future sales Download PDF

Info

Publication number
KR102567137B1
KR102567137B1 KR1020210070682A KR20210070682A KR102567137B1 KR 102567137 B1 KR102567137 B1 KR 102567137B1 KR 1020210070682 A KR1020210070682 A KR 1020210070682A KR 20210070682 A KR20210070682 A KR 20210070682A KR 102567137 B1 KR102567137 B1 KR 102567137B1
Authority
KR
South Korea
Prior art keywords
matrix
sales
sales volume
past
daily
Prior art date
Application number
KR1020210070682A
Other languages
Korean (ko)
Other versions
KR20220162342A (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 KR1020210070682A priority Critical patent/KR102567137B1/en
Publication of KR20220162342A publication Critical patent/KR20220162342A/en
Application granted granted Critical
Publication of KR102567137B1 publication Critical patent/KR102567137B1/en

Links

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/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Business, Economics & Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Economics (AREA)
  • Computational Mathematics (AREA)
  • Marketing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 과거 일정 기간 동안 누적 판매량으로부터 일별 판매량을 추정하고, 과거 일별 판매량으로부터 미래 일정 기간 동안 판매량을 예측하는 모델을 생성하는 방법에 관한 것이다.
본 발명은, 판매량 추정 및 예측 장치가, 상품의 과거 일정 기간의 누적 판매량 정보를 획득하는 단계와; 과거 일별 판매량 행렬을 초기화 하는 단계와; 파라미터 행렬을 갱신하는 단계와; 상기 과거 일별 판매량 행렬의 열과, 상기 파라미터 행렬의 행 번호가 동일한 원소를 곱하여 일별 판매량을 산출하는 단계를 포함하는, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.
The present invention relates to a method for generating a model for estimating daily sales volume from cumulative sales volume for a certain period in the past and predicting sales volume for a certain future period from the past daily sales volume.
The present invention comprises the steps of obtaining, by a sales volume estimating and predicting device, cumulative sales volume information for a certain period in the past; Initializing a sales matrix for each past day; updating the parameter matrix; A method of estimating past daily sales volume and generating a future sales volume prediction model, comprising calculating daily sales volume by multiplying a column of the past daily sales matrix by an element having the same row number of the parameter matrix.

Description

과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법 { METHOD FOR ESTIMATING PAST DAILY SALES AND GENERATING A MODEL OF PREDICTING FUTURE SALES }How to create past daily sales estimates and future sales forecast models { METHOD FOR ESTIMATING PAST DAILY SALES AND GENERATING A MODEL OF PREDICTING FUTURE SALES }

본 발명은 과거 일정 기간 동안 누적 판매량으로부터 일별 판매량을 추정하고, 과거 일별 판매량으로부터 미래 일정 기간 동안 판매량을 예측하는 모델을 생성하는 방법에 관한 것이다.The present invention relates to a method for generating a model for estimating daily sales volume from cumulative sales volume for a certain period in the past and predicting sales volume for a certain future period from the past daily sales volume.

최근의 오픈 마켓 플랫폼은 상품 입고부터 배송까지의 유통 과정을, 일련의 서비스로 판매자에게 제공하고 있다. 이에 따라 소상공인 등의 판매자는 상품의 유통 과정에 신경 쓰지 않고, 매출을 향상할 수 있는 영업 전략을 수립하는데 집중할 수 있게 되었다.Recent open market platforms provide sellers with a series of services that cover the distribution process from product warehousing to delivery. As a result, sellers such as small businesses can focus on establishing a sales strategy that can increase sales without worrying about the distribution process of the product.

오픈 마켓 플랫폼은 판매자가 오픈 마켓에서 판매할 상품을 선택하는데 도움을 주기 위하여, 판매자에게 여러 가지 정보를 제공할 수 있다. 예를 들어 상품 별로 과거 일정 기간 동안 누적 판매량 정보를 제공하여, 판매자가 해당 상품을 판매할 때 목표 매출액을 어느 정도 달성할 수 있는지 가늠하게 할 수 있다.The open market platform may provide a variety of information to the seller in order to assist the seller in selecting a product to be sold in the open market. For example, by providing cumulative sales volume information for a certain period in the past for each product, the seller can estimate how much target sales can be achieved when selling the corresponding product.

특허문헌1(대한민국 공개특허공보 제10-2020-0118966호)에 개시된 발명은, 일별 누적 판매량 정보를 이용하여 시계열 데이터 분석 모델의 파라미터를 추정한 후, 미래 누적 판매량의 평균과 표준 편차를 예측하고, 미래 누적 판매량의 최대 값을 산출하는 방법을 제공한다.In the invention disclosed in Patent Document 1 (Korean Laid-Open Patent Publication No. 10-2020-0118966), after estimating parameters of a time series data analysis model using daily cumulative sales volume information, predicting the average and standard deviation of future cumulative sales volume, , provides a method for calculating the maximum value of future cumulative sales volume.

특허문헌2(대한민국 공개특허공보 제10-2020-0122687호)에 개시된 발명은, 상품의 일별 판매량 정보를 이용하여 이산 확률 분포에 따른 예측 모델과 미래 일별 판매량을 산출하는 방법을 제공한다. 특허문헌2에서는 예측 모델의 파라미터 분포를, 베이지안 추론(Bayesian inference)을 통해 추정할 수 있다.The invention disclosed in Patent Document 2 (Korean Laid-Open Patent Publication No. 10-2020-0122687) provides a predictive model according to a discrete probability distribution and a method for calculating future daily sales volume using daily sales volume information of a product. In Patent Document 2, the parameter distribution of the predictive model can be estimated through Bayesian inference.

특허문헌3(대한민국 공개특허공보 제10-2020-0131549호)에 개시된 발명은, 상품의 일별 판매량 정보를 학습 데이터로 이용하여 예측 모델을 생성하는 방법을 제공한다. 특허문헌3에서는 학습 성능이 가장 좋은 하이퍼 파라미터(hyper parameter)의 값을, 예측 모델의 하이퍼 파라미터의 값으로 결정할 수 있다.The invention disclosed in Patent Document 3 (Korean Laid-Open Patent Publication No. 10-2020-0131549) provides a method for generating a predictive model using daily sales volume information of a product as learning data. In Patent Document 3, a hyperparameter value with the best learning performance can be determined as a hyperparameter value of a predictive model.

선행기술문헌은 상품의 과거 일별 판매량 정보를 직접 획득하여 미래의 판매량을 예측한다. 그리고 특헌문헌1은 과거 누적 판매량 정보를 획득하여 미래의 판매량만을 예측할 뿐이다. 따라서 선행기술문헌을 이용하더라도, 과거 일별 판매량 정보를 알 수 없는 문제점이 있다.The prior art literature predicts the future sales volume by directly obtaining past daily sales volume information of the product. In addition, Patent Document 1 obtains past cumulative sales volume information and predicts only future sales volume. Therefore, even if the prior art literature is used, there is a problem in that it is not possible to know the past daily sales volume information.

대한민국 공개특허공보 제10-2020-0118966호Republic of Korea Patent Publication No. 10-2020-0118966 대한민국 공개특허공보 제10-2020-0122687호Republic of Korea Patent Publication No. 10-2020-0122687 대한민국 공개특허공보 제10-2020-0131549호Republic of Korea Patent Publication No. 10-2020-0131549

본 발명의 목적은, 과거 일정 기간 동안 누적 판매량으로부터 일별 판매량을 추정하고, 과거 일별 판매량으로부터 미래 일정 기간 동안 판매량을 예측하는 모델을 생성하는 방법을 제공하는 것이다.An object of the present invention is to provide a method for generating a model for estimating daily sales volume from cumulative sales volume for a certain period in the past and predicting sales volume for a certain future period from the past daily sales volume.

상기와 같은 목적을 달성하기 위하여 본 발명은, 판매량 추정 및 예측 장치가, 상품의 과거 일정 기간의 누적 판매량 정보를 획득하는 단계와; 과거 일별 판매량 행렬을 초기화 하는 단계와; 파라미터 행렬을 갱신하는 단계와; 상기 과거 일별 판매량 행렬의 열과, 상기 파라미터 행렬의 행 번호가 동일한 원소를 곱하여 일별 판매량을 산출하는 단계를 포함하는, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.In order to achieve the above object, the present invention includes the steps of obtaining cumulative sales information of a product for a certain period in the past by a sales volume estimating and predicting device; Initializing a sales matrix for each past day; updating the parameter matrix; A method of estimating past daily sales volume and generating a future sales volume prediction model, comprising calculating daily sales volume by multiplying a column of the past daily sales matrix by an element having the same row number of the parameter matrix.

그리고, 상기 과거 일정 기간의 누적 판매량 정보는, 날짜마다, 연속하는 이전 n일 동안의 일별 판매량을 합산한 값을 포함하는, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.In addition, the cumulative sales volume information for a certain period in the past includes a value obtained by summing daily sales volumes for n consecutive previous n days for each date, and a method for estimating past daily sales volume and generating a future sales volume prediction model is provided.

그리고, 상기 과거 일별 판매량 행렬을 초기화 하는 단계는, 상기 과거 일별 판매량 행렬의 i번째 행에서, i번째 열부터 i+n-1번째 열까지의 원소의 값을, 정규 분포를 나타내는 확률 밀도 함수에서 무작위로 추출하여 설정하고, i번째 열부터 i+n-1번째 열이 아닌 나머지 열의 원소의 값을 0으로 설정하며, 상기 과거 일별 판매량 행렬의 i번째 행에서, 상기 확률 밀도 함수의 평균은 i번째 일까지의 누적 판매량을 n일로 나눈 값이고, 표준 편차는 2인, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.Further, the step of initializing the past daily sales volume matrix includes values of elements from the ith column to the i+n-1th column in the ith row of the past daily sales matrix, in a probability density function representing a normal distribution. It is randomly extracted and set, and the values of the elements of the remaining columns other than the ith column to the i+n-1th column are set to 0, and in the i-th row of the past daily sales matrix, the average of the probability density function is i It is the cumulative sales volume up to the th day divided by n days, and the standard deviation is 2. Provides a method for estimating past daily sales volume and generating a model for predicting future sales volume.

그리고, 상기 파라미터 행렬을 갱신하는 단계는, 수학식A에 따라 제 1 행렬(V)을 설정하는 단계와; 수학식B에 따라 제 2 행렬(U)을 설정하는 단계와; 상기 파라미터 행렬의 모든 원소의 값이 수렴할 때까지, 수학식C에 따라 상기 파라미터 행렬의 모든 원소와 상기 제 2 행렬을 반복하여 갱신하는 단계를 포함하는, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.The updating of the parameter matrix may include setting a first matrix (V) according to Equation A; setting a second matrix (U) according to Equation B; Generating a model for estimating past daily sales volume and predicting future sales volume, comprising the step of iteratively updating all elements of the parameter matrix and the second matrix according to Equation C until values of all elements of the parameter matrix converge provides a way

[수학식A][Equation A]

(는 상기 과거 일별 판매량 행렬 / 는 상기 과거 일별 판매량 행렬의 전치 행렬 / 는 상기 제 1 행렬)( is the past daily sales matrix / Is the transposed matrix of the sales matrix by past day / Is the first matrix)

[수학식B] [Equation B]

(는 과거 누적 판매량 행렬 / 는 상기 제 2 행렬)( is the past cumulative sales matrix / Is the second matrix)

[수학식C] [Equation C]

(, 는 각각, 상기 파라미터 행렬의 k번째 행의 원소를 t번, t+1번 반복하여 갱신한 값 / 는 상기 제 2 행렬의 k번째 행의 원소를 t번 반복하여 갱신한 값 / 는 상기 제 1 행렬의 k번째 행 및 k번째 열의 원소의 값 / , 는 각각, t번, t+1번 반복하여 갱신한 상기 제 2 행렬 / 는 상기 제 2 행렬에서 k번째 열의 벡터).( , is a value obtained by repeating the element of the k-th row of the parameter matrix t times and t+1 times, respectively, / is a value updated by repeating the element of the k-th row of the second matrix t times / Is the value of the element of the k-th row and k-th column of the first matrix / , is the second matrix / updated by repeating t times and t + 1 times, respectively Is a vector of the k-th column in the second matrix).

그리고, 상기 일별 판매량을 산출하는 단계 후에, 판매량 추정 및 예측 장치가, 수학식D에 따라 기준일 전 일별 판매량을 산출하는 단계를 더 포함하는, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.And, after the step of calculating the daily sales volume, the sales volume estimating and predicting device provides a method for generating a model for estimating past daily sales volume and predicting future sales volume, further comprising calculating the daily sales volume before the base date according to Equation D. .

[수학식D][Equation D]

(는 상기 기준일 전 일별 판매량 / 는 j-1번째 일까지 n일 동안의 누적 판매량 / 는 j번째 일까지 n일 동안의 누적 판매량 / 는 j번째 일의 일별 판매량).( is the daily sales volume prior to the base date above / is the cumulative sales volume for n days until the j-1 day / is cumulative sales for n days until the jth day / is the daily sales volume on the jth day).

그리고, 판매량 추정 및 예측 장치가, 일별 판매량 정보를 포함한 상품 별 판매량 예측 변수를 그래프 웨이브넷에 입력하는 (가) 단계와; 그래프 웨이브넷의 출력 값을 평균 절대 오차(MAE) 함수에 입력하고, 평균 절대 오차(MAE) 함수의 출력 값을 Adam 옵티마이저에 입력하여 학습률을 갱신하며, 갱신된 학습률에 따라 그래프 웨이브넷의 가중치와, 상품 사이의 연관성 정보를 추정하기 위한 인접 행렬을 나타낸 그래프에서 소스 노드 및 타겟 노드의 임베딩 벡터를 갱신하는 (나) 단계를 더 포함하고, 학습 종료 조건을 만족할 때까지 상기 (가) 단계와 상기 (나) 단계를 반복적으로 실행하는, 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법을 제공한다.(a) inputting, by the unit for estimating and predicting sales volume, sales volume forecasting variables for each product, including daily sales information, into the graph wavenet; The output value of the graph wavenet is input to the mean absolute error (MAE) function, the output value of the mean absolute error (MAE) function is input to the Adam optimizer to update the learning rate, and the weight of the graph wavenet is calculated according to the updated learning rate. and (b) updating the embedding vectors of the source node and the target node in the graph showing the adjacency matrix for estimating the association information between the products. Provided is a method of generating a model for estimating past daily sales volume and predicting future sales volume by repeatedly executing step (b).

본 발명은, 상품의 과거 일정 기간 동안 누적 판매량으로부터 일별 판매량을 추정하여, 판매자에게 제공할 수 있다. 그리고 과거 일별 판매량 정보를 학습 데이터로 이용하여 그래프 웨이브넷을 학습한 다음, 미래 일정 기간 동안 판매량을 예측하는 모델을 생성함으로써, 판매자가 상품의 미래 판매량을 예측하도록 할 수 있다.According to the present invention, the daily sales volume may be estimated from the cumulative sales volume for a predetermined period in the past and provided to the seller. In addition, by using past daily sales volume information as training data to learn Graph WaveNet, and then generating a model that predicts sales volume for a certain period in the future, the seller can predict the future sales volume of the product.

도 1은 본 발명의 일 실시 예를 실행하는 판매량 추정 및 예측 장치 및 이와 연결된 장치를 간략하게 나타낸 블록도이다.
도 2a는 본 발명의 일 실시 예에서, 상품의 과거 일별 판매량을 추정하는 과정을 단계 별로 나타낸 순서도이다.
도 2b는 본 발명의 일 실시 예에서, 과거 일정 기간 누적 판매량 정보를 개념적으로 나타낸 도면이다.
도 2c는 본 발명의 일 실시 예에서, 과거 누적 판매량 행렬, 과거 일별 판매량 행렬, 파라미터 행렬을 개념적으로 나타낸 도면이다.
도 2d는 본 발명의 일 실시 예에서, 파라미터 행렬(β)을 갱신하는 단계를 나타낸 순서도이다.
도 3a는 본 발명의 일 실시 예에서, 그래프 웨이브넷을 개념적으로 나타낸 도면이다.
도 3b는 본 발명의 일 실시 예에서, 상품의 미래 일정 기간 판매량을 예측하는 모델을 생성하는 과정을 단계 별로 나타낸 순서도이다.
1 is a schematic block diagram of an apparatus for estimating and predicting sales volume and an apparatus connected thereto, which implements an embodiment of the present invention.
2A is a flowchart illustrating a step-by-step process of estimating past daily sales volume of a product according to an embodiment of the present invention.
2B is a diagram conceptually illustrating cumulative sales volume information for a certain period in the past according to an embodiment of the present invention.
2C is a diagram conceptually illustrating a past cumulative sales matrix, a past daily sales matrix, and a parameter matrix according to an embodiment of the present invention.
Figure 2d is a flow chart showing the step of updating the parameter matrix (β) in one embodiment of the present invention.
3A is a diagram conceptually illustrating a graph wavenet according to an embodiment of the present invention.
Figure 3b is a flow chart showing a step-by-step process of generating a model for predicting future sales volume of a product for a certain period in the future according to an embodiment of the present invention.

본 발명은 취지를 벗어나지 않는 한도에서 다양하게 변경하여 실시할 수 있고, 하나 이상의 실시 예를 가질 수 있다. 그리고 본 발명에서 “발명을 실시하기 위한 구체적인 내용” 및 “도면” 등에 기재한 실시 예는, 본 발명을 구체적으로 설명하기 위한 예시이며, 본 발명의 권리 범위를 제한하거나 한정하는 것은 아니다.The present invention can be variously modified and practiced without departing from the gist, and may have one or more embodiments. In addition, the embodiments described in the "specific contents for carrying out the invention" and "drawings" in the present invention are examples for specifically explaining the present invention, and do not limit or limit the scope of the present invention.

따라서, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자가, 본 발명의 “발명을 실시하기 위한 구체적인 내용” 및 “도면” 등으로부터 용이하게 유추할 수 있는 것은, 본 발명의 범위에 속하는 것으로 해석할 수 있다.Therefore, what can be easily inferred from the “specific details for carrying out the invention” and “drawings” of the present invention by those skilled in the art to which the present invention belongs is construed as belonging to the scope of the present invention. can do.

또한, 도면에 표시한 각 구성 요소들의 크기와 형태는, 실시 예의 설명을 위해 과장되어 표현한 것 일 수 있으며, 실제로 실시되는 발명의 크기와 형태를 한정하는 것은 아니다.In addition, the size and shape of each component shown in the drawings may be exaggerated for description of the embodiment, and does not limit the size and shape of the actual invention.

본 발명의 명세서에서 사용되는 용어를 특별히 정의하지 않는 이상, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 것과 동일한 의미를 가질 수 있다.Terms used in the specification of the present invention may have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs unless specifically defined.

이하, 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일 실시 예를 실행하는 판매량 추정 및 예측 장치 및 이와 연결된 장치를 간략하게 나타낸 블록도이다.1 is a schematic block diagram of an apparatus for estimating and predicting sales volume and an apparatus connected thereto, which implements an embodiment of the present invention.

판매량 추정 및 예측 장치(100)는, 오픈 마켓 서버 컴퓨터(200)와 연결될 수 있다. 판매량 추정 및 예측 장치(100)와 오픈 마켓 서버 컴퓨터(200)를 별개의 구성으로 표시하였지만, 판매량 추정 및 예측 장치(100)는 오픈 마켓 서버 컴퓨터(200)에 포함된 하나의 구성일 수 있다. 오픈 마켓 서버 컴퓨터(200)는, 상품 정보와, 판매자 정보, 소비자 정보를 저장하고, 판매자 및 소비자가 사용하는 단말 장치로 전자 상거래 서비스를 제공하는 장치일 수 있다.The unit for estimating and predicting sales volume 100 may be connected to the open market server computer 200 . Although the unit for estimating and predicting sales volume 100 and the open market server computer 200 are shown as separate components, the unit for estimating and predicting sales volume 100 may be one component included in the open market server computer 200. The open market server computer 200 may be a device that stores product information, seller information, and consumer information, and provides electronic commerce services to terminal devices used by sellers and consumers.

판매량 추정 및 예측 장치(100)는 판매자 단말 장치(300)와 연결될 수 있다. 판매자 단말 장치(300)는, 개인용 컴퓨터, 랩탑 컴퓨터, 스마트 폰, 태블릿 컴퓨터 중 어느 하나일 수 있다. 판매자는 판매자 단말 장치(300)를 사용하여 오픈 마켓 서버 컴퓨터(200)와 통신하면서, 상품 정보를 등록하고, 판매 정보 등을 확인할 수 있다.The unit for estimating and predicting sales volume 100 may be connected to the seller terminal device 300 . The seller terminal device 300 may be any one of a personal computer, a laptop computer, a smart phone, and a tablet computer. While communicating with the open market server computer 200 using the seller terminal device 300, the seller may register product information and check sales information.

판매량 추정 및 예측 장치(100)는, 중앙 처리 장치(110)와, 기억 장치(120)와, 입출력 장치(130)와, 버스(140)를 포함할 수 있다.The unit for estimating and predicting sales volume 100 may include a central processing unit 110 , a memory unit 120 , an input/output unit 130 , and a bus 140 .

본 발명의 일 실시 예에 따른 과거 일별 판매량 추정 및 미래 판매량 예측 방법은, 판매량 추정 및 예측 장치(100)가 판독 가능한 복수의 명령어 집합인, 컴퓨터 프로그램으로 구현되어 기록 매체에 저장될 수 있다.The method for estimating past daily sales volume and predicting future sales volume according to an embodiment of the present invention may be implemented as a computer program, which is a plurality of command sets readable by the apparatus 100 for estimating and predicting sales volume, and stored in a recording medium.

중앙 처리 장치(110)는 컴퓨터 프로그램의 명령어를, 순서대로 또는 분기 및 반복 조건에 따라 실행할 수 있다.The central processing unit 110 may execute commands of a computer program in sequence or according to branch and repeat conditions.

기억 장치(120)는 보조 기억 장치(121)와 주 기억 장치(122)를 포함할 수 있다. 보조 기억 장치(121)는, 컴퓨터 프로그램을 반영구적으로 저장할 수 있다. 보조 기억 장치(121)는, 하드 디스크 드라이브(Hard Disk Drive), 광학 디스크 드라이브(Optical Disc Drive), 자기 테이프(Magnetic Tape), 플로피 디스크(Floppy Disk), 메모리 카드(Memory Card), SSD(Solid State Drive) 중 하나 이상을 포함할 수 있다. 주 기억 장치(122)는, 보조 기억 장치(121)로부터 컴퓨터 프로그램을 로드(load)하여, 중앙 처리 장치(110)에서 판독하게 할 수 있다. 주기억장치(122)는 RAM(Random Access Memory) 일 수 있다.The memory device 120 may include an auxiliary memory device 121 and a main memory device 122 . The auxiliary storage device 121 may semi-permanently store a computer program. The secondary storage device 121 includes a hard disk drive, an optical disk drive, a magnetic tape, a floppy disk, a memory card, and a solid SSD (SSD). State Drive) may include one or more. The main storage device 122 may load a computer program from the auxiliary storage device 121 and read it in the central processing unit 110 . The main memory device 122 may be RAM (Random Access Memory).

입출력 장치(130)는, 오픈 마켓 서버 컴퓨터(200) 또는 판매자 단말 장치(300)로 이진 데이터를 송신하거나, 이들로부터 이진 데이터를 수신할 수 있다. 입출력 장치(130)는 외부 입출력 단자(I/O port)를 포함할 수 있다. 외부 입출력 단자(I/O port)는, 직렬 포트(serial port), 병렬 포트(parallel port), SCSI(Small Computer System Interface), USB(Universal Serial Bus), IEEE 1394, e-SATA(external Serial Advanced Technology Attachment), 썬더볼트(thunderbolt) 중 하나 이상을 포함할 수 있다. 입출력 장치(130)는 네트워크 인터페이스 컨트롤러(Network Interface Controller, NIC)를 포함할 수 있다. 네트워크 인터페이스 컨트롤러(NIC)는, 유선 방식으로 이더넷(ethernet)에 기반한 근거리 통신망(Local Area Network, LAN)에 연결되거나, 무선 방식으로 Wi-Fi에 기반한 무선 근거리 통신망(Wireless Local Area Network, WLAN)에 연결될 수 있다.The input/output device 130 may transmit binary data to or receive binary data from the open market server computer 200 or the seller terminal device 300 . The input/output device 130 may include an external input/output terminal (I/O port). External I/O ports include serial port, parallel port, SCSI (Small Computer System Interface), USB (Universal Serial Bus), IEEE 1394, e-SATA (external Serial Advanced Technology Attachment) and Thunderbolt. The input/output device 130 may include a network interface controller (NIC). A network interface controller (NIC) is connected to a Local Area Network (LAN) based on Ethernet in a wired manner or to a Wireless Local Area Network (WLAN) based on Wi-Fi in a wireless manner. can be connected

버스(140)는, 중앙 처리 장치(110)와, 기억 장치(120)와, 입출력 장치(130) 사이를 연결할 수 있다. 버스(140)에 연결된 구성은, 버스(140)를 통해 이진 데이터를 송신하거나 수신할 수 있다.The bus 140 may connect the central processing unit 110 , the memory device 120 , and the input/output device 130 . Components coupled to bus 140 may transmit or receive binary data over bus 140 .

본 발명의 일 실시 예에 따른 과거 일별 판매량 추정 및 미래 판매량 예측 방법은, 상품의 과거 일별 판매량을 추정하는 과정과, 상품의 미래 일정 기간 판매량을 예측하는 모델을 생성하는 과정을 포함할 수 있다.A method of estimating past daily sales volume and predicting future sales volume according to an embodiment of the present invention may include estimating past daily sales volume of a product and generating a model predicting future sales volume of a product for a certain period in the future.

도 2a는 본 발명의 일 실시 예에서, 상품의 과거 일별 판매량을 추정하는 과정을 단계 별로 나타낸 순서도이다. 도 2b는 본 발명의 일 실시 예에서, 과거 일정 기간 누적 판매량 정보를 개념적으로 나타낸 도면이다. 도 2c는 본 발명의 일 실시 예에서, 과거 누적 판매량 행렬, 과거 일별 판매량 행렬, 파라미터 행렬을 개념적으로 나타낸 도면이다. 도 2d는 본 발명의 일 실시 예에서, 파라미터 행렬(β)을 갱신하는 단계를 나타낸 순서도이다.2A is a flowchart illustrating a step-by-step process of estimating past daily sales volume of a product according to an embodiment of the present invention. 2B is a diagram conceptually illustrating cumulative sales volume information for a certain period in the past according to an embodiment of the present invention. 2C is a diagram conceptually illustrating a past cumulative sales matrix, a past daily sales matrix, and a parameter matrix according to an embodiment of the present invention. Figure 2d is a flow chart showing the step of updating the parameter matrix (β) in one embodiment of the present invention.

상품의 과거 일별 판매량을 추정하는 과정에서 제 1 단계(S110)는, 판매량 추정 및 예측 장치(도 1의 100)가 상품의 과거 일정 기간의 누적 판매량 정보를 획득하는 단계이다.A first step (S110) in the process of estimating the past daily sales volume of a product is a step in which the sales volume estimating and predicting device ( 100 in FIG. 1 ) acquires cumulative sales volume information for a certain period in the past.

판매량 추정 및 예측 장치(도 1의 100)는 오픈 마켓 서버 컴퓨터(200)에, 과거 누적 판매량 요청 메시지를 송신할 수 있다. 과거 누적 판매량 요청 메시지는, 상품을 식별하는 정보와 날짜 목록 정보를 포함한 이진 데이터일 수 있다.The unit for estimating and predicting sales volume ( 100 in FIG. 1 ) may transmit a past cumulative sales volume request message to the open market server computer 200 . The past cumulative sales volume request message may be binary data including product identification information and date list information.

오픈 마켓 서버 컴퓨터(200)는 판매량 추정 및 예측 장치(도 1의 100)에, 과거 누적 판매량 데이터를 송신할 수 있다. 과거 누적 판매량 데이터는 상품 식별 정보에 해당하는 상품에 대하여, 날짜 목록 정보에 포함된 각각의 날짜까지 과거 일정 기간 동안의 누적 판매량 정보를 하나 이상 포함한 이진 데이터일 수 있다. 과거 일정 기간 동안의 누적 판매량은 다음 수학식1과 같이, j-n+1번째 일부터 j번째 일까지 n일 동안의 판매량을 합산한 식으로 나타낼 수 있다.The open market server computer 200 may transmit past cumulative sales data to the unit for estimating and predicting sales volume ( 100 in FIG. 1 ). The past cumulative sales volume data may be binary data including at least one piece of cumulative sales volume information for a certain period in the past up to each date included in the date list information for the product corresponding to the product identification information. The cumulative sales volume for a certain period in the past can be expressed as the sum of the sales volume for n days from the j−n+1 th day to the j th day, as shown in Equation 1 below.

수학식1에서 xi는 i번째 일의 일별 판매량을 나타내며, 상품의 과거 일별 판매량을 추정하는 과정에서 산출해야 하는 값이다. Nj는 j번째 일을 포함하여 이전 n일 동안의 누적 판매량을 나타낸다. 즉, 도 2b에 도시한 것과 같이 과거 일정 기간 누적 판매량 정보는, 날짜 목록 정보에 포함된 각각의 날짜마다, 연속하는 이전 n일 동안의 일별 판매량을 합산한 값을 포함할 수 있다.In Equation 1, x i represents the daily sales volume on the ith day, and is a value to be calculated in the process of estimating the past daily sales volume of a product. N j represents the cumulative sales for the previous n days, including the j-th day. That is, as shown in FIG. 2B , cumulative sales volume information for a certain period in the past may include a sum of daily sales volumes for the previous n consecutive days for each date included in the date list information.

과거 누적 판매량 데이터는 날짜 목록 정보에 포함된 각각의 날짜마다, 연속하는 이전 n일 동안의 누적 판매량 정보를 포함할 수 있다. n일은 예를 들어 180일 또는 6개월 동안의 날짜 개수일 수 있고, 날짜 목록 정보에 포함된 날짜 개수는 d개일 수 있다.The past cumulative sales data may include cumulative sales information for n consecutive previous n days for each date included in the date list information. Day n may be, for example, 180 days or the number of days for 6 months, and the number of days included in the date list information may be d.

제 2 단계(S120)는, 판매량 추정 및 예측 장치(도 1의 100)가 과거 일별 판매량 행렬을 초기화 하는 단계이다.The second step ( S120 ) is a step in which the unit for estimating and predicting sales volume ( 100 in FIG. 1 ) initializes a sales matrix for each past day.

도 2c에 도시한 것과 같이 과거 누적 판매량 행렬(Y)은, d개의 행과 1개의 열을 가질 수 있다. 행렬(Y)의 원소(Ni)는 각각, i-n+1번째 일부터 i번째 일까지 n일 동안의 누적 판매량인 Ni를 나타낼 수 있다.As shown in FIG. 2C , the past cumulative sales amount matrix Y may have d rows and 1 column. Each element N i of the matrix Y may represent N i , which is a cumulative sales volume for n days from the i−n+1 th day to the i th day.

과거 일별 판매량 행렬(X)은, d개의 행과, n+d-1개의 열을 가질 수 있다. 행렬(X)의 원소(xi,j)는 각각 일별 판매량을 나타낼 수 있고, 상품의 과거 일별 판매량을 추정하는 과정에서 산출해야 하는 값이다.The past daily sales matrix X may have d rows and n+d-1 columns. Each element (x i,j ) of the matrix (X) may represent the daily sales volume, and is a value to be calculated in the process of estimating the past daily sales volume of the product.

파라미터 행렬(β)은, d개의 행과 1개의 열을 가질 수 있다. 행렬(β)의 원소(βi)는 각각 일별 판매량을 산출할 때 이용하는 가중치일 수 있다. 판매량 추정 및 예측 장치(도 1의 100)는, 다음 수학식2에서 최소값을 구할 때까지 파라미터 행렬(β)을 갱신할 수 있다The parameter matrix β may have d rows and 1 column. Each element β i of the matrix β may be a weight used when calculating daily sales volume. The unit for estimating and predicting sales volume (100 in FIG. 1 ) may update the parameter matrix β until a minimum value is obtained in Equation 2 below.

판매량 추정 및 예측 장치(도 1의 100)는, 과거 일별 판매량 행렬(X)의 i번째 행에서, i번째 열부터 i+n-1번째 열까지의 원소의 값을, 정규 분포를 나타내는 확률 밀도 함수에서 무작위로 추출(sampling)하여 초기화 할 수 있다. 확률 밀도 함수에서 평균은 일별 평균 판매량으로 Ni를 n일로 나눈 Ni/n일 수 있고, 표준 편차는 2일 수 있다. 즉, 과거 일별 판매량 행렬(X)의 i번째 행에서 확률 밀도 함수의 평균은, i번째 일까지의 누적 판매량을 n일로 나눈 값일 수 있다. 그리고 행렬(X)의 i번째 행에서, i번째 열부터 i+n-1번째 열이 아닌 나머지 열의 원소의 값을 0으로 초기화 할 수 있다.The sales volume estimating and predicting device (100 in FIG. 1 ), in the ith row of the past daily sales matrix X, the value of the element from the ith column to the i+n-1th column, is a probability density representing a normal distribution. It can be initialized by random sampling in the function. In the probability density function, the mean may be N i /n divided by n days N i as the average sales per day, and the standard deviation may be 2. That is, the average of the probability density function in the i-th row of the past-day sales matrix X may be a value obtained by dividing cumulative sales up to the i-th day by n days. In addition, in the ith row of the matrix X, the values of the elements of the remaining columns other than the ith column to the i+n-1th column may be initialized to 0.

제 3 단계(S130)는, 판매량 추정 및 예측 장치(도 1의 100)가 파라미터 행렬(β)을 갱신하는 단계이다.The third step ( S130 ) is a step in which the sales volume estimating and predicting device ( 100 in FIG. 1 ) updates the parameter matrix β.

다음 수학식3과 같이 판매량 추정 및 예측 장치(도 1의 100)는, 과거 일별 판매량 행렬(X)의 전치 행렬(XT)과 과거 일별 판매량 행렬(X)을 곱하여, 제 1 행렬(V)을 설정할 수 있다. (S131)As shown in Equation 3 below, the sales volume estimating and predicting device (100 in FIG. 1 ) multiplies the transposition matrix (X T ) of the past daily sales matrix (X) by the past daily sales matrix (X) to obtain a first matrix (V) can be set. (S131)

그 다음 판매량 추정 및 예측 장치(도 1의 100)는, 파라미터 행렬(β)의 모든 원소(βi)의 값을 0으로 초기화 할 수 있다. 그리고 다음 수학식4와 같이 판매량 추정 및 예측 장치(도 1의 100)는, 원소마다 -1을 곱한 과거 일별 판매량 행렬(X)의 전치 행렬(-XT)과 과거 누적 판매량 행렬(Y)을 곱하여, 제 2 행렬(U)을 설정할 수 있다. (S132)Then, the unit for estimating and predicting sales volume ( 100 in FIG. 1 ) may initialize the values of all elements β i of the parameter matrix β to 0. And, as shown in Equation 4 below, the sales volume estimating and predicting device (100 in FIG. 1) calculates the transposed matrix (-X T ) of the past daily sales matrix (X) multiplied by -1 for each element and the past cumulative sales matrix (Y). By multiplying, a second matrix U may be set. (S132)

그 다음 판매량 추정 및 예측 장치(도 1의 100)는, 파라미터 행렬(β)의 모든 원소(βi)의 값이 수렴할 때까지, 다음 수학식5에 따라 파라미터 행렬(β)의 모든 원소(βi)와 제 2 행렬(U)을 반복하여 갱신할 수 있다. (S133)Then, the unit for estimating and predicting sales volume (100 in FIG. 1 ), until the values of all elements (β i ) of the parameter matrix (β) converge, according to the following Equation 5, all elements of the parameter matrix (β) ( β i ) and the second matrix U may be repeatedly updated. (S133)

수학식5에서 , 는 각각, 파라미터 행렬(β)의 k번째 행의 원소(βk)를 t번, t+1번 반복하여 갱신한 값을 나타낸다. 는 제 2 행렬(U)의 k번째 행의 원소(Uk)를 t번 반복하여 갱신한 값을 나타낸다. 는 제 1 행렬(V)의 k번째 행 및 k번째 열의 원소의 값을 나타낸다. , 는 각각, t번, t+1번 반복하여 갱신한 제 2 행렬(U)을 나타낸다. 는 제 2 행렬(V)에서 k번째 열의 벡터를 나타낸다.in Equation 5 , represents a value obtained by repeating the element (β k ) of the k-th row of the parameter matrix (β) t times and t+1 times, respectively. represents a value updated by repeating the element U k of the k-th row of the second matrix U t times. represents the value of the element of the k-th row and k-th column of the first matrix (V). , denotes a second matrix U updated by repeating t times and t+1 times, respectively. represents a vector of the k-th column in the second matrix (V).

제 4 단계(S140)는, 판매량 추정 및 예측 장치(도 1의 100)가 일별 판매량을 산출하는 단계이다.A fourth step ( S140 ) is a step in which the unit for estimating and predicting sales volume ( 100 in FIG. 1 ) calculates the daily sales volume.

판매량 추정 및 예측 장치(도 1의 100)는, 과거 일별 판매량 행렬(X)과 파라미터 행렬(β)에서 서로 대응하는 원소를 곱할 수 있다. 예를 들어 과거 일별 판매량 행렬(X)에서 i번째 행 및 j번째 열에 위치한 원소(xi,j)를, 파라미터 행렬(β)에서 j번째 행의 원소(βj)와 곱하여, 이를 j번째 일의 일별 판매량(βj·xi,j)으로 산출할 수 있다. 즉, 과거 일별 판매량 행렬(X)의 열과, 파라미터 행렬(β)의 행 번호가 동일한 원소를 곱하여, 일별 판매량을 산출할 수 있다. 그리고 서로 대응하는 원소를 곱한 값으로, 과거 일별 판매량 행렬(X)을 갱신할 수 있다The unit for estimating and predicting sales volume ( 100 in FIG. 1 ) may multiply the past daily sales volume matrix X by elements corresponding to each other in the parameter matrix β. For example, by multiplying the element (x i,j ) located in the i-th row and j-th column of the past-day sales matrix (X) by the element (β j ) in the j-th row of the parameter matrix (β), it is obtained on the j-th day It can be calculated as the daily sales volume of (β j x i,j ). That is, the daily sales volume may be calculated by multiplying a column of the past daily sales matrix X by an element having the same row number of the parameter matrix β. Then, with values multiplied by elements corresponding to each other, the past daily sales matrix (X) can be updated.

제 5 단계(S150)는, 판매량 추정 및 예측 장치(도 1의 100)가 기준일 전 일별 판매량을 산출하는 단계이다.A fifth step ( S150 ) is a step in which the unit for estimating and predicting sales volume ( 100 in FIG. 1 ) calculates the sales volume for each day before the reference date.

오픈 마켓 서버 컴퓨터(200)로부터 획득한 누적 판매량과, 제 4 단계(S140)에서 산출한 일별 판매량을 이용하여, 제 4 단계(S104)에서 산출할 수 없었던 기준일 전 일별 판매량을 산출할 수 있다.Using the cumulative sales volume obtained from the open market server computer 200 and the daily sales volume calculated in the fourth step (S140), the daily sales volume before the reference date, which could not be calculated in the fourth step (S104), can be calculated.

판매량 추정 및 예측 장치(도 1의 100)는, 기준일인 j-n+1번째 일부터 j번째 일까지 n일 동안의 누적 판매량인 Nj와, j-n번째 일부터 j-1번째 일까지 n일 동안의 누적 판매량인 Nj-1와, j번째 일의 일별 판매량을 다음 수학식6에 입력하여, 기준일 전인 j-n번째 일의 일별 판매량을 산출할 수 있다.The unit for estimating and predicting sales volume (100 in FIG. 1 ) includes N j , the cumulative sales volume for n days from the j−n+1 th day to the j th day, which is the reference date, and the n days from the jn th day to the j−1 th day. The daily sales volume on the jn-th day before the reference date can be calculated by entering N j-1 , which is the cumulative sales volume during the period, and the daily sales volume on the j-th day in Equation 6 below.

도 3a는 본 발명의 일 실시 예에서, 그래프 웨이브넷을 개념적으로 나타낸 도면이다.3A is a diagram conceptually illustrating a graph wavenet according to an embodiment of the present invention.

상품의 미래 판매량을 예측하는 과정에서는, 상품 별 판매량 예측 변수와 상품 사이의 연관성 정보를 추정하기 위한 인접 행렬을 학습 데이터로 그래프 웨이브넷(Graph WaveNet)에 입력하여, 모델을 학습할 수 있다. 상품 별 판매량 예측 변수는, 상품의 과거 일별 판매량을 추정 과정에서 산출한 일별 판매량 정보를 포함할 수 있다. 상품 사이의 연관성 정보를 추정하기 위한 인접 행렬은, 모델을 학습하는 과정에서 갱신될 수 있다.In the process of predicting future sales volume of a product, an adjacency matrix for estimating correlation information between sales volume predictors for each product and product may be input to Graph WaveNet as training data to learn the model. The sales volume prediction variable for each product may include information on daily sales volume calculated in the process of estimating the past daily sales volume of the product. An adjacency matrix for estimating correlation information between products may be updated in the process of learning a model.

본 발명의 일 실시 예에서 그래프 웨이브넷(G100)은 복수의 시공간 계층(spatial-temporal layers, G110)을 포함할 수 있다. 각각의 시공간 계층은, 게이트화 된 시간 컨볼루션 신경망(gated temporal convolution network, gated TCN, G111)과, 그래프 컨볼루션 신경망(graph convolution network, GCN, G112)을 포함할 수 있다.In an embodiment of the present invention, the graph wavenet G100 may include a plurality of spatial-temporal layers (G110). Each space-time layer may include a gated temporal convolution network (Gated TCN, G111) and a graph convolution network (GCN, G112).

게이트화 된 시간 컨볼루션 신경망(G111)은 2개의 시간 컨볼루션 신경망(TCN1, TCN2)을 포함할 수 있다. 각각의 시간 컨볼루션 신경망(TCN1, TCN2)에서는, 확장된 컨볼루션 필터(dilated convolution filter)를 이용하여 컨볼루션 연산을 실행할 수 있다. 확장된 컨볼루션 필터는 제로 패딩(zero padding)의 개수를 조절하여, 계산량을 줄이면서 수용 영역(receptive field)의 크기를 확장할 수 있다. 각각의 시간 컨볼루션 신경망(TCN1, TCN2)은 가중치 정보를 포함할 수 있다.The gated temporal convolution neural network G111 may include two temporal convolution neural networks TCN1 and TCN2. In each of the temporal convolution neural networks TCN1 and TCN2, a convolution operation may be performed using a dilated convolution filter. The extended convolution filter can expand the size of a receptive field while reducing the amount of calculation by adjusting the number of zero padding. Each of the temporal convolutional neural networks TCN1 and TCN2 may include weight information.

제 1 시간 컨볼루션 신경망(TCN1)에 상품 별 판매량 예측 변수를 입력한 후, 출력한 행렬에 하이퍼볼릭 탄젠트 함수(tanh)를 적용할 수 있다. 제 2 시간 컨볼루션 신경망(TCN2)에 상품 별 판매량 예측 변수를 입력한 후, 출력한 행렬에 시그모이드 함수(sigmoid, σ)를 적용할 수 있다. 각각의 함수를 적용한 행렬 사이에서, 아다마르 곱(Hadamard product, element-wise product)을 실행한 후, 그 결과를 그래프 컨볼루션 신경망(G112)으로 전달할 수 있다.After inputting the sales volume predictor for each product into the first temporal convolution neural network (TCN1), a hyperbolic tangent function (tanh) may be applied to the output matrix. After inputting the sales volume predictor for each product into the second temporal convolutional neural network (TCN2), a sigmoid function (sigmoid, σ) may be applied to the output matrix. After executing Hadamard product (element-wise product) between matrices to which each function is applied, the result may be transmitted to the graph convolution neural network G112.

그래프 컨볼루션 신경망(G112)은, 게이트화 된 시간 컨볼루션 신경망(G111)의 출력을 속성 행렬로 입력 받은 다음, 컨볼루션 연산을 실행할 수 있다. 그래프 컨볼루션 신경망(G112)은 가중치 정보를 포함할 수 있다.The graph convolution neural network G112 may receive an output of the gated temporal convolution neural network G111 as an attribute matrix, and then perform a convolution operation. The graph convolutional neural network G112 may include weight information.

복수의 시공간 계층(G110)이 출력한 행렬은 선형 계층(linear layer)과 ReLU 계층을 거쳐 그래프 웨이브넷(G100)의 외부로 출력할 수 있다.The matrices output from the plurality of space-time layers G110 may be output to the outside of the graph wavenet G100 through a linear layer and a ReLU layer.

도 3b는 본 발명의 일 실시 예에서, 상품의 미래 일정 기간 판매량을 예측하는 모델을 생성하는 과정을 단계 별로 나타낸 순서도이다.Figure 3b is a flow chart showing a step-by-step process of generating a model for predicting future sales volume of a product for a certain period in the future according to an embodiment of the present invention.

상품의 미래 일정 기간 판매량을 예측하는 모델을 생성하는 과정의 제 1 단계(S210)는, 판매량 추정 및 예측 장치(도 1의 100)가 그래프 웨이브넷(도 3a의 G100)에 상품 별 판매량 예측 변수를 입력하는 단계이다.In the first step (S210) of the process of generating a model for predicting the sales volume of a product for a certain period in the future, the sales volume estimation and prediction device (100 in FIG. This is the step of entering

제 2 단계(S220)는, 판매량 추정 및 예측 장치(도 1의 100)가 게이트화 된 시간 컨볼루션 신경망(도 3a의 G111)에서 결과를 산출하는 단계이다.The second step (S220) is a step in which the unit for estimating and predicting sales volume (100 in FIG. 1) calculates a result from the gated temporal convolution neural network (G111 in FIG. 3A).

판매량 추정 및 예측 장치(도 1의 100)는, 상품 별 판매량 예측 변수에 선형 함수를 적용한 후, 제 1 시간 컨볼루션 신경망(도 3a의 TCN1) 및 제 2 시간 컨볼루션 신경망(도 3a의 TCN2)에 입력할 수 있다. 판매량 추정 및 예측 장치(도 1의 100)는 상품 별 판매량 예측 변수에 확장된 컨볼루션 필터를 적용하여, 컨볼루션 연산을 실행할 수 있다.The unit for estimating and predicting sales volume (100 in FIG. 1 ) applies a linear function to the predictor of sales volume for each product, and then generates a first temporal convolutional neural network (TCN1 in FIG. 3A ) and a second temporal convolutional neural network (TCN2 in FIG. 3A ). can be entered in The unit for estimating and predicting sales volume ( 100 in FIG. 1 ) may perform a convolution operation by applying an extended convolution filter to predictors of sales volume for each product.

판매량 추정 및 예측 장치(도 1의 100)는, 제 1 시간 컨볼루션 신경망(도 3a의 TCN1)에서 출력한 행렬에 하이퍼볼릭 탄젠트 함수(tanh)를 적용할 수 있고, 제 2 시간 컨볼루션 신경망(도 3a의 TCN2)에서 출력한 행렬에 시그모이드 함수(sigmoid, σ)를 적용할 수 있다. 판매량 추정 및 예측 장치(도 1의 100)는 다음 수학식7과 같이, 각각의 함수를 적용한 행렬 사이에서 아다마르 곱을 산출할 수 있다.The unit for estimating and predicting sales volume (100 in FIG. 1 ) may apply a hyperbolic tangent function (tanh) to the matrix output from the first temporal convolution neural network (TCN1 in FIG. 3A), and the second temporal convolution neural network ( A sigmoid function (sigmoid, σ) may be applied to the matrix output from TCN2 in FIG. 3A. The unit for estimating and predicting sales volume (100 in FIG. 1 ) may calculate a Hadamard product between matrices to which each function is applied, as shown in Equation 7 below.

수학식7에서 는 각각, 제 1 및 제 2 시간 컨볼루션 신경망(도 3a의 TCN1, TCN2)의 가중치를 나타낸다. 은 상품 별 판매량 예측 변수를 나타낸다.in Equation 7 and denotes weights of the first and second temporal convolutional neural networks (TCN1 and TCN2 in FIG. 3A), respectively. represents the sales volume predictor for each product.

제 3 단계(S230)는, 판매량 추정 및 예측 장치(도 1의 100)가 그래프 컨볼루션 신경망(도 3a의 G112)에서 결과를 산출하는 단계이다.The third step (S230) is a step in which the unit for estimating and predicting sales volume (100 in FIG. 1) calculates a result from the graph convolutional neural network (G112 in FIG. 3A).

판매량 추정 및 예측 장치(도 1의 100)는 다음 수학식8과 같이, 컨볼루션 연산을 실행할 수 있다.The unit for estimating and predicting sales volume (100 in FIG. 1 ) may perform a convolution operation as shown in Equation 8 below.

수학식8에서 , 는 상품 사이의 연관성 정보를 추정하기 위한 인접 행렬을 나타낸 그래프에서 소스 노드의 임베딩(embedding) 벡터와 타겟 노드의 임베딩 벡터를 나타낸다. 소스 노드 및 타겟 노드의 임베딩 벡터는 모델을 학습하는 과정에서 갱신될 수 있다. 는 그래프 컨볼루션 신경망(도 3a의 G112)의 가중치를 나타낸다. 은 게이트화 된 시간 컨볼루션 신경망(도 3a의 G111)에서 출력한 행렬을 나타낸다.in Equation 8 , represents an embedding vector of a source node and an embedding vector of a target node in a graph showing an adjacency matrix for estimating correlation information between products. Embedding vectors of the source node and the target node may be updated during model learning. represents the weight of the graph convolutional neural network (G112 in FIG. 3A). represents a matrix output from the gated temporal convolution neural network (G111 in FIG. 3A).

제 4 단계(S240)는, 판매량 추정 및 예측 장치(도 1의 100)가 파라미터를 갱신하는 단계이다.A fourth step (S240) is a step in which the sales volume estimating and predicting device (100 in FIG. 1) updates parameters.

판매량 추정 및 예측 장치(도 1의 100)는 각각의 시공간 계층(도 3a의 G110)마다, 그래프 컨볼루션 신경망(도 3a의 G112)에서 출력한 행렬()에, 선형 함수를 적용한 상품 별 판매량 예측 변수를 더하여 출력할 수 있다.The sales volume estimating and predicting device (100 in FIG. 1 ) is a matrix ( ), and the sales volume predictor variable for each product to which the linear function is applied can be output.

판매량 추정 및 예측 장치(도 1의 100)는 시공간 계층(도 3a의 G110)에서 출력된 행렬을 합산한 다음, ReLU 함수, 선형 함수, ReLU 함수, 선형 함수를 순서대로 적용하여 출력(output)할 수 있다.The unit for estimating and predicting sales volume (100 in FIG. 1) sums the matrices output from the space-time layer (G110 in FIG. 3A), and then applies the ReLU function, the linear function, the ReLU function, and the linear function in order to output the result. can

판매량 추정 및 예측 장치(도 1의 100)는 그래프 웨이브넷(도 3a의 G100)의 출력 값(output)을, 평균 절대 오차(mean absolute error, MAE) 함수에 입력할 수 있다. 판매량 추정 및 예측 장치(도 1의 100)는 평균 절대 오차(MAE) 함수의 출력 값을, Adam 옵티마이저에 입력하여 학습률을 갱신할 수 있고, 갱신된 학습률에 따라 제 1 및 제 2 시간 컨볼루션 신경망(도 3a의 TCN1, TCN2)과, 그래프 컨볼루션 신경망(도 3a의 G112)의 가중치와, 상품 사이의 연관성 정보를 추정하기 위한 인접 행렬을 나타낸 그래프에서 소스 노드 및 타겟 노드의 임베딩 벡터를 갱신할 수 있다.The unit for estimating and predicting sales volume (100 in FIG. 1 ) may input the output of the graph WaveNet (G100 in FIG. 3A ) to a mean absolute error (MAE) function. The sales volume estimation and prediction device (100 in FIG. 1) may update the learning rate by inputting the output value of the mean absolute error (MAE) function to the Adam optimizer, and the first and second time convolutions are performed according to the updated learning rate. In the graph showing the weights of the neural networks (TCN1 and TCN2 in FIG. 3A), the graph convolutional neural network (G112 in FIG. 3A), and the adjacency matrix for estimating the association information between products, the embedding vectors of the source node and the target node are updated. can do.

판매량 추정 및 예측 장치(도 1의 100)는 학습 종료 조건을 만족할 때까지, 제 1 내지 제 4 단계(S210 ~ S240)를 반복하여 실행할 수 있다. 판매량 추정 및 예측 장치(도 1의 100)는 그래프 웨이브넷(도 3a의 G100)의 학습 단계에서 과적합을 방지하기 위하여, L2 정규화(L2 Regularization)를 이용할 수 있다. 학습 종료 후, 그 신경망의 가중치를 갱신한 그래프 웨이브넷(도 3a의 G100)은, 상품의 미래 일정 기간 판매량을 예측하는 모델로 이용할 수 있다.The unit for estimating and predicting sales volume ( 100 in FIG. 1 ) may repeatedly execute the first to fourth steps S210 to S240 until the learning end condition is satisfied. The unit for estimating and predicting sales volume (100 in FIG. 1 ) may use L2 regularization to prevent overfitting in the learning phase of the graph wavenet (G100 in FIG. 3A ). After completion of training, the graph Wavenet (G100 in FIG. 3A) in which the weights of the neural network are updated can be used as a model for predicting the sales volume of a product for a certain period in the future.

이상을 통해 본 발명의 실시 예에 대하여 설명하였지만, 본 발명은 상기 실시 예에 한정되지 않고, 본 발명의 취지를 벗어나지 않고 효과를 저해하지 않는 한, 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 다양하게 변경하여 실시할 수 있다. 또한 그러한 실시 예가 본 발명의 범위에 속하는 것은 당연하다.Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and may vary within the scope of the detailed description of the invention and the accompanying drawings, as long as the spirit and effect of the present invention are not impaired. It can be implemented by making changes. It goes without saying that such embodiments fall within the scope of the present invention.

100 : 판매량 추정 및 예측 장치
110 : 중앙 처리 장치
120 : 기억 장치
121 : 보조 기억 장치 122 : 주 기억 장치
130 : 입출력 장치
140 : 버스
200 : 오픈 마켓 서버 컴퓨터
300 : 판매자 단말 장치
S110 ~ S150 : 상품의 과거 일별 판매량을 추정하는 과정
S210 ~ S240 : 상품의 미래 일정 기간 판매량을 예측하는 모델을 생성하는 과정
100: sales volume estimation and forecasting device
110: central processing unit
120: storage device
121: auxiliary storage unit 122: main storage unit
130: I/O device
140: bus
200: open market server computer
300: seller terminal device
S110 ~ S150: Process of estimating past daily sales volume of products
S210 ~ S240: Process of generating a model that predicts sales volume for a certain period in the future

Claims (6)

판매량 추정 및 예측 장치가,
상품의 과거 일정 기간의 누적 판매량 정보를 획득하는 단계와;
과거 일별 판매량 행렬을 초기화 하는 단계와;
파라미터 행렬을 갱신하는 단계와;
상기 과거 일별 판매량 행렬의 열과, 상기 파라미터 행렬의 행 번호가 동일한 원소를 곱하여 일별 판매량을 산출하는 단계를 포함하고,
상기 일별 판매량을 산출하는 단계 후에,
판매량 추정 및 예측 장치가,
수학식D에 따라 기준일 전 일별 판매량을 산출하는 단계를 더 포함하는,
과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법
[수학식D]

(는 상기 기준일 전 일별 판매량 / 는 j-1번째 일까지 n일 동안의 누적 판매량 / 는 j번째 일까지 n일 동안의 누적 판매량 / 는 j번째 일의 일별 판매량).
A sales volume estimation and forecasting device,
acquiring cumulative sales volume information for a certain period in the past;
Initializing a sales matrix for each past day;
updating the parameter matrix;
Calculating the daily sales volume by multiplying a column of the past daily sales matrix by an element having the same row number of the parameter matrix;
After the step of calculating the daily sales volume,
A sales volume estimation and forecasting device,
Further comprising calculating the daily sales volume before the reference date according to Equation D,
How to create past daily sales estimates and future sales forecast models
[Equation D]

( is the daily sales volume prior to the base date above / is the cumulative sales volume for n days until the j-1 day / is cumulative sales for n days until the jth day / is the daily sales volume on the jth day).
청구항 1에 있어서,
상기 과거 일정 기간의 누적 판매량 정보는,
날짜마다, 연속하는 이전 n일 동안의 일별 판매량을 합산한 값을 포함하는,
과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법.
The method of claim 1,
The cumulative sales volume information for a certain period in the past,
For each day, containing the sum of daily sales over the preceding n consecutive days,
How to create past daily sales estimates and future sales forecast models.
청구항 1에 있어서,
상기 과거 일별 판매량 행렬을 초기화 하는 단계는,
상기 과거 일별 판매량 행렬의 i번째 행에서, i번째 열부터 i+n-1번째 열까지의 원소의 값을, 정규 분포를 나타내는 확률 밀도 함수에서 무작위로 추출하여 설정하고, i번째 열부터 i+n-1번째 열이 아닌 나머지 열의 원소의 값을 0으로 설정하며,
상기 과거 일별 판매량 행렬의 i번째 행에서, 상기 확률 밀도 함수의 평균은 i번째 일까지의 누적 판매량을 n일로 나눈 값이고, 표준 편차는 2인,
과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법.
The method of claim 1,
In the step of initializing the sales matrix for each past day,
In the i-th row of the past daily sales matrix, values of elements from the ith column to the i+n-1th column are randomly extracted and set using a probability density function representing a normal distribution, and the values of the elements from the ith column to the i+n-1th column are set. Set the values of the elements of the remaining columns other than the n-1th column to 0,
In the i-th row of the past-day sales matrix, the average of the probability density function is the cumulative sales volume up to the i-th day divided by n days, and the standard deviation is 2;
How to create past daily sales estimates and future sales forecast models.
청구항 1에 있어서,
상기 파라미터 행렬을 갱신하는 단계는,
수학식A에 따라 제 1 행렬(V)을 설정하는 단계와;
상기 파라미터 행렬의 모든 원소의 값을 0으로 설정하고, 수학식B에 따라 제 2 행렬(U)을 설정하는 단계와;
상기 파라미터 행렬의 모든 원소의 값이 수렴할 때까지, 수학식C에 따라 상기 파라미터 행렬의 모든 원소와 상기 제 2 행렬을 반복하여 갱신하는 단계를 포함하는,
과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법
[수학식A]

(는 상기 과거 일별 판매량 행렬 / 는 상기 과거 일별 판매량 행렬의 전치 행렬 / 는 상기 제 1 행렬)
[수학식B]

(는 과거 누적 판매량 행렬 / 는 상기 제 2 행렬)
[수학식C]


(, 는 각각, 상기 파라미터 행렬의 k번째 행의 원소를 t번, t+1번 반복하여 갱신한 값 / 는 상기 제 2 행렬의 k번째 행의 원소를 t번 반복하여 갱신한 값 / 는 상기 제 1 행렬의 k번째 행 및 k번째 열의 원소의 값 / , 는 각각, t번, t+1번 반복하여 갱신한 상기 제 2 행렬 / 는 상기 제 2 행렬에서 k번째 열의 벡터).
The method of claim 1,
Updating the parameter matrix,
setting a first matrix (V) according to Equation A;
setting the values of all elements of the parameter matrix to 0, and setting a second matrix (U) according to Equation B;
Iteratively updating all elements of the parameter matrix and the second matrix according to Equation C until the values of all elements of the parameter matrix converge,
How to create past daily sales estimates and future sales forecast models
[Equation A]

( is the past daily sales matrix / Is the transposed matrix of the sales matrix by past day / Is the first matrix)
[Equation B]

( is the past cumulative sales matrix / Is the second matrix)
[Equation C]


( , is a value obtained by repeating the element of the k-th row of the parameter matrix t times and t+1 times, respectively, / is a value updated by repeating the element of the k-th row of the second matrix t times / Is the value of the element of the k-th row and k-th column of the first matrix / , is the second matrix / updated by repeating t times and t + 1 times, respectively Is a vector of the k-th column in the second matrix).
삭제delete 청구항 1에 있어서,
판매량 추정 및 예측 장치가,
일별 판매량 정보를 포함한 상품 별 판매량 예측 변수를 그래프 웨이브넷에 입력하는 (가) 단계와;
그래프 웨이브넷의 출력 값을 평균 절대 오차(MAE) 함수에 입력하고, 평균 절대 오차(MAE) 함수의 출력 값을 Adam 옵티마이저에 입력하여 학습률을 갱신하며, 갱신된 학습률에 따라 그래프 웨이브넷의 가중치와, 상품 사이의 연관성 정보를 추정하기 위한 인접 행렬을 나타낸 그래프에서 소스 노드 및 타겟 노드의 임베딩 벡터를 갱신하는 (나) 단계를 더 포함하고,
학습 종료 조건을 만족할 때까지 상기 (가) 단계와 상기 (나) 단계를 반복적으로 실행하는,
과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법.
The method of claim 1,
A sales volume estimation and forecasting device,
(a) inputting sales volume predictors for each product, including daily sales information, into the graph wavenet;
The output value of the graph wavenet is input to the mean absolute error (MAE) function, the output value of the mean absolute error (MAE) function is input to the Adam optimizer to update the learning rate, and the weight of the graph wavenet is calculated according to the updated learning rate. and (b) updating embedding vectors of source nodes and target nodes in a graph showing an adjacency matrix for estimating correlation information between products,
End of study Repeatedly executing steps (a) and (b) until the condition is satisfied,
How to create past daily sales estimates and future sales forecast models.
KR1020210070682A 2021-06-01 2021-06-01 Method for estimating past daily sales and generating a model of predicting future sales KR102567137B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210070682A KR102567137B1 (en) 2021-06-01 2021-06-01 Method for estimating past daily sales and generating a model of predicting future sales

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210070682A KR102567137B1 (en) 2021-06-01 2021-06-01 Method for estimating past daily sales and generating a model of predicting future sales

Publications (2)

Publication Number Publication Date
KR20220162342A KR20220162342A (en) 2022-12-08
KR102567137B1 true KR102567137B1 (en) 2023-08-16

Family

ID=84436865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210070682A KR102567137B1 (en) 2021-06-01 2021-06-01 Method for estimating past daily sales and generating a model of predicting future sales

Country Status (1)

Country Link
KR (1) KR102567137B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012301A (en) * 2014-06-30 2016-01-21 東芝テック株式会社 Demand prediction system and program
JP2017091398A (en) 2015-11-16 2017-05-25 富士通株式会社 Sales prediction display method, sales prediction display device, and sales prediction display program
JP2017168052A (en) * 2016-03-18 2017-09-21 日本電気株式会社 Prediction assist system, prediction assist method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102264013B1 (en) 2019-04-09 2021-06-11 카페24 주식회사 Item sales volume prediction method, apparatus and system
KR102264526B1 (en) 2019-04-18 2021-06-15 카페24 주식회사 Item sales volume prediction method, apparatus and system
KR102245717B1 (en) 2019-05-14 2021-04-28 카페24 주식회사 Item sales volume prediction method, apparatus and system using artificial intelligence model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012301A (en) * 2014-06-30 2016-01-21 東芝テック株式会社 Demand prediction system and program
JP2017091398A (en) 2015-11-16 2017-05-25 富士通株式会社 Sales prediction display method, sales prediction display device, and sales prediction display program
JP2017168052A (en) * 2016-03-18 2017-09-21 日本電気株式会社 Prediction assist system, prediction assist method, and program

Also Published As

Publication number Publication date
KR20220162342A (en) 2022-12-08

Similar Documents

Publication Publication Date Title
US11494644B2 (en) System, method, and computer program for recommending items using a direct neural network structure
Chen et al. An adaptive functional autoregressive forecast model to predict electricity price curves
US20170278114A1 (en) Adaptive collaborative filtering with extended kalman filters and multi-armed bandits
US20150254554A1 (en) Information processing device and learning method
CN111695719A (en) User value prediction method and system
US20110112998A1 (en) Methods and systems for variable group selection and temporal causal modeling
CN111160968A (en) SKU-level commodity sales prediction method and device
CN110796484B (en) Method and device for constructing customer activity degree prediction model and application method thereof
CN111582538B (en) Community value prediction method and system based on graph neural network
EP4242955A1 (en) User profile-based object recommendation method and device
Ludwig Jr et al. Applications of information theory, genetic algorithms, and neural models to predict oil flow
CN112800344B (en) Deep neural network-based movie recommendation method
JP7460703B2 (en) Improved recommender system and method using shared neural item representations for cold-start recommendation
CN111898247B (en) Landslide displacement prediction method, landslide displacement prediction equipment and storage medium
US20230306505A1 (en) Extending finite rank deep kernel learning to forecasting over long time horizons
CN110689110A (en) Method and device for processing interaction event
CN111178986B (en) User-commodity preference prediction method and system
CN113610610B (en) Session recommendation method and system based on graph neural network and comment similarity
WO2019193981A1 (en) Data prediction device, method, and program
Zhan et al. Neural networks for geospatial data
KR102567137B1 (en) Method for estimating past daily sales and generating a model of predicting future sales
CN116975686A (en) Method for training student model, behavior prediction method and device
CN117056595A (en) Interactive project recommendation method and device and computer readable storage medium
CN116361643A (en) Model training method for realizing object recommendation, object recommendation method and related device
CN115564532A (en) Training method and device of sequence recommendation model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant