KR100912177B1 - User behavior analysis method and system - Google Patents
User behavior analysis method and system Download PDFInfo
- Publication number
- KR100912177B1 KR100912177B1 KR1020070047895A KR20070047895A KR100912177B1 KR 100912177 B1 KR100912177 B1 KR 100912177B1 KR 1020070047895 A KR1020070047895 A KR 1020070047895A KR 20070047895 A KR20070047895 A KR 20070047895A KR 100912177 B1 KR100912177 B1 KR 100912177B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- flow field
- log
- field
- floating
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 사용자 행동 분석 방법 및 시스템에 관한 것이다. 본 발명에 따른 사용자 행동 분석 방법은, 로그 수집 서버(LCS: Log Collection Server)를 통해 사용자 로그를 수집하는 단계, 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 단계 및 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 단계를 포함한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 필드명 및 복수의 속성으로 구성될 수 있다.The present invention relates to a method and system for analyzing user behavior. In accordance with another aspect of the present invention, there is provided a method for analyzing user behavior, including collecting a user log through a log collection server (LCS), converting the user log into a floating field format to generate a floating field set, and the floating field. Processing the floating field set in accordance with an input of a processing instruction for the set. In this case, the flow field format may be a predetermined format of the flow field, and the flow field may include a field name and a plurality of attributes.
웹로그(weblog), 데이터베이스, 시계열 분석(time series analysis), 자바 스크립트(java script) Weblog, database, time series analysis, java script
Description
도 1은 종래기술에 있어서, 사용자 행동 패턴을 측정하는 방법을 설명하기 위한 일례이다.1 is an example for explaining a method of measuring a user behavior pattern in the prior art.
도 2는 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 일례이다.2 is an example for explaining an overview of a user behavior analysis method according to the present invention.
도 3은 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 다른 예이다.3 is another example for explaining an overview of a user behavior analysis method according to the present invention.
도 4는 본 발명의 일실시예에 있어서, 사용자 행동 분석 방법을 도시한 흐름도이다.4 is a flowchart illustrating a user behavior analysis method according to an embodiment of the present invention.
도 5는 본 발명에 따른 사용자 로그 수집 방법을 설명하기 위한 일례이다.5 is an example for explaining a user log collection method according to the present invention.
도 6은 본 발명의 일실시예에 있어서, 유동 필드 집합을 생성하는 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of generating a floating field set according to an embodiment of the present invention.
도 7은 본 발명에 따른, 유동 필드 집합 및 유동 필드를 설명하기 위한 일례이다.7 is an example for explaining the flow field aggregation and flow field according to the present invention.
도 8은 본 발명에 따른, 유동 필드 집합의 일례이다.8 is an example of a flow field set, in accordance with the present invention.
도 9는 본 발명에 따른, 유동 필드 집합간의 분할 및 병합을 설명하기 위한 일례이다.9 is an example for explaining the splitting and merging between flow field sets according to the present invention.
도 10은 본 발명에 따른, 유동 필드 집합을 처리하는 일례이다.10 is an example of processing a flow field set in accordance with the present invention.
도 11은 본 발명의 따른, 처리 명령을 설명하기 위한 일례이다.11 is an example for explaining a processing instruction according to the present invention.
도 12는 본 발명의 다른 실시예에 있어서, 사용자 행동 분석 시스템의 내부 구성을 설명하기 위한 블록도이다.12 is a block diagram illustrating an internal configuration of a user behavior analysis system according to another embodiment of the present invention.
도 13은 본 발명에 따른 데이터의 분산 처리 방법을 설명하기 위한 일례이다.Fig. 13 is an example for explaining a method for distributing data according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
1200: 사용자 행동 분석 시스템1200: user behavior analysis system
1210: 로그 수집 서버1210: Log Collection Server
1211: 사용자 로그 수신부1211: user log receiver
1212: URL 변경부1212: URL change section
1213: STDB(Service Tree DataBase)1213: Service Tree Database (STDB)
1214: STMS(Service Tree Management System)1214: Service Tree Management System (STMS)
1220: 유동 필드 집합 생성부1220: floating field set generator
1230: 유동 필드 집합 처리부1230: flow field aggregation processing unit
온라인 비즈니스에서 사용자의 행동을 이해하는 것은 매우 중요하다. 유용 성의 관점에서 사용자 행동에 대한 분석은 온라인 서비스의 사용자 피드백(feedback)에 대한 중요한 근원(source)이다. 또한, 마케팅의 관점에서도 사용자 트랜드 즉, 위에서 설명한 상기 사용자 행동 분석은 사용자의 필요와 요구를 이해하는 척도가 될 수 있다. 뿐만 아니라, 상기 사용자 행동 분석은 시스템 관리의 측면에서도 자원의 할당 문제 등의 해결에 대한 기반이 될 수 있다.Understanding the behavior of users in an online business is very important. Analysis of user behavior in terms of usability is an important source of user feedback for online services. In addition, from a marketing perspective, the user trend, that is, the above-described user behavior analysis, may be a measure of understanding the needs and demands of the users. In addition, the user behavior analysis may be a basis for solving the problem of resource allocation in terms of system management.
종래기술에서는 이러한 사용자 행동을 분석하기 위한 방법으로 다양한 성능 지표를 이용하였다. 즉, 페이지뷰(page view), 순방문자수(unique visitor) 또는 쿼리 수 등과 같은 성능 지표를 통해 상기 사용자 행동을 분석하였고, 이러한 상기 성능 지표의 대부분은 웹상에서 각각의 페이지에서 발생하는 사용자 행동에 대한 카운팅을 통해 얻어질 수 있다.In the prior art, various performance indicators are used as a method for analyzing such user behavior. That is, the user behavior is analyzed through performance indicators such as page view, unique visitor, or query count, and most of the performance indicators are related to user behavior occurring on each page on the web. Can be obtained through counting.
도 1은 종래기술에 있어서, 사용자 행동을 분석하는 방법을 설명하기 위한 일례이다. 즉, 종래기술에서는 사용자들(101)의 로그인, 게임, 구매 또는 이벤트 참여 등과 같은 웹사이트 상에서의 활동(102)이 발생할 때마다 발생 횟수를 카운팅하여 게임지수, 매출지수, 웹이용지수 등의 각종 지수(103)를 측정할 수 있고, 이러한 지수(103)를 위에서 설명한 성능 지표로서 사용자들(101)의 행동을 분석하는데 이용할 수 있다.1 is an example for explaining a method of analyzing user behavior in the prior art. That is, the prior art counts the number of occurrences each time the
그러나, 종래기술의 사용자 행동 분석 방법은, 성능 지표의 원인이 되는 사용자의 웹사이트 상에서의 상세 활동에 대한 이해가 어려운 문제점이 있다. 예를 들어, 위에서 설명한 게임지수, 매출지수, 웹이용지수 등의 지수만으로는 게임 사이트에서 사용자가 게임 머니를 모두 사용한 후 행동 패턴에 어떠한 변화가 있는지 또는 특정 구매 경로 상에서 매출 변화가 발생하는지와 같은, 사용자의 상세 활동에 대한 이해가 어렵다. 이러한 사용자의 상세 활동에 대한 이해의 어려움 즉, 사용자 행동 분석의 어려움은 성능 지표 등을 통해 웹사이트의 서비스를 개선하는데 어려움을 겪는 문제점으로 연결된다.However, the conventional user behavior analysis method has a problem that it is difficult to understand the detailed activity on the user's website which is the cause of the performance indicator. For example, indices such as the game index, sales index, and web usage index described above can only be used to determine how behavior patterns change after a user spends all of their game money on a game site, or if a change in sales occurs on a particular purchase path. It is difficult to understand the detailed activities of the user. The difficulty in understanding the detailed activities of the user, that is, the difficulty in analyzing the user behavior, leads to a problem in that it is difficult to improve the service of the website through performance indicators.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위해, 사용자 행동 분석 방법 및 시스템에 관한 새로운 기술을 제안한다.The present invention proposes a new technology related to the user behavior analysis method and system in order to solve the above problems of the prior art.
본 발명은 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있는 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention provides a method and system for analyzing user behavior that can easily and conveniently perform time series analysis of user behavior by sorting user behavior by user and by time order through user logs.
본 발명은 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것이 가능한 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention provides a method and system for analyzing user behavior by analyzing the user's behavior in time series and analyzing the cause of the website's usage status, which is difficult to grasp previously, such as a purchase path and a member behavior pattern for a specific event. do.
본 발명은 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있는 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention provides a method and system for analyzing user behaviors by understanding the user behavior by analyzing the cause of the usage status of the website and thereby improving the service of the website.
본 발명은 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있는 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention solves the problem of traffic increase by using a plurality of collection servers that can be included in the log analysis server, user behavior analysis that can reduce the analysis time for the user behavior through distributed processing using a plurality of computing clusters Provide a method and system.
상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 사용자 행동 분석 방법은, 로그 수집 서버(LCS: Log Collection Server)를 통해 사용자 로그를 수집하는 단계, 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 단계 및 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 단계를 포함한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류로 분류될 수 있고, 상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성될 수 있다.In order to achieve the above object and to solve the above-mentioned problems of the prior art, the user behavior analysis method according to an embodiment of the present invention, collecting the user log through a log collection server (LCS: Log Collection Server) Converting the user log into a floating field format to generate a floating field set, and processing the floating field set according to an input of a processing command for the floating field set. In this case, the flow field format may be a predetermined format of the flow field, and the flow field may be classified into a classification into a user identification field for identifying a user and a behavior recording field for recording the behavior of the user or the system. The attribute may be composed of an attribute name classifying the attribute and an attribute value defining user behavior.
본 발명의 일측에 따르면, 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는, 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 단계 및 상기 사용자 로그가 포함하는 URL을 STDB(Service Tree DataBase)를 이용하여 ST 명칭(Service Tree name)으로 변경하는 단계를 포함한다. 이때, 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 상기 단계는, 사용자의 웹브라우저 및 자바 스크립트 태그(java script tag)를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신하는 단계일 수 있다.According to one aspect of the invention, the step of collecting the user log through the log collection server, the step of receiving the user log via a web page provided by a web server and the URL included in the user log STDB (Service Tree Changing to an ST name (Service Tree name) using a DataBase. In this case, the step of receiving the user log through a web page provided by a web server, the user log using the user's web browser and a java script tag (java script tag) or in the case of a client, the log It may be a step of receiving the user log directly at the collection server.
본 발명의 다른 측면에 따르면, 상기 사용자 로그를 유동 필드 포맷으로 변 환하여 유동 필드 집합을 생성하는 상기 단계는, 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성하는 단계 및 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of converting the user log into a flow field format to generate a flow field set, generating each flow field by converting each of the user logs into the flow field format; And arranging the flow field for each user in the order of time to generate the flow field set.
본 발명의 또 다른 측면에 따르면, 상기 처리 명령은 (1) 입력된 시간범위의 유동 필드를 추출하는 드로우(draw) 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터(filter) 연산자 및 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합(aggr) 연산자를 포함할 수 있고, 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 상기 단계는, (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정하는 단계일 수 있다.According to another aspect of the invention, the processing command is (1) a draw operator for extracting the flow field of the input time range, (2) a filter operator for extracting the flow field conforming to the input pattern And an aggr operator that measures the total or number of the attributes according to the input attributes, wherein the step of processing the floating field set in accordance with an input of a processing instruction for the floating field set includes: 1) extracting a corresponding flow field according to the draw operator or the filter operator, or (2) measuring the total or number of attributes corresponding to the set operator among the flow field set or the extracted flow field; have.
본 발명의 다른 실시예에 있어서, 사용자 행동 분석 시스템은, 사용자 로그를 수집하는 로그 수집 서버, 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 유동 필드 집합 생성부 및 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 유동 필드 집합 처리부를 포함한다.In another embodiment of the present invention, a user behavior analysis system, a log collection server for collecting user logs, a flow field set generation unit for generating a flow field set by converting the user log into a flow field format and the flow field set And a flow field aggregation processing unit for processing the flow field aggregation according to an input of a processing command for.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
웹서비스에서 사용자 행동의 패턴, 보다 자세하게, 상기 사용자 행동을 나열 한 시퀀스(sequence)는 많은 부분에서 유용하게 이용될 수 있다. 예를 들어, 상기 사용자 행동을 통해 방문자가 사이트에서 주어진 페이지에 어떻게 접속하였는지, 상기 사용자가 상기 페이지에 접속하기 위해 가장 자주 이용하는 경로는 무엇인지 또한, 상기 사용자가 상품 'A'의 구매 이후 구매한 상품은 무엇인지 등과 같은 시계열적 정보를 얻을 수 있다.The pattern of user behavior in web services, more specifically, the sequence listing the user behavior can be useful in many ways. For example, how the visitor accesses a given page on the site through the user behavior, what is the most frequently used path for the user to access the page, and the user purchased after purchasing the product 'A'. Time series information such as what the product is.
이러한 통계적 자료는 각각의 사용자의 행동을 추적하여 획득되기 때문에 단순히 각각의 페이지에 대한 입장한 방문자 수를 측정하는 등의 위에서 설명한 종래기술에서의 성능 지표와는 다르다. 이러한 통계적 자료는 사용자 로그 즉, 웹로그를 통해 수집할 수 있다.Since these statistical data are obtained by tracking each user's behavior, they are different from the performance indicators in the prior art described above, such as simply measuring the number of visitors entering each page. Such statistical data can be collected through user logs, that is, web logs.
도 2는 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 일례이다.2 is an example for explaining an overview of a user behavior analysis method according to the present invention.
여기서, 도 2는 게임을 제공하는 웹서버에서 로그인, 게임, 올인, 구매, 로그아웃과 같이 분석목적과 시나리오에 따라 정의된 사용자 행동(201)과 사용자 'A'(202) 및 사용자 'B'(203)에 대한 각각의 사용자 행동을 나타낸다. 도 2를 살펴보면 사용자 'A'(202)는 로그인 후 게임을 진행하다 게임 머니의 올인 후 로그아웃 했음을 알 수 있고, 사용자 'B'(203)는 사용자 'A'(202)와 동일한 행동을 하다가 게임 머니의 올인 후 게임 머니를 구매하여 다시 게임을 하고, 그 이후의 시점에 로그아웃 했음을 알 수 있다.Here, FIG. 2 illustrates
즉, 이와 같이 사용자 로그를 이용하여 사용자별로 또한, 시간별로 사용자의 행위를 알 수 있다면, 상기 사용자의 행위를 이해할 수 있다. 다시 말해, 단순히 사용자의 로그인 횟수, 구매 횟수나 구매 금액만으로는 상기 사용자의 세부 행동을 이해하기 어렵지만, 게임 지수, 매출 지수 등과 같은 각종 성과 지표(204)뿐만 아니라 사용자 행동의 순서까지 알 수 있다면 상기 세부 행동을 쉽게 분석 및 이해할 수 있다.That is, if the user's actions can be known by user and by time using the user log in this way, the user's actions can be understood. In other words, it is difficult to understand the detailed behavior of the user simply by the number of logins, the number of purchases, or the purchase amount of the user. However, if the user can know not only
이를 위해, 상기 사용자의 사용자 행동과 상기 사용자 행동 당시의 속성을 알 필요가 있고, 이러한 정보를 상기 사용자 로그를 통해 획득할 수 있다.To this end, it is necessary to know the user behavior of the user and the attributes at the time of the user behavior, and this information can be obtained through the user log.
도 3은 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 다른 예이다.3 is another example for explaining an overview of a user behavior analysis method according to the present invention.
도면부호(310)은 4명의 사용자들이 게임 머니를 구매한 시점을 각각 나타내고 있다. 그러나, 도면부호(310)에서는 단순히 게임 머니를 구매한 시점만을 나타내고 상기 구매라는 행동의 전후 행동에 대해서는 전혀 알 수 없기 때문에 단순히 각각의 사용자에 대한 매출 금액 즉, 결과 중심의 데이터만을 얻을 수 있다.
그러나 도면부호(320)에서는 4명의 사용자들에 대해 각각의 시점에서 수행한 행동 즉, 시계열적 정보를 얻을 수 있기 때문에 구매의 전후 행동 예를 들어, '올인' 후 '구매' 그리고 다시 '게임'이라는 상황별 사용자 행동 패턴을 얻을 수 있고, 이를 분석함으로써 사용자 행동과 속성간의 변화를 파악하는 것이 가능해진다.However, in the
이와 같이 사용자 행동을 사용자별로 그리고 시간에 따라 확인이 가능해지는 경우, 사용자 행동에 대한 원인 파악이 가능해지고, 이를 통해 종래에 성능 지표만으로 파악하기 어려웠던 구매경로분석, 특정 사건 발생 이후의 사용자 행동 패턴 분석 등이 가능해진다. 이러한 방법 및 시스템에 대해서 이후 도 4 내지 도 13을 통해 더욱 자세히 설명한다.As such, when user behavior can be checked by user and according to time, it is possible to identify the cause of user behavior, and through this, purchase path analysis, which is difficult to grasp conventionally using performance indicators, and user behavior pattern analysis after a specific event occurs. Etc. are possible. Such a method and system will be described in more detail later with reference to FIGS. 4 to 13.
도 4는 본 발명의 일실시예에 있어서, 사용자 행동 분석 방법을 도시한 흐름도이다.4 is a flowchart illustrating a user behavior analysis method according to an embodiment of the present invention.
단계(S410)에서 사용자 행동 분석 시스템은 로그 수집 서버를 통해 사용자 로그를 수집한다. 여기서, 상기 사용자 로그는 사용자로부터의 클릭, 키보드 입력 등과 같은 이벤트를 통해 발생하는 게임 머니의 구매, 게임 입장 등의 행동이나, 상기 게임 머니 올인으로 인해 상기 웹서버에서 발생하는 시스템의 행동 등을 모두 포함할 수 있다. 즉, 상기 사용자 행동 분석 시스템은 상기 로그 수집 서버를 통해 상기 사용자에게 별도의 행동을 요구하지 않고 상기 사용자 로그를 수집할 수 있다.In step S410, the user behavior analysis system collects user logs through a log collection server. Here, the user log includes all actions such as purchase of game money, entry into a game, and actions of a system generated by the web server due to the game money all-in, generated through events such as a click from a user and a keyboard input. It may include. That is, the user behavior analysis system may collect the user log without requiring a separate action from the user through the log collection server.
이때, 상기 사용자 로그는 웹서버가 생성하는 웹서버 로그를 포함할 수 있고, 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는, 상기 웹서버를 상기 로그 수집 서버로서 포함하여 상기 웹서버 로그를 생성하는 단계일 수 있다. 즉, 상기 사용자 행동 분석 시스템은 상기 웹서버를 포함할 수 있고, 상기 웹서버가 생성한 웹서버 로그를 상기 사용자 로그로서 이용할 수 있다.In this case, the user log may include a web server log generated by the web server, the step of collecting the user log through a log collection server, including the web server as the log collection server to the web server log It may be a step of generating. That is, the user behavior analysis system may include the web server and use the web server log generated by the web server as the user log.
이와는 다르게, 상기 사용자 행동 분석 시스템은 상기 로그 수집 서버에서 사용자의 브라우저를 통해 상기 사용자 로그를 수집하도록 할 수 있다. 이 경우, 도 4에 도시된 바와 같이 상기 사용자 행동 분석 시스템은 상기 사용자 로그를 수집하기 위해 단계(S411) 내지 단계(S413)을 포함하여 수행할 수 있다.Alternatively, the user behavior analysis system may allow the log collection server to collect the user log through the user's browser. In this case, as shown in FIG. 4, the user behavior analysis system may perform steps S411 to S413 to collect the user log.
단계(S411)에서 상기 사용자 행동 분석 시스템은 STMS(Service Tree Management System)에서 STDB를 관리 및 유지한다. 여기서, 상기 STDB는 URL과 상기 URL에 대응하는 ST 명칭이 서로 연관되어 저장될 수 있다. 즉, 상기 STDB는 상기 사용자가 웹서버를 통해 접근함으로써 상기 사용자에게 제공된 웹사이트와 연관된 각종 URL들을 포함하고, 상기 URL과 연관된 상기 ST 명칭을 상기 URL과 연관하여 저장하고 있다.In step S411, the user behavior analysis system manages and maintains an STDB in a service tree management system (STMS). Here, the STDB may be stored in association with the URL and the ST name corresponding to the URL. That is, the STDB includes various URLs associated with a website provided to the user by the user accessing through a web server, and stores the ST name associated with the URL in association with the URL.
단계(S412)에서 상기 사용자 행동 분석 시스템은 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신한다. 즉, 상기 사용자 행동 분석 시스템은 상기 사용자 또는 상기 웹서버를 통해 상기 웹서버에 접근하여 의미 있는 행동 즉, 로그인, 로그아웃, 게임 머니의 구매 또는 올인 처리 절차 등과 같이 분석목적과 시나리오에 따라 정의된 사용자 행동이 발생하는 경우, 생성되는 상기 사용자 로그를 수신할 수 있다. 이때, 상기 사용자 행동 분석 시스템은 사용자의 웹브라우저 및 자바 스크립트 태그(java script tag)를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신할 수 있다.In step S412, the user behavior analysis system receives the user log through a web page provided by a web server. That is, the user behavior analysis system accesses the web server through the user or the web server, and defines a meaningful behavior according to the analysis purpose and scenario, such as a login, logout, purchase of game money, or an all-in processing procedure. When a user action occurs, the generated user log may be received. In this case, the user behavior analysis system may receive the user log using a web browser of a user and a java script tag or, in the case of a client, the user log directly from the log collection server.
단계(S413)에서 상기 사용자 행동 분석 시스템은 상기 사용자 로그가 포함하는 URL을 상기 STDB를 이용하여 ST 명칭으로 변경한다. 이는 상기 URL을 통해 상기 사용자 행동이 발생하는 경로를 쉽게 파악하기 위한 것으로, 상기 URL에서 불필요한 요소를 제거하기 위함이다. 또한, 분석자가 상기 URL을 통해서는 상기 URL과 연관된 웹페이지를 쉽게 파악할 수 없기 때문에 상기 분석자가 상기 사용자 행동 분석 시스템의 결과를 쉽게 파악할 수 있도록 상기 URL을 상기 ST 명칭으로 변경할 수도 있다.In step S413, the user behavior analysis system changes the URL included in the user log to the ST name using the STDB. This is to easily identify the path through which the user action occurs through the URL, and to remove unnecessary elements from the URL. In addition, since the analyst cannot easily grasp the webpage associated with the URL through the URL, the URL may be changed to the ST name so that the analyst can easily grasp the result of the user behavior analysis system.
단계(S420)에서 상기 사용자 행동 분석 시스템은 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 필드명 및 복수의 속성으로 구성될 수 있다.In step S420, the user behavior analysis system converts the user log into a flow field format to generate a flow field set. In this case, the flow field format may be a predetermined format of the flow field, and the flow field may include a field name and a plurality of attributes.
또한, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류될 수 있다. 또한, 상기 사용자 식별 필드는 상기 필드명에 따라 (1) 로그인명으로 분류된 사용자를 나타내는 로그인 필드 또는 (2) 브라우저마다 할당된 영구 쿠키별로 분류된 사용자를 나타내는 영구 쿠키 필드로 분류될 수 있고, 상기 행동 기록 필드는 (1) 사용자의 특정 페이지 방문을 나타내는 페이지 뷰 필드, (2) 사용자의 특정 링크에 대한 클릭을 나타내는 클릭 필드 또는 (3) 사용자에 대한 시스템의 행동(action)을 나타내는 행동 필드로 분류될 수 있다. 이때, 상기 사용자 식별 필드 및 상기 행동 기록 필드가 필요에 따라 보다 세부적인 필드로 분류될 수 있음은 당업자에 있어 자명하다.In addition, the flow field may be classified into a user identification field for identifying a user and a behavior recording field for recording a behavior of the user or the system. Further, the user identification field may be classified into (1) a login field representing a user classified as a login name or (2) a persistent cookie field representing a user classified by a persistent cookie assigned to each browser according to the field name. The action history field may include (1) a page view field indicating a user's visit to a particular page, (2) a click field indicating a click on a user's specific link, or (3) an action field indicating a system's action on the user. Can be classified as At this time, it will be apparent to those skilled in the art that the user identification field and the action recording field may be classified into more detailed fields as necessary.
상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성될 수 있다.The attribute may be composed of an attribute name classifying the attribute and an attribute value defining user behavior.
뿐만 아니라, 상기 유동 필드는 상기 사용자 로그가 포함하는 사용자 행동의 발생 시각을 상기 속성으로서 포함할 수 있다. 즉, 모든 유동 필드는 상기 유동 필드와 연관된 사용자 행동의 발생 시각을 포함할 수 있다.In addition, the flow field may include the time of occurrence of user behavior included in the user log as the attribute. That is, every flow field may include the time of occurrence of user action associated with the flow field.
이러한 상기 유동 필드 집합을 생성하는 단계(S420)에 대해서는 도 6의 흐름도와 도 7 및 도 8의 예를 이용하여 더욱 자세히 설명한다.The step of generating the flow field set (S420) will be described in more detail using the flowchart of FIG. 6 and the examples of FIGS. 7 and 8.
단계(S430)에서 상기 사용자 행동 분석 시스템은 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리한다. 상기 유동 필드 집합은 필요에 따라 분할 및 병합이 가능하고, 이에 대해서는 도 9을 통해 더욱 자세히 설명한다. 또한, 상기 처리 명령은 (1) 전형적인 분석 질의, (2) 기선정된 연산자 또는 분석 스크립트를 포함할 수 있다.In step S430, the user behavior analysis system processes the flow field set according to an input of a processing command for the flow field set. The floating field set may be divided and merged as needed, which will be described in more detail with reference to FIG. 9. The processing instructions may also include (1) typical analysis queries, (2) pre-selected operators or analysis scripts.
첫 번째로, 상기 처리 명령이 전형적인 분석 질의인 경우, 유동 필드 집합을 처리하는 단계(S430)에서 상기 사용자 행동 분석 시스템은 상기 분석 질의가 포함하는 시간범위(time period), 패턴(pattern), 통계 함수(aggregation function) 또는 집단 구분 기준(grouping criteria)에 따라 해당하는 유동 필드를 추출하거나 상기 유동 필드가 포함하는 속성에 대한 처리 결과를 제공할 수 있다.First, if the processing instruction is a typical analysis query, in step S430 of processing the flow field set, the user behavior analysis system includes a time period, pattern, and statistics included in the analysis query. The corresponding flow field may be extracted according to an aggregation function or grouping criteria, or the processing result of the attribute included in the flow field may be provided.
두 번째로, 상기 처리 명령이 상기 기선정된 연산자 즉, (1) 입력된 시간범위의 유동 필드를 추출하는 드로우(draw) 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터(filter) 연산자 및 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합(aggr) 연산자를 포함하는 경우, 단계(S430)에서 상기 사용자 행동 분석 시스템은 (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정할 수 있다.Secondly, the processing instruction is the pre-selected operator, that is, (1) a draw operator for extracting a flow field of the input time range, and (2) a filter for extracting a flow field that matches the input pattern. ) And an aggr operator that measures the sum or the number of the attributes according to the input attributes, in step S430 the user behavior analysis system performs (1) in accordance with the draw operator or the filter operator. A corresponding flow field may be extracted or (2) the total or number of attributes corresponding to the set operator may be measured among the flow field set or the extracted flow field.
마지막으로, 상기 처리 명령이 상기 분석 스크립트인 경우, 단계(S430)에서 상기 사용자 행동 분석 시스템은 입력된 상기 분석 스크립트에 따라 상기 시간범위, 상기 패턴 또는 상기 속성 처리 명령에 따라 (1) 해당하는 유동 필드를 추출하거나 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드가 포함하는 속성 중에서 상기 처리 명령에 해당하는 속성의 합계 또는 개수를 측정할 수 있다.Finally, when the processing command is the analysis script, in step S430, the user behavior analysis system according to the input analysis script is input according to the time range, the pattern, or the attribute processing command. The field may be extracted or (2) the sum or the number of attributes corresponding to the processing instruction may be measured among the attributes included in the flow field set or the extracted flow field.
이와 같이 상기 유동 필드 집합을 처리하는 방법에 대해서는 도 10 의 일례를 통해 더욱 자세히 설명한다.As described above, a method of processing the floating field set will be described in more detail with reference to FIG. 10.
도 5는 본 발명에 따른 사용자 로그 수집 방법을 설명하기 위한 일례이다.5 is an example for explaining a user log collection method according to the present invention.
사용자는 브라우저(501)를 통해 웹서버(502)로 웹페이지를 요청할 수 있고, 웹서버(502)는 자바 스크립트 태그를 포함하는 웹페이지를 브라우저(501)로 전송할 수 있다. 즉, 웹서버(502)는 상기 자바 스크립트 태그를 통해 브라우저(501)에 로그인 영구 쿠키를 설정할 수 있고, 상기 로그인 영구 쿠키가 포함하는 로그 수집 서버(503)의 URL을 통해 상기 사용자 행동 분석 시스템이 상기 사용자 로그를 수신하도록 할 수 있다.The user may request a web page to the
이후, 상기 웹페이지를 통해 사용자 행위가 발생하는 경우, 로그 수집 서버(503)는 상기 자바 스크립트 태그에서 상기 로그인 영구 쿠키가 포함하는 상기 URL을 이용하여 브라우저(501)를 통해 전송한 상기 사용자 로그를 수신할 수 있다. 이때, 로그 수집 서버(503)는 상기 사용자가 로그인하지 않은 경우, 브라우저(501)를 식별하는 방법을 통해 상기 사용자를 식별할 수 있고, 이를 위해 브라우저(501)에 영구 쿠키(persistent cookie)를 설정할 수 있다. 즉, 상기 영구 쿠키는 로그 인하지 않은 사용자를 브라우저(501)를 통해 식별하기 위해 이용될 수 있다.Thereafter, when a user action occurs through the web page, the
도 6은 본 발명의 일실시예에 있어서, 유동 필드 집합을 생성하는 방법을 도시한 흐름도이다. 도 6에 도시된 바와 같이 단계(S601) 및 단계(S602)는 도 4를 통해 설명한 단계(S420)에 포함되어 수행될 수 있다.6 is a flowchart illustrating a method of generating a floating field set according to an embodiment of the present invention. As shown in FIG. 6, step S601 and step S602 may be included in step S420 described with reference to FIG. 4.
단계(S601)에서 상기 사용자 행동 분석 시스템은 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성한다. 즉, 상기 사용자 로그는 상기 사용자 행동을 포함하고, 상기 사용자 행동 분석 시스템은 이러한 상기 사용자 로그를 상기 사용자 행동 분석 시스템이 사용할 수 있는 상기 유동 필드 포맷으로 변환할 수 있다. 위에서 설명한 바와 같이 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷이기 때문에 상기 사용자 로그를 상기 유동 필드 포맷으로 변환하는 경우, 상기 사용자 로그는 상기 유동 필드로서 변환된다. 다시 말해, 상기 유동 필드를 생성할 수 있게 된다.In step S601, the user behavior analysis system converts each of the user logs into the flow field format to generate a respective flow field. That is, the user log includes the user behavior, and the user behavior analysis system may convert the user log into the floating field format that the user behavior analysis system can use. As described above, when converting the user log to the floating field format because the floating field format is a predetermined format of the floating field, the user log is converted as the floating field. In other words, it is possible to create the flow field.
단계(S602)에서 상기 사용자 행동 분석 시스템은 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성한다. 이러한 각각의 유동 필드는 유동 필드 자체로서는 큰 의미가 없기 때문에 상기 유동 필드가 포함하는 상기 사용자 행동의 발생 시각과 상기 사용자를 기준으로 정렬되어 상기 유동 필드 집합을 생성한다. 이와 같은 상기 유동 필드 집합 및 상기 유동 필드에 대해서는 도 7 및 도 8을 통해 더욱 자세히 설명한다.In step S602, the user behavior analysis system creates the flow field set by arranging the flow field in order of time for each user. Each of these flow fields is not meaningful for the flow field itself, so that the flow field set is aligned with the time of occurrence of the user action included in the flow field and the user. Such a flow field set and the flow field will be described in more detail with reference to FIGS. 7 and 8.
도 7은 본 발명에 따른, 유동 필드 집합 및 유동 필드를 설명하기 위한 일례이다. 도 7은 사용자(701)별로 또한, 상기 사용자 행동의 발생 시간(702)의 순서 로 정렬된 복수의 유동 필드를 도시하고 있다. 이때, 유동 필드는 필드의 종류를 나타내는 필드명 및 상기 사용자 행동에 따른 속성으로 구성될 수 있다. 또한, 상기 속성은 속성명 및 속성값으로 구성될 수 있고, 복수개의 속성명 및 속성값의 집합으로 구성될 수도 있다.7 is an example for explaining the flow field aggregation and flow field according to the present invention. FIG. 7 illustrates a plurality of flow fields arranged by
즉, 도 7의 예에서 유동 필드(703)가 포함하는 필드명 'L'(704)은 로그인명으로 사용자를 분류하기 위한 필드로서 브라우저를 통해 사용자가 웹사이트에 로그인하는 경우, 생성되는 사용자 로그를 통해 생성될 수 있다. 또한, 속성 'id = xxxxxx ts = 1163168755'(705)은 속성명 'ts'(706) 및 속성값 '1163168755'(707)으로 구성될 수 있다. 도 7의 예에서는 두 개의 속성을 갖는 유동 필드(703)를 나타내고 있다. 이때, 첫 번째 속성은 상기 사용자의 로그인 아이디가 'xxxxxx'임을, 두 번째 속성은 상기 로그인의 발생 시기가 '1163168755'임을 의미할 수 있다.That is, the field name 'L' 704 included in the floating
이때, 유동 필드 집합의 하나의 행은 한 명의 사용자에 대한 사용자 행동을 시간의 순서에 따라 정렬한 것이기 때문에 상기 행의 첫 번째 원소 즉, 첫 번째 속성은 상기 사용자의 식별하기 위한 속성이 될 수 있다.In this case, since one row of the floating field set is a user action for one user in order of time, the first element of the row, that is, the first attribute, may be an attribute for identifying the user. .
도 8은 본 발명에 따른, 유동 필드 집합의 일례이다. 여기서, 도면부호(800)는 복수의 속성을 갖는 복수의 유동 필드를 나타내고 있다. 즉, 도 8의 예에서는 로그인 아이디 'xxxxxx'를 갖는 사용자가 게임 서버에 로그인하는 순간부터 로그아웃하는 순간까지의 사용자 행동을 포함하고 있다.8 is an example of a flow field set, in accordance with the present invention. Here,
도 9는 본 발명에 따른, 유동 필드 집합간의 분할 및 병합을 설명하기 위한 일례이다.9 is an example for explaining the splitting and merging between flow field sets according to the present invention.
위에서 설명한 바와 같이 상기 유동 필드 집합은 사용자별로 그리고 시간의 순서에 따라 해당하는 일련의 정보인 상기 사용자 행동의 나열이다. 이러한 상기 유동 필드 집합을 분석하고자 할 때, 한 사용자의 1 주일간의 사용자 행동 패턴을 분석하거나 한달 이상의 기간에 대해서 분석하고자 하는 경우가 있을 수 있다. 이러한 경우, 상기 사용자에 대해 한달 이상의 기간에 대해서 상기 유동 필드 집합을 생성하고 모아 두어야 하는데, 보관상 또는 기술적인 이유로 이러한 전체를 하나의 유동 집합으로 생성해 두는 것보다 임의의 기간에 대한 상기 유동 필드 집합을 동적으로 생성하는 것이 편리하다.As described above, the floating field set is a list of user behaviors, which is a set of information corresponding to each user and in chronological order. When analyzing the flow field set, there may be a case where a user's behavioral pattern for a week or a month or more is to be analyzed. In this case, the flow field sets should be created and collected for the user for a period of more than one month, and for the sake of storage or technical reasons the flow field for any period of time rather than creating this whole in one flow set. It is convenient to create a set dynamically.
즉, 사용자에 대해 짧은 시간 단위로 복수개의 유동 필드 집합을 생성하고, 필요에 따라 조인(join) 연산자 또는 유니온(union) 연산자 등을 이용하여 상기 유동 필드 집합을 결합함으로써 원하는 시간 단위 동안의 상기 사용자의 사용자 행동에 대한 유동 필드 집합을 얻을 수 있다. 예를 들어, 유동 필드 집합(901 및 902)에서 상기 조인 연산자를 통해 병합하여 유동 필드 집합(903)을 생성하거나, 또는 유동 필드 집합(901 및 903)을 상기 유니온 연산자를 통해 병합하여 유동 필드 집합(905)을 생성할 수 있다. 즉, 유동 필드 집합(901, 902 또는 904)간의 병합을 통해 병합된 유동 필드 집합(903 및 905)를 생성할 수 있다.In other words, by generating a plurality of floating field sets for a user in a short time unit and combining the floating field sets using a join operator or a union operator as necessary, the user for a desired time unit. You can get a set of floating fields for the user behavior of. For example, the flow field set 901 and 902 can be merged through the join operator to generate the flow field set 903, or the flow field set 901 and 903 can be merged via the union operator to flow field set 905 may be generated. That is, merged flow field sets 903 and 905 may be generated by merging between flow field sets 901, 902, or 904.
또한, 이와는 반대로 큰 단위의 유동 필드 집합을 작은 단위의 유동 필드 집합으로 분리하는 것도 가능하다.On the contrary, it is also possible to separate large sets of flow fields into smaller units of flow fields.
상기 사용자 행동 분석 시스템은 (1) 전형적인 분석 질의의 형태로 입력된 처리 명령, (2) 상기 전형적인 분석 질의를 쉽게 처리하기 위해 기선정된 연산자를 포함하는 처리 명령 또는 (3) 상기 기선정된 연산자를 내포하면서도, 상기 전형적인 분석 질의의 형태로 표현 가능한 분석 스크립트를 이용한 처리 명령을 분석함으로써 상기 유동 필드 집합을 처리할 수 있다. 이와 같은 상기 전형적인 분석 질의, 상기 기선정된 연산자 및 상기 분석 스크립트의 관계에 대해서는 도 11을 통해 더욱 자세히 설명한다.The user behavior analysis system may comprise (1) a processing instruction entered in the form of a typical analysis query, (2) a processing instruction comprising a pre-selected operator for easily processing the typical analysis query, or (3) the pre-selected operator. In addition, the floating field set may be processed by analyzing a processing instruction using an analysis script that can be expressed in the form of the typical analysis query. The relationship between the typical analysis query, the predetermined operator and the analysis script will be described in more detail with reference to FIG. 11.
도 10은 본 발명에 따른, 유동 필드 집합을 처리하는 일례이다.10 is an example of processing a flow field set in accordance with the present invention.
우선, 상기 사용자 행동 분석 시스템에서 위에서 설명한 상기 기선정된 연산자 즉, 드로우 연산자, 필터 연산자 및 집합 연산자를 포함하는 처리 명령을 통해 상기 유동 필드 집합을 처리하는 방법의 일례를 설명한다.First, an example of a method of processing the floating field set through the processing instruction including the predetermined operator, that is, the draw operator, the filter operator and the set operator described above in the user behavior analysis system will be described.
우선 드로우 연산자(1001)가 입력되는 경우, 드로우 연산자(1001)가 포함하는 시간범위의 사용자 행동에 대한 기록 즉, 상기 시간범위에 해당하는 유동 필드를 유동 필드 집합(1002)에서 추출할 수 있다. 또한, 필터 연산자(1003)가 입력되는 경우, 상기 추출된 유동 필드에서 필터 연산자(1003)가 포함하는 패턴에 맞는 유동 필드를 추출할 수 있다. 마지막으로, 집합 연산자(1004)에 대해 상기 사용자 행동 분석 시스템은 필터 연산자(1003)에 의해 추출된 유동 필드에서 집합 연산자가 포함하는 속성에 해당하는 속성의 총합 또는 개수 등을 측정하는 분석자에게 제공할 수 있다.First, when the
이때, 도 10에 도시된 바와 같이 입력되는 연산자에 따라 예를 들어, 드로우 연산자(1001)와 필터 연산자(1003)만이 입력된 경우 필터 연산자(1003)를 수행한 후 추출된 유동 필드를 상기 분석자에게 제공하는 것도 가능하다. 뿐만 아니라, 서로 다른 조건의 동일한 연산자를 연속으로 수행하거나 동일한 조건의 동일한 연산자를 반복 수행하는 것도 가능하다. 즉, 도 10은 유동 필드 집합을 처리하는 하나의 예로서 분석자로부터 입력되는 연산자의 순서 및 상기 연산자가 포함하는 시간범위 또는 패턴 등의 값에 따라 다양한 수정이 가능하다.In this case, for example, when only the
도 11은 본 발명에 따른, 처리 명령을 설명하기 위한 일례이다.11 is an example for explaining a processing instruction according to the present invention.
위에서 설명한 바와 같이 상기 사용자 행동 분석 시스템은 (1) 전형적인 분석 질의의 형태로 입력된 처리 명령, (2) 상기 전형적인 분석 질의를 쉽게 처리하기 위해 기선정된 연산자를 포함하는 처리 명령 또는 (3) 상기 기선정된 연산자를 내포하면서도, 상기 전형적인 분석 질의의 형태로 표현 가능한 분석 스크립트를 이용한 처리 명령 중 어느 하나를 통해 상기 유동 필드 집합을 처리하는 것이 가능하다.As described above, the user behavior analysis system may comprise (1) a processing instruction entered in the form of a typical analysis query, (2) a processing instruction comprising a pre-selected operator to easily process the typical analysis query or (3) the It is possible to process the floating field set through any one of the processing instructions using an analysis script that can be expressed in the form of the typical analysis query, while incorporating pre-defined operators.
도면부호(1110)은 전형적인 분석 질의의 일례이다. 이러한 상기 전형적인 분석 질의는 위에서 설명한 기선정된 연산자를 통해 즉, 'draw'로 표현될 수 있는 드로우 연산자를 통해 시간범위에 대한 처리가, 'regex'로 표현될 수 있는 필터 연산자를 통해 패턴에 대한 처리가, 그리고 'aggr'로 표현될 수 있는 집합 연산자를 통해 통계 함수(aggregation function) 또는 집단 구분 기준(grouping criteria)에 대한 처리가 각각 가능하다.
도면부호(1120)은 상기 전형적인 분석 질의를 드로우 연산자(1121), 필터 연산자(1122) 및 집합 연산자(1123)를 통해 처리하는 일례를 나타내고 있다. 이때, 도면부호(1124 내지 1126)는 드로우 연산자(1121), 필터 연산자(1122) 및 집합 연 산자(1123)에 따른 처리 결과를 각각 나타낸다.
도면부호(1130)은 상기 전형적인 분석 질의를 위에서 설명한 분석 스크립트로 표현한 일례이다. 상기 분석 스크립트는 상기 전형적인 분석 질의를 쉽게 처리하기 위해 만들어진 상기 기선정된 연산자를 내포하면서도 상기 기선정된 연산자의 기계적인 틀을 벗어나 상기 전형적인 분석 질의의 형태로 표현한 것으로서 사람이 쉽게 인식할 수 있도록 만들어진 스크립트이다.
즉, 상기 사용자 행동 분석 시스템은 위에서 설명한 상기 전형적인 분석 질의, 상기 기선정된 연산자 또는 상기 분석 스크립트 중 어느 하나를 포함하는 처리 명령을 통해 상기 유동 필드 집합을 처리할 수 있다.That is, the user behavior analysis system may process the floating field set through a processing instruction including any one of the typical analysis query, the predetermined operator, or the analysis script described above.
이와 같이 본 발명에 따른 사용자 행동 분석 방법을 이용하면, 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있고, 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것을 가능하게 할 수 있다.As described above, using the user behavior analysis method according to the present invention, time series analysis of user behavior can be easily and conveniently performed by aligning user behaviors by user and according to the order of time through the user log. By thermally analyzing, it is possible to analyze the causes of the use of the website, which was previously difficult to grasp, such as purchase paths and membership behavior patterns for specific events.
또한, 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있고, 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있다.In addition, by analyzing the causes of the usage of the website, the user behavior can be understood, thereby improving the service of the website, and increasing traffic by using a plurality of collection servers that the log analysis server can include. In addition, the analysis time of the user's behavior can be shortened by solving the problem of distributed processing using a plurality of computing clusters.
도 12는 본 발명의 다른 실시예에 있어서, 사용자 행동 분석 시스템의 내부 구성을 설명하기 위한 블록도이다. 도 12에 도시된 바와 같이 사용자 행동 분석 시스템(1200)은 로그 수집 서버(1210), 유동 필드 집합 생성부(1220) 및 유동 필드 집합 처리부(1230)를 포함할 수 있다.12 is a block diagram illustrating an internal configuration of a user behavior analysis system according to another embodiment of the present invention. As illustrated in FIG. 12, the user
로그 수집 서버(1210)는 사용자 로그를 수집한다. 여기서, 상기 사용자 로그는 사용자로부터의 클릭, 키보드 입력 등과 같은 이벤트를 통해 발생하는 게임 머니의 구매, 게임 입장 등의 행동이나, 상기 게임 머니 올인으로 인해 상기 웹서버에서 발생하는 시스템의 행동 등을 모두 포함할 수 있다. 즉, 로그 수집 서버(1210)는 상기 사용자에게 별도의 행동을 요구하지 않고 상기 사용자 로그를 수집할 수 있다. 이때, 도 12에 도시된 바와 같이 로그 수집 서버(1210)는 상기 사용자 로그를 수집하기 위해 사용자 로그 수신부(1211), URL 변경부(1212), STDB(1213) 및 STMS(1214)를 포함할 수 있다.The
사용자 로그 수신부(1211)는 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신한다. 즉, 사용자 로그 수신부(1211)는 상기 사용자 또는 상기 웹서버를 통해 상기 웹서버에 접근하여 의미 있는 행동 즉, 로그인, 로그아웃, 게임 머니의 구매 또는 올인 처리 절차 등과 같이 분석목적과 시나리오에 따라 정의된 사용자 행동이 발생하는 경우, 생성되는 상기 사용자 로그를 수신할 수 있다. 이때, 사용자 로그 수신부(1211)는 사용자의 웹브라우저 및 자바 스크립트 태그를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신할 수 있다.The
URL 변경부(1212)는 상기 사용자 로그가 포함하는 URL을 STDB(1213)를 이용하여 ST 명칭으로 변경한다. 이는 상기 URL을 통해 상기 사용자 행동이 발생하는 경로를 쉽게 파악하기 위한 것으로, 상기 URL에서 불필요한 요소를 제거하기 위함이다. 또한, 분석자가 상기 URL을 통해서는 상기 URL과 연관된 웹페이지를 쉽게 파악할 수 없기 때문에 상기 분석자가 상기 사용자 행동 분석 시스템의 결과를 쉽게 파악할 수 있도록 상기 URL을 상기 ST 명칭으로 변경할 수도 있다.The
STMS(1214)는 STDB(1213)를 관리 및 유지한다. 여기서, STMS(1214)에는 URL과 상기 URL에 대응하는 ST 명칭이 서로 연관되어 저장될 수 있다. 즉, STDB(1213)는 상기 사용자가 웹서버를 통해 접근함으로써 상기 사용자에게 제공된 웹사이트와 연관된 각종 URL들을 포함하고, 상기 URL과 연관된 상기 ST 명칭을 상기 URL과 연관하여 저장하고 있다.The
유동 필드 집합 생성부(1220)는 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 필드명 및 복수의 속성으로 구성될 수 있다.The floating field set
또한, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류될 수 있다. 또한, 상기 사용자 식별 필드는 상기 필드명에 따라 (1) 로그인명으로 분류된 사용자를 나타내는 로그인 필드 또는 (2) 브라우저마다 할당된 영구 쿠키별로 분류된 사용자를 나타내는 영구 쿠키 필드로 분류될 수 있고, 상기 행동 기록 필드는 (1) 사용자 의 특정 페이지 방문을 나타내는 페이지 뷰 필드, (2) 사용자의 특정 링크에 대한 클릭을 나타내는 클릭 필드 또는 (3) 사용자에 대한 시스템의 행동(action)을 나타내는 행동 필드로 분류될 수 있다.In addition, the flow field may be classified into a user identification field for identifying a user and a behavior recording field for recording a behavior of the user or the system. Further, the user identification field may be classified into (1) a login field representing a user classified as a login name or (2) a persistent cookie field representing a user classified by a persistent cookie assigned to each browser according to the field name. The action history field may include (1) a page view field indicating a user's visit to a particular page, (2) a click field indicating a click on a user's specific link, or (3) an action field indicating a system's action on the user. Can be classified as
상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성될 수 있다.The attribute may be composed of an attribute name classifying the attribute and an attribute value defining user behavior.
뿐만 아니라, 상기 유동 필드는 상기 사용자 로그가 포함하는 사용자 행동의 발생 시각을 상기 속성으로서 포함할 수 있다. 즉, 모든 유동 필드는 상기 유동 필드와 연관된 사용자 행동의 발생 시각을 포함할 수 있다.In addition, the flow field may include the time of occurrence of user behavior included in the user log as the attribute. That is, every flow field may include the time of occurrence of user action associated with the flow field.
이러한 유동 필드 집합 생성부(1220)는 도 12에 도시된 바와 같이 유동 필드 생성부(1221) 및 정렬부(1222)를 포함할 수 있다.The flow
유동 필드 생성부(1221)는 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성한다. 즉, 상기 사용자 로그는 상기 사용자 행동을 포함하고, 상기 사용자 행동 분석 시스템은 이러한 상기 사용자 로그를 상기 사용자 행동 분석 시스템이 사용할 수 있는 상기 유동 필드 포맷으로 변환할 수 있다. 위에서 설명한 바와 같이 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷이기 때문에 상기 사용자 로그를 상기 유동 필드 포맷으로 변환하는 경우, 상기 사용자 로그는 상기 유동 필드로서 변환된다. 다시 말해, 상기 유동 필드를 생성할 수 있게 된다.The floating
정렬부(1222)는 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성한다. 이러한 각각의 유동 필드는 유동 필드 자체로서 는 큰 의미가 없기 때문에 상기 유동 필드가 포함하는 상기 사용자 행동의 발생 시각과 상기 사용자를 기준으로 정렬되어 상기 유동 필드 집합을 생성한다.The
유동 필드 집합 처리부(1230)는 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리한다. 상기 유동 필드 집합은 필요에 따라 분할 및 병합이 가능하고, 상기 처리 명령은 (1) 전형적인 분석 질의, (2) 기선정된 연산자 또는 분석 스크립트를 포함할 수 있다.The flow field
첫 번째로, 상기 처리 명령이 전형적인 분석 질의인 경우, 유동 필드 집합을 처리하는 유동 필드 집합 처리부(1230)는 상기 분석 질의가 포함하는 시간범위, 패턴, 통계 함수 또는 집단 구분 기준에 따라 해당하는 유동 필드를 추출하거나 상기 유동 필드가 포함하는 속성에 대한 처리 결과를 제공할 수 있다.First, when the processing command is a typical analysis query, the flow field
두 번째로, 상기 처리 명령이 상기 기선정된 연산자 즉, (1) 입력된 시간범위의 유동 필드를 추출하는 드로우 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터 연산자 및 (3) 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합 연산자를 포함하는 경우, 유동 필드 집합 처리부(1230)는 (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정할 수 있다.Second, the processing instruction is the pre-selected operator, that is, (1) a draw operator for extracting a flow field of the input time range, (2) a filter operator for extracting a flow field conforming to the input pattern, and (3) In the case of including a set operator for measuring the total or the number of the attribute according to the input attribute, the flow field set processing unit 1230 (1) extracts the corresponding flow field in accordance with the draw operator or the filter operator or ( 2) The total or number of attributes corresponding to the set operator may be measured among the flow field set or the extracted flow field.
마지막으로, 상기 처리 명령이 상기 분석 스크립트인 경우, 유동 필드 집합 처리부(1230)는 입력된 상기 분석 스크립트에 따라 상기 시간범위, 상기 패턴 또는 상기 속성 처리 명령에 따라 (1) 해당하는 유동 필드를 추출하거나 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드가 포함하는 속성 중에서 상기 처리 명령에 해당하는 속성의 합계 또는 개수를 측정할 수 있다.Finally, when the processing command is the analysis script, the flow field
또한, 사용자 행동 분석 시스템(1200)에서 데이터의 분산 처리를 위해 상기 로그 수집 서버는 복수의 수집 서버로 구성될 수 있고, 상기 사용자 로그는 상기 복수의 수집 서버에 분산 수집될 수 있다. 이 경우, 유동 필드 집합 처리부(1230)는 상기 유동 필드 집합을 처리하는 복수의 컴퓨팅 클러스터(미도시)를 포함할 수 있다.In addition, the log collection server may be configured with a plurality of collection servers for distributed processing of the data in the user
즉, 동일한 사용자에 대한 유동 필드는 상기 복수의 컴퓨팅 클러스터 중 지정된 동일한 컴퓨팅 클러스터에서 상기 처리 명령에 따라 처리될 수 있고, 유동 필드 집합 처리부(1230)는, 상기 복수의 컴퓨팅 클러스터에서 상기 처리 명령에 따라 분산 처리된 결과를 통합하는 커맨더(commander)를 더 포함할 수 있다. 이와 같이 상기 분산 처리에 대해서는 도 13을 통해 더욱 자세히 설명한다.That is, the flow field for the same user may be processed according to the processing instruction in the designated computing cluster among the plurality of computing clusters, and the flow field
도 13은 본 발명에 따른 데이터의 분산 처리 방법을 설명하기 위한 일례이다.Fig. 13 is an example for explaining a method for distributing data according to the present invention.
단위 시간당 사용량이 많아지는 트래픽(traffic) 증가는 단위 시간 안에 너무 많은 사용자 로그가 입력되는 경우, 로그 수집 서버에 오버로드(overload)를 발생시키거나 혹은 일부 사용자 로그의 소실을 일으킬 수 있는 문제점이 있고, 기록 및 분석해야 하는 데이터가 많아지는 데이터의 증가는 상기 사용자 행동 분석의 시간의 증가로 이어지는 문제점이 있다.Increasing traffic usage per unit time may cause overloading of the log collection server or loss of some user logs if too many user logs are entered within the unit time. Increasing the amount of data that has to be recorded, analyzed, and the like has a problem that leads to an increase in time of the user behavior analysis.
따라서, 상기 사용자 행동을 시간 안에 처리하기 위해 도 13의 일례와 같은 구조를 이용할 수 있다.Thus, a structure such as the example of FIG. 13 can be used to process the user action in time.
도면부호(1300)는 상기 트래픽 증가 및 상기 데이터의 증가에 따른 문제점을 로그 수집 서버 및 컴퓨팅 유닛(computing unit) 즉, 상기 컴퓨팅 클러스터의 개수를 늘려 사용자 로그 및 상기 데이터를 분산 처리함으로써 해결할 수 있음을 보여준다. 예를 들어, 오전 0시와 같은 특정 시간 혹은 특정 이벤트 기간에만 사용자 로그가 약 10배 정도 급증하고 하루 전체의 사용자 로그양은 별 차이가 없다면 상기 컴퓨팅 클러스터의 숫자는 그대로 두고 상기 로그 수집 서버의 숫자만 늘려서 상기 트래픽 증가에 대한 문제점을 해결할 수 있다.
즉, 상기 로그 수집 서버는 복수의 수집 서버로 구성될 수 있고, 상기 사용자 로그는 상기 복수의 수집 서버에 분산 수집될 수 있다. 또한, 유동 필드 집합은 상기 사용자 로그를 통해 생성되어 사용자별로 분류되는 적어도 하나의 유동 필드를 포함하기 때문에 동일한 사용자에 대한 유동 필드를 상기 유동 필드 집합을 처리하는 복수의 컴퓨팅 클러스터 중 지정된 동일한 컴퓨팅 클러스터에서 상기 처리 명령에 따라 처리함으로써 상기 문제점을 해결할 수 있다.That is, the log collection server may be configured with a plurality of collection servers, and the user log may be collected in a distributed manner to the plurality of collection servers. In addition, since the floating field set includes at least one floating field generated through the user log and classified by the user, the floating field for the same user may be assigned to the designated computing cluster among a plurality of computing clusters processing the floating field set. The problem can be solved by processing in accordance with the processing instruction.
보다 자세하게는, 사용자 행동 분석 시스템은 상기 사용자 로그를 각각이 상기 로그 수집 서버와 동일하게 동작하는 복수의 수집 서버에 분산 기록하고, 해쉬함수와 같이 균일한 분산(uniform distribution)을 생성하는 함수를 통해 사용자별로 상기 컴퓨팅 클러스터를 지정함으로써 한 사용자에 대한 사용자 행동이 하나의 컴퓨팅 클러스터를 통해 처리되도록 할 수 있다. 이와 같이 한 명의 사용자에 대한 모든 데이터는 하나의 컴퓨팅 클러스터에서 처리되기 때문에 외부 호스트와의 통신이 불필요하고, 복수의 컴퓨터 클러스터에서 상기 유동 필드 집합을 처리하기 때문에 상기 유동 필드 집합을 처리하는 시간이 단축된다. 또한, 상기 복수의 수집 서버를 이용함으로써 트래픽 문제를 해결할 수 있다.More specifically, the user behavior analysis system distributes and records the user logs to a plurality of collection servers, each of which operates in the same manner as the log collection server, and generates a uniform distribution such as a hash function. By designating the computing cluster for each user, user behavior for one user can be handled through one computing cluster. As such, all data for one user is processed in one computing cluster, so communication with an external host is unnecessary, and the time for processing the floating field set is reduced because the floating field set is processed by a plurality of computer clusters. do. In addition, it is possible to solve the traffic problem by using the plurality of collection servers.
단순 횟수나 사용자 수를 세는 연산에 있어서는 각 컴퓨팅 클러스터별로 숫자를 세고, 그 숫자를 해당하는 그룹별로 합하면 전체 숫자가 계산될 수 있고, 이것은 숫자를 세는 연산(count) 및 합산 연산(sum)이 교환법칙과 결합법칙을 지킨다는 성질에서 비롯된다. 즉, 기존의 방식에서 순방문자수(unique visitor)를 구할 경우에는 같은 사용자를 세었는지 확인하기 위해 사용자 전체를 구성원으로 하는 집합을 유지하여야 하였으나, 처음에 사용자 별로 각 컴퓨팅 클러스터에 저장함으로써 해당 집합을 유지할 필요가 없는 효과가 있다.For simple counting or user counting operations, counting the number by each computing cluster and adding the number to the corresponding group can yield the total number, which is the number of counting and summating operations exchanged. It comes from the property of keeping the law of law and union. In other words, in case of obtaining unique visitor in the existing method, it is necessary to maintain the set of all users to check whether the same user is counted, but to maintain the set by storing each user in each computing cluster. There is no need to effect.
또한, 위에서 설명한 드로우 연산자, 필터 연산자 및 집합 연산자에 따른 연산은 모두 컴퓨팅 클러스터에서 실행될 수 있다. 이때, 각 컴퓨팅 클러스터의 결과를 병합하기 위해 도면부호(1300)에 도시된 커맨더를 이용하여 상기 집합 연산자에 따른 연산을 한번 더 수행할 수도 있다.In addition, the operations according to the draw operators, filter operators, and set operators described above may all be executed in the computing cluster. In this case, the operation according to the set operator may be performed once more by using the commander shown in
이와 같이 본 발명에 따른 사용자 행동 분석 시스템을 이용하면, 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있고, 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것을 가능하게 할 수 있다.As described above, when using the user behavior analysis system according to the present invention, time series analysis of user behavior can be easily and conveniently performed by sorting user behaviors by user and according to the order of time through the user log. By thermally analyzing, it is possible to analyze the causes of the use of the website, which was previously difficult to grasp, such as purchase paths and membership behavior patterns for specific events.
또한, 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있고, 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있다.In addition, by analyzing the causes of the usage of the website, the user behavior can be understood, thereby improving the service of the website, and increasing traffic by using a plurality of collection servers that the log analysis server can include. In addition, the analysis time of the user's behavior can be shortened by solving the problem of distributed processing using a plurality of computing clusters.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한 정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.In the present invention as described above has been described by specific embodiments such as specific components and the like embodiments and drawings, but this is only provided to help a more general understanding of the present invention, the present invention is limited to the above embodiments In other words, various modifications and variations are possible to those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all the things that are equivalent to or equivalent to the claims as well as the following claims will belong to the scope of the present invention. .
본 발명에 따르면, 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있다.According to the present invention, time series analysis of user behavior can be easily and conveniently by sorting user behavior by user and by time order through the user log.
본 발명에 따르면, 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것을 가능하게 할 수 있다.According to the present invention, by analyzing the user's behavior in time series, it is possible to analyze the cause of the usage status of the website, which is difficult to grasp previously, such as a purchase path and a member behavior pattern for a specific event.
본 발명에 따르면, 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있다.According to the present invention, it is possible to understand the user behavior by analyzing the cause of the use status of the website, thereby improving the service of the website.
본 발명에 따르면, 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있다.According to the present invention, it is possible to solve the problem of traffic increase by using a plurality of collection servers that can be included in the log analysis server, and to shorten the analysis time for user behavior through distributed processing using a plurality of computing clusters.
Claims (25)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070047895A KR100912177B1 (en) | 2007-05-17 | 2007-05-17 | User behavior analysis method and system |
JP2008127801A JP4938725B2 (en) | 2007-05-17 | 2008-05-15 | User behavior analysis method and user behavior analysis system |
JP2011263893A JP5264981B2 (en) | 2007-05-17 | 2011-12-01 | User behavior analysis method and user behavior analysis system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070047895A KR100912177B1 (en) | 2007-05-17 | 2007-05-17 | User behavior analysis method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090001751A KR20090001751A (en) | 2009-01-09 |
KR100912177B1 true KR100912177B1 (en) | 2009-08-14 |
Family
ID=40147340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070047895A KR100912177B1 (en) | 2007-05-17 | 2007-05-17 | User behavior analysis method and system |
Country Status (2)
Country | Link |
---|---|
JP (2) | JP4938725B2 (en) |
KR (1) | KR100912177B1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2760835A1 (en) | 2009-05-04 | 2010-11-11 | Visa International Service Association | Frequency-based transaction prediction and processing |
CN106502103B (en) * | 2015-09-06 | 2019-03-01 | 深圳会当科技有限公司 | A kind of analysis method of user behavior |
JP2017220099A (en) * | 2016-06-09 | 2017-12-14 | 株式会社Jsol | System for acquiring user's browsing behavior information in web page through network |
EP3746895B1 (en) * | 2018-01-30 | 2023-09-13 | Celonis SE | Method for generating process protocols in a distributed it infrastructure |
CN111339387B (en) * | 2018-12-18 | 2023-06-09 | 阿里巴巴集团控股有限公司 | Click feedback acquisition method and device based on information template and electronic equipment |
CN110109814B (en) * | 2019-05-15 | 2023-07-21 | 恒生电子股份有限公司 | User behavior data correction method and device |
WO2020245966A1 (en) * | 2019-06-06 | 2020-12-10 | 日本電信電話株式会社 | Ip address assigning device, ip address assigning method, and program |
KR102198789B1 (en) | 2020-03-31 | 2021-01-06 | 쿠팡 주식회사 | Server for generating integrated usage log data and operating method thereof |
KR102713444B1 (en) * | 2023-03-30 | 2024-10-07 | 쿠팡 주식회사 | Apparatus for providing statistical information associated with service |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010097408A (en) * | 2000-04-22 | 2001-11-08 | 이태균 | Method and system for analyzing user behavior |
JP2006323629A (en) * | 2005-05-19 | 2006-11-30 | Kan:Kk | Server analyzing information for page update of web server, web server, and method for updating page |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3778652B2 (en) * | 1997-04-18 | 2006-05-24 | 株式会社日立製作所 | Log data collection management method and apparatus |
JP2001306947A (en) * | 2000-04-20 | 2001-11-02 | Ntt Data Corp | System and method for analyzing access and recording medium |
JP2001350875A (en) * | 2000-06-07 | 2001-12-21 | Nippon Telegr & Teleph Corp <Ntt> | Trend item predicting method and system device |
JP2002041456A (en) * | 2000-07-25 | 2002-02-08 | Nri & Ncc Co Ltd | Journal management server, log collecting method and recording medium |
JP2002230417A (en) * | 2000-11-20 | 2002-08-16 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for introducing recommended item, and recording medium with the recorded recommended item introducing program |
JP2002342211A (en) * | 2001-05-17 | 2002-11-29 | Accent:Kk | Access action analyzing system |
JP3626458B2 (en) * | 2001-06-04 | 2005-03-09 | 株式会社ソニー・コンピュータエンタテインメント | Log collection analysis system, log collection method, log collection program to be executed by computer, log analysis method, log analysis program to be executed by computer, log collection device, log analysis device, log collection terminal, log server |
JP2002366838A (en) * | 2001-06-06 | 2002-12-20 | Toshiba Corp | Recommendation method, server system, and program |
JP2003030403A (en) * | 2001-07-12 | 2003-01-31 | Sumisho Computer Systems Corp | Device and method for collecting profile, system for supporting sales promotion, program and recording medium |
JP2004295303A (en) * | 2003-03-26 | 2004-10-21 | Nri & Ncc Co Ltd | Log collection management system, log collection management method and computer program |
JP2005234689A (en) * | 2004-02-17 | 2005-09-02 | Hitachi Ltd | Community evaluation support method and apparatus |
JP2006295232A (en) * | 2005-04-05 | 2006-10-26 | Lac Co Ltd | Security monitoring apparatus, and security monitoring method and program |
-
2007
- 2007-05-17 KR KR1020070047895A patent/KR100912177B1/en active IP Right Grant
-
2008
- 2008-05-15 JP JP2008127801A patent/JP4938725B2/en active Active
-
2011
- 2011-12-01 JP JP2011263893A patent/JP5264981B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010097408A (en) * | 2000-04-22 | 2001-11-08 | 이태균 | Method and system for analyzing user behavior |
JP2006323629A (en) * | 2005-05-19 | 2006-11-30 | Kan:Kk | Server analyzing information for page update of web server, web server, and method for updating page |
Also Published As
Publication number | Publication date |
---|---|
KR20090001751A (en) | 2009-01-09 |
JP2012069151A (en) | 2012-04-05 |
JP5264981B2 (en) | 2013-08-14 |
JP2008287720A (en) | 2008-11-27 |
JP4938725B2 (en) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100912177B1 (en) | User behavior analysis method and system | |
USRE48681E1 (en) | System and method for tracking web interactions with real time analytics | |
CN111581054B (en) | Log embedded point service analysis alarm system and method based on ELK | |
US9305105B2 (en) | System and method for aggregating analytics data | |
Stewart et al. | Exploiting nonstationarity for performance prediction | |
US7165105B2 (en) | System and method for logical view analysis and visualization of user behavior in a distributed computer network | |
KR101828506B1 (en) | Visualization of jvm and cross-jvm call stacks | |
US20100088354A1 (en) | Method and System for Log File Analysis Based on Distributed Computing Network | |
US20170109657A1 (en) | Machine Learning-Based Model for Identifying Executions of a Business Process | |
US20170109676A1 (en) | Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process | |
US11042899B2 (en) | System and method for tracking users across a plurality of media platforms | |
US20130121580A1 (en) | Analysis of service delivery processes based on interrogation of work assisted devices | |
Sisodia et al. | Web usage pattern analysis through web logs: A review | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US20180046956A1 (en) | Warning About Steps That Lead to an Unsuccessful Execution of a Business Process | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
CN107733902A (en) | A kind of monitoring method and device of target data diffusion process | |
US20150142828A1 (en) | Ontology based categorization of users | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
CN106250397A (en) | A kind of analysis method and device of user behavior feature | |
US20190138422A1 (en) | Predictive insight analysis over data logs | |
US20170109670A1 (en) | Crowd-Based Patterns for Identifying Executions of Business Processes | |
Frhan | Website clickstream data visualization using improved Markov chain modelling in apache flume | |
CN116089490A (en) | Data analysis method, device, terminal and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120705 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130626 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150722 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160725 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170704 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 11 |