Data analysis device and data analysis method
The data analysis device and method streamline data analysis by allowing users to set and adjust data models for multiple analyses, reducing manual effort and errors, and enabling efficient reuse of analysis results across different tasks.
Patent Information
- Application Number
- JP2021211994
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2026-01-08
- Estimated Expiration
- 2041-12-27
AI Technical Summary
Existing data analysis methods require significant manual effort and expertise in programming to adjust data formats and periods for different analytical tasks, leading to inefficiencies and errors, especially when combining machine learning with data aggregation and prediction, and the reuse of features across multiple analyses is challenging due to varying conversion processes.
A data analysis device and method that allows users to input tabular data, set data models based on relation information, and adjust these models for different analyses without requiring advanced programming skills, enabling multiple types of analyses through first and second analysis units that generate results while adding new features and segments to the data model for reuse.
Enables various types of analyses on common input data without the need for programming expertise, reducing manual effort and errors, and facilitating the reuse of analysis results across different analytical steps.
Smart Images

Figure 0007795908000001 
Figure 0007795908000002 
Figure 0007795908000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a data analysis device and a data analysis method. [Background technology]
[0002] There are various data analysis methods, and each method is suited to different data formats and tools. For example, when aggregating and visualizing various data held by a company using a BI (business intelligence) tool, it is generally recommended to store the data before aggregation in a format known as a star schema. However, when performing analysis using machine learning, the data must be aggregated and combined in advance into a single table format. This aggregation and combination is called feature extraction, and it is known to be the reason why analysis using machine learning takes a long time.
[0003] Furthermore, when using machine learning, it is common to use data from different collection periods during learning and when making predictions after learning, so it is also necessary to prepare separate data for learning and prediction.
[0004] As a result, data analysts typically use advanced programming techniques such as SQL to design and implement data conversion processes individually for each analytical purpose, and use appropriate tools to achieve the desired analysis.
[0005] Furthermore, in order to reduce the effort required for data conversion processing in analysis, a technique is known that automatically generates target variables and feature quantities by automatically combining and aggregating multiple input data (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Publication No. 2020-135054 Summary of the Invention [Problem to be solved by the invention]
[0007] Incidentally, when analyzing sales activity and sales data for the purpose of supporting sales activities, for example, the following data utilization applications are possible: In other words, data utilization applications in the field to support sales activities include regularly monitoring sales indicators in reports, identifying areas to dig deeper into in reports and combining multiple axes to perform more detailed aggregations, using machine learning to identify the underlying causes of business issues discovered in reports, using machine learning predictions to identify areas with high potential for improvement and implement measures, and checking the implementation status of measures in reports.
[0008] However, the above-mentioned data utilization applications are not independent, but are part of an iterative improvement process. Generally, a single analytical method cannot cover all applications, so achieving this improvement process requires a significant amount of work, including identifying analytical methods for each step, selecting tools, designing and implementing data conversion processes, and considering how to link data between steps.
[0009] Furthermore, even if useful features are discovered in an analysis at one step, in order to reuse them in an analysis at another step, the method of aggregating and converting features must be readjusted to be optimal for each step, because the conversion processes required for the analysis at each step are different. This makes it difficult to reuse the knowledge gained from each analysis in other steps.
[0010] Furthermore, solving business problems generally requires combining multiple types of analysis, such as machine learning and aggregation, and each analysis requires separate conversion processing.
[0011] Furthermore, when training a model using machine learning, a phenomenon known as "leakage" occurs, in which some of the information from the target variable aggregation period is unintentionally included in the feature. To prevent leaks, it is necessary to adjust the data periods used for the feature and target variables so that they do not overlap with each other.
[0012] On the other hand, when making predictions using a trained model, it is necessary to recalculate the features based on the time point at which the prediction is actually desired, and different values must be calculated at the time of training and the time of prediction.Furthermore, in aggregation applications such as reports, it is often necessary to calculate values based on the most recent date, as it is often desired to monitor the most recent numerical values.
[0013] In other words, the appropriate aggregation period differs depending on the application: model training, prediction, and aggregation. Therefore, the feature values obtained through the conversion process for each analysis cannot be directly reused for another analysis. Instead, an expert with knowledge of programming languages such as SQL must be involved to adjust the feature aggregation period, which is time-consuming and prone to errors.
[0014] The present disclosure has been made in consideration of these points, and its purpose is to enable various types of analysis to be performed based on common input data without the need for experts with advanced programming skills. [Means for solving the problem]
[0015] In order to achieve the above object, a data analysis apparatus according to one embodiment of the present disclosure includes a data input unit for inputting a plurality of tabular data items having a plurality of feature quantities, a data model setting unit that accepts setting of relation information that defines the corresponding relationships between the plurality of tabular data items input to the data input unit and sets a data model to be analyzed, a data adjustment unit that adjusts the data model set by the data model setting unit based on analysis setting information, a first analysis unit that performs a first analysis on the data model set by the data model setting unit and generates a first analysis result, and a second analysis unit that performs a second analysis on the data model adjusted by the data adjustment unit and generates a second analysis result.
[0016] According to this configuration, when a plurality of tabular data are input and relation information defining the correspondence between the tabular data is accepted, a data model to be analyzed is set by the data model setting unit. Once the data model is set, the data adjustment unit adjusts the data model based on analysis setting information set by, for example, a user. The first analysis unit performs a first analysis on the data model set by the data model setting unit and generates a first analysis result, while the second analysis unit performs a second analysis on the data model adjusted by the data adjustment unit and generates a second analysis result. This makes it possible to perform different types of analysis without forcing the user to perform tasks such as adjusting the aggregation period for feature quantities.
[0017] In another aspect, new features contained in the analysis results of at least one of the first analysis unit and the second analysis unit can be added to the data model to be analyzed next time, thereby reducing the burden on the user.
[0018] In another aspect, a data model to be analyzed can be set by accepting segment settings for extracting a portion of data from multiple tabular data, and in this case, a new segment included in the analysis results of at least one of the first analysis unit and the second analysis unit can be added to the data model to be analyzed next time.
[0019] In another aspect, when the first analysis unit receives the designation of a dependent variable, it extracts features highly related to the designated dependent variable and performs a factor analysis to extract segments in which the average value of the dependent variable is relatively high or low compared to the average value of the dependent variable of all data. Based on the results of the factor analysis performed by the first analysis unit, the features highly related to the dependent variable can be added to the data model to be analyzed next. [Effects of the Invention]
[0020] As described above, it is possible to execute a first analysis on a data model set based on multiple tabular data and relation information, adjust the set data model based on analysis setting information, and execute a second analysis, different from the first analysis, on the adjusted data model. Therefore, various types of analyses can be performed based on common input data without the intervention of an expert with advanced programming skills. [Brief explanation of the drawings]
[0021] [Figure 1] 1 is a diagram illustrating a schematic configuration of a data analysis apparatus according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram of a data analysis device. [Figure 3] FIG. 10 is a diagram illustrating an example in which the data period used to calculate the feature amount differs depending on the purpose of analysis. [Figure 4] 10 is a flowchart illustrating an example of a data analysis procedure. [Figure 5] FIG. 2 is a block diagram showing details of a data input unit, a data model setting unit, an adjustment unit, an analysis unit, and an output unit. [Figure 6] 10A and 10B are diagrams illustrating examples of screen configurations that can be displayed on a display unit. [Figure 7] FIG. 10 is a diagram illustrating an example of data to be analyzed. [Figure 8] FIG. 10 is a diagram illustrating an example of an analysis target data screen. [Figure 9] FIG. 10 is a diagram illustrating an example of setting relation information. [Figure 10] FIG. 1 is a diagram illustrating three types of multiplicity. [Figure 11] FIG. 10 is a diagram illustrating an example of a relation setting screen. [Figure 12] FIG. 10 is a diagram illustrating an example of an analysis list screen. [Figure 13] FIG. 10 is a diagram illustrating an example of a setting screen for a report analysis. [Figure 14] FIG. 10 is a diagram illustrating a method for calculating values to be displayed in a table for form analysis. [Figure 15] FIG. 10 is a diagram showing values set as a form. [Figure 16] FIG. 10 is a diagram illustrating an example of an output screen of a form. [Figure 17] FIG. 10 is a diagram illustrating an example of a tree analysis screen. [Figure 18] FIG. 10 is a diagram showing an example of an output screen when two locations on a form are selected. [Figure 19] FIG. 10 is a diagram illustrating an example of a conversion rule from form analysis to tree analysis. [Figure 20] FIG. 17 is a diagram equivalent to FIG. 17 showing the state of tree analysis started from form analysis. [Figure 21] FIG. 10 is a diagram showing an example of a tree analysis screen that can trigger starting of form analysis from tree analysis. [Figure 22] FIG. 10 is a diagram illustrating an example of a tree analysis screen in which a referral section is selected. [Figure 23] FIG. 10 is a diagram illustrating an example of a conversion rule from tree analysis to form analysis. [Figure 24] FIG. 10 is a diagram showing an example of an output screen showing a form analysis started from a tree analysis. [Figure 25]FIG. 10 is a diagram showing an example of a screen on which information on form analysis is embedded and displayed in the display area of tree analysis. [Figure 26] FIG. 10 is a diagram illustrating an example of a setting screen for factor analysis. [Figure 27] 10 is a flowchart illustrating an example of a processing procedure for factor analysis. [Figure 28] FIG. 10 is a diagram showing an example of a segment output screen. [Figure 29] FIG. 28 corresponds to FIG. 28 when the feature amount is output. [Figure 30] 10 is a flowchart illustrating an example of a procedure for outputting a feature amount. [Figure 31] FIG. 10 is a diagram showing an example of an analysis target data screen after updating. [Figure 32] FIG. 10 is a diagram illustrating an example of a setting screen for predictive analysis. [Figure 33] FIG. 10 is a diagram illustrating an example of a scoring setting screen. [Figure 34] FIG. 10 is a diagram illustrating an example of a correspondence table between the number of occurrences of a rule and a score. [Figure 35] FIG. 10 is a diagram illustrating data in a case where the reference date of the learning data and the reference date of the prediction data are different. [Figure 36] FIG. 10 is a diagram illustrating an example of a predicted value display screen. [Figure 37] FIG. 36 is a diagram corresponding to FIG. 36 when calculating ROI. [Figure 38] FIG. 10 is a diagram illustrating the link from factor analysis to predictive analysis. [Figure 39] FIG. 10 is a diagram illustrating an example of a segment saving screen. [Figure 40] FIG. 10 is a diagram showing an example of a setting screen for a conditional expression. [Figure 41] FIG. 10 is a diagram illustrating a case where segments generated from predictive analysis are collated in a tabular format. [Figure 42] FIG. 10 is a diagram illustrating an example of a setting screen when updating a report analysis. DETAILED DESCRIPTION OF THE INVENTION
[0022] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the following description of the preferred embodiments is merely exemplary in nature and is not intended to limit the present invention, its applications, or its uses.
[0023] Fig. 1 is a diagram showing a schematic configuration of a data analysis device 1 according to an embodiment of the present invention, and Fig. 2 is a block diagram of the data analysis device 1. The data analysis device 1 is a device for analyzing various types of analysis target data, and by using this data analysis device 1, it is possible to execute the data analysis method according to the present invention.
[0024] Before describing the configuration of the data analysis device 1, an example of actual data analysis will be described with reference to FIG. 3. Analysis 1 predicts the objective variable from July to December 2018 based on the actual performance of the objective variable from January to June 2018, using one year of data for features. Analysis 2 predicts the objective variable from April to June 2019 based on the actual performance of the objective variable from January to March 2019, using six months of data for features. Analysis 3 is visualization using a report, and the feature values are calculated based on the period up to the most recent data. Furthermore, analyses 1 and 2 require model training, and the period used for this training differs from the period used for prediction. Thus, the appropriate aggregation period for model training, prediction, and aggregation purposes may differ depending on the application. Therefore, the feature values obtained by the conversion process for each analysis may not be directly applicable to another analysis. Even in such cases, the data analysis device 1 according to this embodiment enables various analyses from common data without the intervention of an expert with programming knowledge such as SQL. The configuration of the data analysis device 1 will be described in detail below.
[0025] (Overall configuration of data analysis device 1) As shown in FIGS. 1 and 2 , the data analysis device 1 includes a device main body 2, a monitor 3, a keyboard 4, and a mouse 5, and the monitor 3, keyboard 4, and mouse 5 are connected to the device main body 2. The device main body 2 and monitor 3 may be integrated, or part of the device main body 2 or part of the functions executed by the device main body 2 may be built into the monitor 3. The data analysis device 1 includes a built-in communication module (not shown) and is configured to enable communication with the outside. This enables, for example, downloading data from an external server via an internet line. The communication may be wireless or wired. The keyboard 4 and mouse 5 are examples of operation means for operating the data analysis device 1, as well as examples of input means for inputting various information and selection means for performing selection operations. In addition to or instead of the keyboard 4 and mouse 5, a touch panel input device, a voice input device, a pen-type input device, or the like may be used.
[0026] For example, the data analysis apparatus 1 can be configured by installing a program capable of executing the control and processing described below on a general-purpose personal computer. Alternatively, the data analysis apparatus 1 can be configured with dedicated hardware on which the program is installed. For example, the program can be installed directly on a user's personal computer, allowing the personal computer to function as the data analysis apparatus 1; the program can be installed on a server to configure the data analysis apparatus 1, allowing each user to access the data analysis apparatus 1 via a network using their personal computer's browser; or the data analysis apparatus 1 can be placed on a cloud, allowing each user to access the data analysis apparatus 1 from their personal computer's browser. Furthermore, some of the control and processing described below can be executed on a user's personal computer, while the rest can be executed on another user's personal computer or on the cloud. In other words, the control and processing performed by the data analysis apparatus 1 do not all need to be executed on the same personal computer; any system that ultimately achieves similar effects can be the data analysis apparatus 1. Similarly, in the data analysis method shown as an example in FIG. 4, steps S1 to S8 do not all need to be executed on the same personal computer. In this embodiment, an example is shown in which sales activity data is analyzed using the data analysis device 1, and the results of the analysis are used to carry out a series of activities, including monitoring and in-depth analysis of sales indicators such as the number of negotiations and the success rate, analyzing the causes of changes when they occur, creating a list of potential companies for improvement, and monitoring the progress of measures. However, the data analysis device 1 can also be used for purposes other than supporting sales activities.
[0027] (Monitor 3 configuration) The monitor 3 shown in FIG. 1 may be, for example, an organic electroluminescence (EL) display or a liquid crystal display (LCD). It may be referred to as a display unit by itself, or the monitor 3 and the display control unit 3a shown in FIG. 2 may be collectively referred to as a display unit. The display control unit 3a may be built into the monitor 3 or into the device main body 2. The display control unit 3a includes a display DSP for displaying images on the monitor 3. The display control unit 3a may also include a video memory, such as a VRAM, for temporarily storing image data when displaying the images. The display control unit 3a transmits control signals to the monitor 3 to display a predetermined image based on a display command sent from the CPU 11a of the main control unit 11 (described later). For example, the display control unit 3a transmits control signals to display various user interfaces (described later), icons, and user operations using the keyboard 4 or mouse 5 on the monitor 3. A pointer operable with the mouse 5 can also be displayed on the monitor 3. The monitor 3 can also be a touch panel monitor, which allows the monitor 3 to have various information input functions, operation functions for the data analysis device 1, and selection operations.
[0028] (Overall configuration of device main body 2) The device main body 2 shown in Fig. 1 includes a control unit 10 and a storage unit 30. The storage unit 30 is configured with a hard disk drive, a solid state drive (SSD), or the like. The storage unit 30 is connected to the control unit 10 and is controlled by the control unit 10, and is capable of storing various data and also capable of reading out the stored data. Part or all of the storage unit 30 may exist on the cloud.
[0029] (Control unit 10) Although not specifically shown, the control unit 10 can be configured with an MPU, a system LSI, a DSP, dedicated hardware, etc. The control unit 10 is equipped with various functions as will be described later, which may be realized by logic circuits or by executing software.
[0030] As shown in FIG. 2, the control unit 10 includes a main control unit 11, a data input unit 12a, a data model setting unit 12b, a first adjustment unit 13, a second adjustment unit 14, a first analysis unit 15, a second analysis unit 16, an output unit 18, a third analysis unit 19, and a fourth analysis unit 20. FIG. 5 shows details of the data input unit 12a, the data model setting unit 12b, the first adjustment unit 13, the second adjustment unit 14, the first analysis unit 15, the second analysis unit 16, and the output unit 18, as well as information transmission and reception paths. FIG. 6 shows an example of a screen configuration that can be displayed on the monitor 3. Each screen in FIG. 6 is a so-called user interface, and is a screen on which various information is presented to the user and on which the user performs operations such as inputting, setting, and selecting various information. The display control unit 3a can generate each screen based on a signal from the main control unit 11 and display it on the monitor 3, but the generation of each screen may also be performed by an analysis unit such as the first analysis unit 15 or the second analysis unit 16.
[0031] As shown in Figure 6, the menu section includes workflow, analysis target data, relations, segments, and analysis. (Details will be provided later.) Workflows are displayed on the workflow screen, analysis target data on the analysis target data screen, relations on the relation setting screen, segments on the segment list screen, and analysis on the analysis list screen. Data editing is possible on the workflow screen, and segments can be edited by switching from the segment list screen to the segment editing screen. Furthermore, report analysis, tree analysis, factor analysis, predictive analysis, and other analysis functions are available on the analysis list screen. In other words, users can set data models on the analysis target data, relations, and segments screens from the menus, and then start various analyses from the analysis list screen. The workflow screen is also used to preprocess input data. This screen can be used to perform preprocessing required to prepare the data for analysis, such as deleting columns and merging data.
[0032] As shown in Figure 6, in this embodiment, four types of analysis - "form analysis," "tree analysis," "factor analysis," and "predictive analysis" - can be performed on a common data model. Form analysis and tree analysis are analyses that aggregate and visualize the data to be analyzed in table format and tree format, respectively, and are frequently used for daily monitoring and reporting. Factor analysis and predictive analysis are analyses that use machine learning, and although they are used less frequently than form analysis and tree analysis, they are used to solve problems that cannot be solved by simple aggregation through advanced analysis.
[0033] Although the components of the control unit 10 are described separately as above, the same components may be configured to perform multiple processes, or the control unit 10 may be further divided into multiple components and configured to perform a single process in cooperation with each other. The above hardware components are connected via an electrical communication path (wiring) such as the bus B shown in Figure 2 so as to be capable of two-way or one-way communication as needed.
[0034] The main control unit 11 performs numerical calculations, arithmetic processing, various information processing, etc. based on various programs, and also controls each part of the hardware. The main control unit 11 includes a CPU 11a that functions as a central processing unit, a work memory 11b such as RAM that functions as a work area when the main control unit 11 executes various programs, and a program memory 11c such as ROM, flash ROM, or EEPROM that stores a startup program, initialization program, etc.
[0035] As shown in Fig. 5, the data input unit 12a is a section for a user to input a plurality of tabular data (analysis target data) having a plurality of feature quantities. In the example shown in Fig. 5, two pieces of analysis target data are input, but this is not limiting, and three or more pieces of analysis target data may be input. It is also possible to input one piece of analysis target data. The data input unit 12a makes it possible to execute the process of step S1 of the flowchart shown in Fig. 4, i.e., the data input step.
[0036] The data input unit 12a generates a data input user interface (not shown) and displays it on the monitor 3. The data input unit 12a accepts various operations performed by the user on the data input user interface. The user's operations may be, for example, operations on the keyboard 4, operations on the mouse 5 (including button clicks, drag and drop, wheel rotation, etc.), tap operations on a touch panel input device, drag operations, etc., and any of these operations may be used. The same applies hereinafter.
[0037] For example, if a file containing data to be analyzed is saved in an external storage device or the storage unit 30 (shown in FIG. 2) and is on the desktop or in an open folder, the user drags and drops the file onto the data input user interface. This loads the file containing the data to be analyzed and stores it in a predetermined area of the storage unit 30. If the data to be analyzed is stored in a database, the user connects to the database, loads the desired data to be analyzed, and stores it in a predetermined area of the storage unit 30. If the data to be analyzed is stored on the Internet or a server, the user inputs a URL. The data to be analyzed is downloaded from the Internet or a server and stored in a predetermined area of the storage unit 30. The above-described method is an example, and any method for inputting data to be analyzed may be used. The above is the data input step of step S1 in the flowchart shown in FIG. 4.
[0038] Figure 7 shows an example of data to be analyzed entered in the data input step. Here, four pieces of data to be analyzed are entered: "Company," "Negotiations," "Sales Activities," and "Calendar." An analysis type (e.g., numeric, categorical, or date) is set for each attribute. In other words, the data to be analyzed contains multiple attributes. An attribute is an item in the data to be analyzed that consists of a name and type pair. Attributes include company ID, location, and activity date. A type is a classification that defines the values that an attribute can take. While classification methods vary depending on the system, a typical relational database assigns each attribute one of the following data types: INT (integer), REAL (real number), DATE (date), or VARCHAR (character string). In actual databases, a wide variety of other data types are used. The data to be analyzed can also be, for example, a CSV file or a table in a relational database.
[0039] The type information may be inferred from the type in a relational database. For example, an INT type in the database may be treated as a numeric type. The type information may also be specified by the user. If necessary, preprocessing such as string replacement may be performed by the user or the system itself.
[0040] The input data to be analyzed can be viewed on an analysis target data screen 100 shown in FIG. 8 . The analysis target data screen 100 is generated by the display control unit 3 a and displayed on the monitor 3. The analysis target data screen 100 includes a name display area 101 that displays the names of the data to be analyzed and an add analysis target data button 102. The name display area 101 can display a list of the names of the multiple data to be analyzed. In this example, examples of the input data to be analyzed include “Company,” “Negotiations,” “Sales Activities,” and “Calendar.” Operating the add analysis target data button 102 allows new data to be input. The analysis target data screen 100 also includes a data display area 103. When the user selects any one of the names of the multiple data to be analyzed displayed in the name display area 101, the contents of the selected data to be analyzed are displayed in a table format in the data display area 103. If necessary, various processing operations, such as data type conversion, may be performed on the data on the analysis target data screen 100 using a workflow screen. It is also possible to configure the system so that it accepts an operation to delete data to be analyzed that has already been input.
[0041] The data model setting unit 12b shown in FIG. 5 is a part that accepts the setting of relation information that defines the relationships between feature quantities included in multiple pieces of data to be analyzed, input to the data input unit 12a, and sets the data model to be analyzed. Each piece of data to be analyzed is in tabular format and therefore has rows and columns. Relation information is information for defining the corresponding relationships between rows among multiple pieces of data to be analyzed, and this relation information is additionally set by the user. Also, although not required, if necessary, the user can define extraction conditions (segments), which will be described later, and store these segments in the storage unit 30 with names, etc. In other words, the data model is a combination of multiple pieces of tabular data used as input for analysis and relations that define the corresponding relationships between them, and can also include definitions of segments commonly used in the analysis.
[0042] The setting of the relation information is executed in step S2 of the flowchart shown in Fig. 4. The processing content of step S2 will be explained with reference to Figs. 9 to 11. Fig. 9 is a diagram explaining the relation between a plurality of data to be analyzed, and Fig. 10 shows the types of multiplicity. Step S2 corresponds to the data model setting step.
[0043] In step S2, first, the user defines a relation (link) between pieces of data to be analyzed on a relation setting screen 110 as shown in FIG. 11. The relation setting screen 110 is a screen generated by the display control unit 3a and displayed on the monitor 3. The relation setting screen 110 is provided with a relation display area 111, in which a relation between different pieces of data to be analyzed can be arbitrarily set. The relation is set by the user specifying the name of an attribute for each set of data to be analyzed. The relation display area 111 includes multiple areas 111a to 111d. Each of the areas 111a to 111d has the same configuration. For example, the topmost area 111a is provided with a first designation section 111e for designating the name of an attribute of one piece of data to be analyzed and a second designation section 111f for designating the name of an attribute of another piece of data to be analyzed. In this example, the first designation section 111e designates an arbitrary name from the attribute names of the data to be analyzed, "Company," and the second designation section 111f designates an arbitrary name from the attribute names of the data to be analyzed, "Business Negotiation." Designations can be made in the same way in the other areas 111b to 111d. Through this designation operation, rows with matching values for the designated attributes are considered to correspond to each other.
[0044] The attribute used in a relation is called a join key. For example, if you set a relation with the company ID as the join key for the data to be analyzed, "Company" and "Negotiation," rows with the same company ID will be considered linked. The symbol L in Figure 9 is a line that indicates the relationship.
[0045] In the case of a relational database, the correspondence between the attributes of the data to be analyzed may already be defined on the database side. This correspondence defined on the database side is called a foreign key constraint. If this foreign key constraint exists, the already set correspondence may be read on the data analysis device 1 side in step S1 above, and the definition of the relationship between the data to be analyzed may be automatically set on the data analysis device 1 side.
[0046] Once the relationships between the data to be analyzed are defined as described above, the data analysis apparatus 1 automatically determines the degree of multiplicity for each correspondence. The automatic determination of the degree of multiplicity is performed by the control unit 10. As shown in FIG. 10, there are three types of multiplicity: 1:1, 1:N, and N:N, which can be determined by referring to the contents of the data to be analyzed. The 1:1 type is a relationship in which one row of data to be analyzed corresponds to one row of data to be analyzed on the other side. The 1:N type is a relationship in which one row of data to be analyzed corresponds to multiple rows of data to be analyzed on the other side. The N:N type is a relationship in which one row of data to be analyzed corresponds to multiple rows of data to be analyzed on the other side, and one row of data to be analyzed corresponds to multiple rows of data to be analyzed on the one side.
[0047] The relationship setting screen 110 shown in Fig. 11 has a multiplicity display area 112. The multiplicity display area 112 displays the results of the multiplicity determination automatically performed as described above. In this example, it can be seen that there is a 1:N relationship between "Company" and "Business Negotiations." The determination results displayed in the multiplicity display area 112 are updated in real time.
[0048] The data model setting unit 12b is further configured to be able to accept the setting of a segment for extracting a portion of data from a plurality of pieces of data to be analyzed. A segment is a subset of data extracted by applying row extraction conditions to the data to be analyzed, and can also be called a combination of an attribute and its conditions.
[0049] The data to be analyzed, the relationship information, and the segments constitute a data model, which serves as common input and setting information when performing various analyses, which will be described later. That is, the data model setting unit 12b accepts the input of the data to be analyzed, the setting of the relationship information, and the setting of the segments, and sets the data model to be analyzed. Once the data model setting unit 12b has completed setting the data model, the user can freely start various analyses from a single data model.
[0050] Here, the detailed structure of the data analysis device 1 will be described with reference to Fig. 5. The specific functions and operations of each part will be described with reference to the flowcharts described later and screen examples displayed on the monitor 3, but only an outline will be given here.
[0051] 5, the data model set by the data model setting unit 12b is input to a first adjustment unit (data adjustment unit) 13 and a second adjustment unit (data adjustment unit) 14, respectively. If analysis setting information has been set by the user, the first adjustment unit 13 and the second adjustment unit 14 adjust the data model based on the analysis setting information. If analysis setting information has not been set, the first adjustment unit 13 and the second adjustment unit 14 do not adjust the data model. The analysis setting information may include a target variable, which may be specified by the user.
[0052] The first analysis unit 15 performs a first analysis on the data model set by the data model setting unit 12b and generates a first analysis result. The first analysis unit 15 includes a first conversion and integration processing unit 15a and a first processing engine 15b. The first conversion and integration processing unit 15a automatically performs the necessary conversion and integration processing based on the data model input to the first analysis unit 15. This conversion and integration processing may include an automatic feature generation process as disclosed in Patent Document 1. The data model converted and integrated by the first conversion and integration processing unit 15a is input to the first processing engine 15b. The analysis processing performed by the first processing engine 15b includes at least one or both of a process using machine learning and an aggregation process using SQL or the like. Note that if the data model has not been adjusted by the first adjustment unit 13, the first analysis unit 15 performs analysis on the unadjusted data model. However, if the data model has been adjusted by the first adjustment unit 13, the first analysis unit 15 may perform analysis on the adjusted data model.
[0053] If the analysis setting information includes a target variable specified by the user, the first analysis unit executes a factor analysis. The first analysis unit extracts features highly correlated with the specified target variable, compares them with the average value of the target variable for all data, and executes a factor analysis to extract segments where the average value of the target variable is relatively high or low, thereby enabling deeper data analysis.
[0054] The first analysis unit 15 can also automatically generate new feature quantities that do not exist in the original data model as feature quantities that have a high degree of correlation with the objective variable specified by the user.
[0055] The second analysis unit 16 is a unit that performs a second analysis on the data model adjusted by the second adjustment unit 14 and generates a second analysis result, and includes a second conversion and integration processing unit 16a and a second processing engine 16b. The second conversion and integration processing unit 16a is a unit that automatically performs conversion and integration processing internally based on the data model input to the second analysis unit 16, similar to the first conversion and integration processing unit 15a. The data model that has undergone conversion and integration processing by the second conversion and integration processing unit 16a is input to the second processing engine 16b. The second processing engine 16b is configured similarly to the first processing engine 15b. Note that if the data model has been adjusted by the second adjustment unit 14, the second analysis unit 16 performs analysis on the adjusted data model. However, if the data model has not been adjusted by the second adjustment unit 14, the second analysis unit 16 may perform analysis on the unadjusted data model.
[0056] The first analysis unit 15 can also perform predictive analysis to predict the value of the dependent variable for each piece of data to be predicted. In this case, the first analysis unit 15 can accept a prediction base date set by the user as analysis setting information. Upon accepting the prediction base date, if the data model to be predicted includes a feature quantity having an aggregation period as a parameter, the first analysis unit 15 executes a process to automatically recalculate the value of each feature quantity having the aggregation period as a parameter based on the accepted prediction base date.
[0057] When machine learning is used for the analysis, the first analysis unit 15 accepts a learning reference date set by the user as analysis setting information. The first analysis unit 15 can perform factor analysis by aggregating feature amounts based on data aggregated for a period before the accepted learning reference date and aggregating dependent variables based on data aggregated for a period after the learning reference date. In other words, the user can arbitrarily change the aggregation period of the data for aggregating feature amounts and the aggregation period of the data for aggregating dependent variables.
[0058] When the first analysis unit 15 performs factor analysis, the second analysis unit 16 can perform predictive analysis based on a data model to which feature quantities extracted by the factor analysis performed by the first analysis unit 15 as feature quantities highly associated with the target variable are added. In this case, the second analysis unit 16 can accept, as analysis setting information, a setting of a prediction base date different from the learning base date. The data model to be predicted may include feature quantities having an aggregation period as a parameter. In this case, the aggregation period for data used to aggregate feature quantities used in predictive analysis differs from the aggregation period for data used in factor analysis. Therefore, when performing predictive analysis, the second analysis unit 16 does not use the feature quantities extracted by factor analysis as they are, but automatically recalculates the value of each feature quantity based on the prediction base date to obtain feature quantities suitable for predictive analysis.
[0059] The second analysis unit 16 can score the objective variable for each data item of the prediction target predicted by predictive analysis according to the rule-based method, and can also score the objective variable for each data item of the prediction target predicted by predictive analysis according to the machine learning method. In this case, the second analysis unit 16 accepts a user selection operation of either the rule-based method or the machine learning method. The second analysis unit 16 performs scoring of the predictive analysis according to the method selected by the user from either the rule-based method or the machine learning method.
[0060] When predictive analysis scoring is performed, the second analysis unit 16 can display the data on the monitor 3 in descending order of score. The second analysis unit 16 can accept input from the user of a data range to which a certain measure should be applied, as well as input of the cost per measure and the profit to be obtained per achievement of the objective. The second analysis unit 16 can calculate the total cost and total profit to be obtained when a measure is applied to the data range, based on the number of data included in the data range, the cost per measure, and the profit to be obtained per achievement of the objective.
[0061] The second analysis unit 16 calculates the total cost of the measure and the total profit to be obtained by the measure, and also automatically calculates the number of data items for which the measure should be implemented, thereby enabling the user to present a numerical value of the return on investment to be obtained when the measure is implemented.
[0062] 2, the data analysis device 1 may include a third analysis unit 19 and a fourth analysis unit 20. The third analysis unit 19 is a unit that executes form analysis based on a data model, and displays the form analysis results in a matrix on the monitor 3. The third analysis unit 19 receives a selection of reference data and comparison data from the user on the matrix, and further displays information related to the difference between the two received data on the monitor 3.
[0063] The fourth analysis unit 20 is a part that executes tree analysis to display information related to the differences between the two pieces of data in a tree form, and displays the differences between the two pieces of data on the monitor 3 while focusing on specific feature quantities. When the data analysis device 1 is equipped with the third analysis unit 19 and the fourth analysis unit 20, it is configured to be able to derive a form analysis by the third analysis unit 19 from the tree analysis by the fourth analysis unit 20 and display it on the monitor 3.
[0064] The output unit 18 is a part that adds new features contained in the analysis results of at least one of the first analysis unit 15 and the second analysis unit 16 to the data model to be analyzed next. When the first analysis unit 15 executes the first analysis, the analysis results are obtained, and these analysis results may contain features that are useful for another analysis. The same is true for the analysis results obtained by the second analysis unit 16. If such features are included, adding these features to the data model to be analyzed next makes it possible to perform an analysis using the new features in the next analysis.
[0065] The output unit 18 can also add new segments included in the analysis results of at least one of the first analysis unit 15 and the second analysis unit 16 to the data model to be analyzed next. A segment is a subset of data extracted by applying row extraction conditions to the data to be analyzed, and can also be called a combination of attributes and their conditions. This segment may be included in the analysis results obtained from the first analysis unit 15 or the analysis results obtained from the second analysis unit 16. If such a segment is included, adding the segment to the data model to be analyzed next enables analysis using the new segment in the next analysis. In other words, if features or segments are obtained as a result of an analysis, adding them to the data model makes it possible to easily use the results obtained from one analysis as input for another analysis.
[0066] When the first analysis unit 15 executes the factor analysis, the output unit 18 adds, to the data model to be analyzed next, features that are highly associated with the objective variable specified by the user, based on the results of the factor analysis executed by the first analysis unit 15. Furthermore, when segments are extracted as a result of the factor analysis executed by the first analysis unit 15, the output unit 18 adds the segments extracted based on the executed factor analysis to the data model to be analyzed next.
[0067] When the second analysis unit 16 performs factor analysis and scores, the output unit 18 can output some of the data with high scores identified by the predictive analysis as a segment and add it to the data model to be analyzed next time.
[0068] When the definition of a relation is completed in step S2 of the flowchart shown in FIG. 4, the process proceeds to step S3. In step S3, a form analysis and a tree analysis are performed. Before describing step S3, an example of an analysis performed by the data analysis device 1 after the data model configuration is completed will be described below. When the data model configuration is completed, the display control unit 3a of the data analysis device 1 generates an analysis list screen 120 shown in FIG. 12 and displays it on the monitor 3. The analysis list screen 120 includes an analysis type selection unit 121. Clicking the analysis type selection unit 121 displays analysis types such as "form analysis," "tree analysis," "factor analysis," and "predictive analysis," allowing the user to select a desired analysis type from among them. This selection operation may be any operation and can be performed using the keyboard 4, the mouse 5, or the like. Pressing the Create button 122 executes the selected analysis. The example shown in FIG. 12 shows the case where "form analysis" is selected. Factor analysis is the first analysis performed by the first analysis unit 15, predictive analysis is the second analysis performed by the second analysis unit 16, report analysis is the third analysis performed by the third analysis unit 19, and tree analysis is the fourth analysis performed by the fourth analysis unit 20.
[0069] When the main control unit 11 of the data analysis device 1 detects that "Report Analysis" has been selected, it accepts the settings for the report analysis. First, the display control unit 3a generates a report analysis settings screen 130 shown in FIG. 13 and displays it on the monitor 3. The report analysis settings screen 130 has an attribute display area 131 that displays the attributes of the data to be analyzed. The attribute display area 131 displays the attributes of all the data to be analyzed that have already been entered, grouped by the data to be analyzed. In this case, the attributes of "Company," "Business Negotiations," "Sales Activities," and "Calendar" are displayed.
[0070] The form analysis setting screen 130 is provided with a column area 132 and a row area 133 for defining rows and columns for form analysis. Attributes displayed in the attribute display area 131 can be input into the column area 132 and the row area 133. For example, a desired attribute may be selected and placed in the column area 132 or the row area 133 by a drag-and-drop operation, and any input operation may be used. In other words, the user can easily define the rows and columns of the form by placing the attributes of the data to be analyzed in the column area 132 and the row area 133.
[0071] The report analysis settings screen 130 has a filter area 134. In the filter area 134, attributes and segments defined by a data model can be entered as filtering conditions. By entering filtering conditions in the filter area 134, it is possible to freely narrow down the data to be calculated by the report. Desired attributes can also be placed here by dragging and dropping.
[0072] The form analysis setting screen 130 has a value area 135. In the value area 135, it is possible to define the numerical values to be displayed as the contents of the form. For example, if a numeric attribute is placed in the value area 135, the total value of the placed attribute is automatically calculated and displayed in each part of the table displayed in the table area 136. Desired attributes can also be placed here by dragging and dropping.
[0073] In this example, the total value of sales is set as the value in the table displayed in table area 136, and the value corresponding to 2018, 4th quarter, and sales negotiation motivation = Web is "8," as shown by the dashed box. When calculating this value, as shown in FIG. 14, first, rows corresponding to "year = 2018, quarter = 4th quarter, and sales negotiation motivation = Web" are extracted from the "sales negotiation" data to be analyzed. For "year" and "quarter," only the "sales negotiation" rows linked to the corresponding rows of the "calendar" data to be analyzed are extracted based on the relationship information set in step S2. For the extracted "sales negotiation" rows, the total value of the attribute: sales negotiation is calculated.
[0074] The aggregation method is not limited to summation, and other methods such as average, minimum, maximum, etc. may be selectable. The user may be able to define more complex values by entering a formula. In this way, by using pre-defined relation information, it is possible to easily create reports that freely combine attributes without having to aggregate and combine multiple pieces of analysis target data in advance.
[0075] Fig. 15 is a table showing values set as a report, and Fig. 16 shows an example of an output screen 140 of a report that is automatically created based on the values set as a report. The output screen 140 of the report is provided with a report display area 141 in which the report is displayed. The report display area 141 displays the report analysis results in a matrix, and this display is executed by the third analysis unit 19. In this way, by combining various aggregation methods, business indicators can be easily calculated without the need for advanced programming.
[0076] Furthermore, the analysis target data used in calculations can be periodically replaced with the latest data. For example, when the latest data is input, the old analysis target data is automatically replaced with the latest data, thereby automatically executing the periodic aggregation work. This replacement with the latest data can be performed manually by the user, or it can be configured to be automatically retrieved periodically from the connected database.
[0077] The above example is an example in which form analysis is selected on the analysis list screen 120 shown in FIG. 12 . Next, an example in which tree analysis is selected on the analysis list screen 120 will be described. The fourth analysis unit 20 receives a selection of, for example, reference data and comparison data from the user on a matrix displaying the results of the form analysis, and displays information related to the differences between the two received data. As an example, the fourth analysis unit 20 performs tree analysis, which displays information related to the differences between the reference data and the comparison data in a tree format. The fourth analysis unit 20 generates a tree analysis screen 150 as shown in FIG. 17 and displays it on the monitor 3. In this example, the differences between the reference data and the comparison data can be displayed by focusing on specific feature quantities.
[0078] The example shown on the tree analysis screen 150 is an example in which tree analysis is performed on the same analysis target data. In this tree analysis, by specifying two analysis groups (subsets of data), it is possible to analyze in depth the differences in values between the two groups.
[0079] The tree analysis screen 150 is provided with a first specification area 151 for specifying a first analysis group and a second specification area 152 for specifying a second analysis group. In the example shown in Fig. 17, a subset of data that meets the conditions "year = 2019 and quarter = 4th quarter" is specified for the first analysis group, and a subset of data that meets the conditions "year = 2018 and quarter = 4th quarter" is specified for the second analysis group. Furthermore, the values here can be defined by specifying a column and an aggregation method, or by the user entering a formula, just like values in aggregation analysis.
[0080] The tree analysis screen 150 has a tree display area 153 below the first specification area 151 and the second specification area 152. The analysis contents are displayed in a tree format in the tree display area 153, and analysis axes can be added one after another by clicking, for example, with the mouse 5, on the item names in an analysis axis addition window 154 displayed there. By adding analysis axes, it is possible to perform a detailed analysis to identify where large differences occur between the two groups.
[0081] For example, when a report gives you the aggregated result that "Comparing the fourth quarter of 2019 with the fourth quarter of 2018, there were six more closed deals in 2019," you will likely want to drill down to find out what types of deals made a difference in closed deals, in which regions the difference occurred, or in which months within the quarter the difference occurred. However, with reports, it is difficult to drill down using a combination of multiple axes, as the number of rows and columns in the table can become enormous depending on the combination.
[0082] In contrast, tree-style analysis allows you to select displayed nodes and add analytical axes, allowing you to drill down more intuitively by combining any combination of elements.For example, in the example shown in Figure 17, when the negotiation motivation is "referral," it can be seen that there is a 6-point difference in the conversion rate between the two groups.Furthermore, in the example shown in Figure 17, when the negotiation motivation is "Web," there is no difference in the conversion rate between the two groups, but when the negotiation motivation is "Web" and the month is set to "January," it can be seen that there is a 1-point difference in the conversion rate.
[0083] On the other hand, with the tree format, it is not possible to view elements other than the element being drilled down into, such as information on trends in periods other than the fourth quarter of 2019 and the fourth quarter of 2018 in the example shown in Figure 17, and tree analysis lacks the comprehensiveness of information compared to form analysis. For this reason, it is effective to combine form analysis and tree analysis depending on the purpose of the analysis.
[0084] In this way, form analysis, which allows comprehensive confirmation of numerical values, and tree analysis, which allows arbitrary digging, are complementary to each other, so not only can the analyses be performed separately, but being able to switch back and forth between form analysis and tree analysis is effective in improving the convenience of data analysis. This embodiment is equipped with a function that allows tree analysis to be started from form analysis.
[0085] When the display control unit 3a is displaying the output screen 140 of the form shown in Fig. 16 and the user selects two locations on the form displayed in the form display area 141, an information display area 142 is generated next to the form display area 141, as shown in Fig. 18. In Fig. 18, the locations selected by the user are each surrounded by a dashed line.
[0086] One or more pieces of information related to the difference between the two selected locations are displayed in the information display area 142. When there is more than one piece of information to display in the information display area 142, the pieces of information are displayed in order of priority. The order here may be in order of the largest difference, or may be an order determined based on an index obtained as a result of some kind of statistical analysis.
[0087] The user can select an item to be analyzed in detail from the multiple pieces of information displayed in the information display area 142. The user can select an item by, for example, clicking the item with the mouse 5. When an item is selected, an analysis start button 143 is displayed. When the user operates the analysis start button 143, the main control unit 11 automatically converts the content of the item selected by the user into tree analysis setting items and starts the tree analysis. For example, based on the conversion rules shown in Figure 19, tree analysis settings can be generated from the setting information and selection state in the form. This conversion rule is merely an example, and other conversion rules may also be used. Based on the conversion rules shown in Figure 19, tree analysis is started from the form analysis shown in Figure 18. The state of the started tree analysis is shown in Figure 20.
[0088] Next, we will explain how to start report analysis from tree analysis. When drilling down in tree analysis using the tree analysis screen 150 shown in Figures 17 and 20, you may want to check values other than those for the two analysis groups. For example, as shown in Figure 21, the tree analysis screen 150 compares the closing rates between the fourth quarter of 2019 and 2018, revealing a significant change in the closing rate from 3.57% to 23.33% for the condition "negotiation motivation = referral." However, because this tree analysis only compares the values between the two groups, it is not possible to determine whether the difference is temporary or reflects a continuing trend.
[0089] As shown in FIG. 22, when a user selects the "Negotiation motivation = Referral" column, i.e., the referral column 153a, an information display area 155 is generated next to the tree display area 153. In FIG. 22, the area selected by the user is indicated by a dashed line. The information display area 155 displays specific numerical values of the difference occurring in the column selected by the user. Furthermore, when a user selects the referral column 153a, a confirmation button 155a for confirming the progress is displayed in the information display area 155. When the user operates the confirmation button 155a, the form analysis settings are automatically made based on the tree analysis settings, and the form analysis begins.
[0090] For example, it is possible to generate report analysis settings from the setting information in tree analysis based on the conversion rules shown in Figure 23. In automatic settings, for example, two groups of conditions are compared to extract the common and different parts, and the common parts are used as filter settings in the report analysis, and the different parts are used as column settings in the report analysis. This conversion rule is also one example, and other conversion rules may be used.
[0091] In the example shown in Figure 22, the common part between the conditions of the two groups is "Quarter = 4th Quarter," while the different part is the "Year" condition. Therefore, by creating a report with "Year" as a column and setting "Quarter = 4th Quarter" and the selected "Negotiation Motivation = Referral" as filter conditions, a report like the one shown on the output screen 140 in Figure 24 can be automatically generated. This report displays not only the values for 2018 and 2019 displayed in the tree analysis, but also values for other years (e.g., 2020). In this way, other types of analysis, such as reports, can be performed at any time during or after a tree analysis comparing two groups. In other words, users can drill down into the data being analyzed and check the surrounding values of the two groups they are focusing on as needed. Furthermore, if there are multiple different conditions between the two groups, multiple sets of conditions can be generated for the columns of the report and presented to the user. In this case, conditions that represent time series, such as years or months, can be presented to the user preferentially. In addition, when generating a report, not only the first indicator that was the subject of analysis in the tree analysis, but also the second indicator that the user is using in other report analyses may be automatically extracted and added to the generated report.
[0092] In this way, a report analysis by the third analysis unit 19 can be derived from the tree analysis by the fourth analysis unit 20 and displayed on the monitor 3. Because a report derived from a tree analysis is an analysis independent of the original tree analysis, the user can change the settings of this report if necessary. When the user sets desired conditions, those conditions are accepted by the main control unit 11. This allows the report analysis to be further developed or saved as a separate analysis. For example, the automatically generated settings allow the trend for the fourth quarter to be confirmed, but by changing the settings, it is also possible to confirm the time series trend including other quarters.
[0093] 25, in another embodiment, information corresponding to form analysis can be superimposed on the tree analysis information displayed in the tree display area 153. Specifically, a window 156 for displaying information corresponding to form analysis is displayed in the tree display area 153. This allows information corresponding to form analysis to be embedded and displayed in a format that matches the display format of the tree analysis.
[0094] As described above, by using the report created in step S3 of the flowchart shown in Figure 4, users can monitor the latest sales indicators. On the other hand, if report analysis reveals that the value of a particular indicator has worsened, it is often necessary to analyze the causes. For example, if you want to analyze the differences between companies that had sales negotiations and companies that did not for a certain quarter, you can proceed to step S4 of the flowchart shown in Figure 4 and perform a factor analysis using machine learning from the data model used in the report analysis. This factor analysis step is the first analysis step.
[0095] When the process proceeds to step S4, the display control unit 3a generates a factor analysis setting screen 170 shown in Fig. 26 and displays it on the monitor 3. The factor analysis setting screen 170 is provided with a unit input area 171 for inputting the unit of analysis, a purpose input area 172 for inputting the purpose of the analysis, and a base date input area 173 for inputting the analysis base date. In the base date input area 173, the user can input the date that will be the division point when dividing the data to be analyzed into periods of the objective variable and the feature quantities as the prediction base date. Based on this prediction base date, the value of each feature quantity that has the aggregation period as a parameter can be automatically recalculated.
[0096] In this example, the "negotiation" data is divided into a collection period up to December 2018 and a collection period from January 2019 onwards, with the former set to be used for feature aggregation and the latter set to be used for target variable aggregation. By dividing the period in this way, target variables and feature values can be automatically generated by conversion and combination processing using, for example, the method disclosed in Patent Document 1, and data conversion processing for machine learning can be easily performed.
[0097] In this embodiment, the user manually configures the factor analysis after discovering a change point from the form, but the data analysis device 1 may automatically detect a change point in a value from the form and present a factor analysis that can be started. In this case, the data analysis device 1 may automatically configure some or all of the factor analysis based on the form settings and values.
[0098] An example of the processing procedure for factor analysis will be explained based on the flowchart in Figure 27. The first step, SA1, is an input data analysis step, in which the input data to be analyzed, the connection relationships between multiple data to be analyzed, and the analysis settings are analyzed. This analysis determines the route to be taken from each data to be analyzed (companies in this case) for conversion and connection processing.
[0099] The next step, SA2, is a parameter extraction step, in which parameters necessary for generating the objective variable and feature quantities are generated based on the information analyzed in step SA1. The parameters generated in step SA2 include information such as the aggregation function and target columns required to calculate the feature quantity values, and one parameter is generated for each feature quantity. An example of the parameters is shown in Figure 27.
[0100] The following step SA3 is an SQL conversion step, in which the parameters generated in step SA2 are converted into a programming language called SQL.
[0101] The final step SA4 is an SQL execution step, in which a query using SQL is executed on the database to obtain the value of the feature.
[0102] When the analysis is completed, the display control unit 3a generates a segment output screen 180 shown in FIG. 28 and displays it on the monitor 3. The segment output screen 180 has a segment display area 181 that can display one or more segments. The segment display area 181 displays feature quantities that are highly relevant to the objective variable and segments that increase the value of the objective variable when those feature quantities are used. That is, the first analysis unit 15 extracts feature quantities that are highly relevant to the objective variable specified by the user, compares the average value of the objective variable of all data, extracts segments with a relatively high average value of the objective variable, and displays them on the segment output screen 180. Note that the first analysis unit 15 may also compare the feature quantities that are highly relevant to the objective variable with the average value of the objective variable of all data, extract segments with a relatively low average value of the objective variable, and display them on the segment output screen 180.
[0103] Check boxes 181a are provided corresponding to the segments displayed in the segment display area 181. These check boxes 181a will be described later.
[0104] The segment output screen 180 also has an average value display area 182 that displays an average value. Instead of the average value display area 182, a maximum value display area that displays a maximum value or a minimum value display area that displays a minimum value may be provided.
[0105] In the example shown in Figure 28, the average negotiation rate for "companies" in the data being analyzed is 23.3%, as displayed in the average value display area 182, whereas for companies with two or more "number of emails sent by activity type in the last 90 days," the negotiation rate is 38.8%, which is 15.5 points higher than the average. Similarly, it can be seen that the negotiation rate is also high when there are many "number of phone calls by activity type in the last 30 days," suggesting that the number of emails sent and phone calls among recent sales activities may be affecting negotiations.
[0106] Here, the "number of times activity type = 'email sent' in the last 90 days" is a feature that is automatically generated by the first analysis unit 15 as a feature that is highly related to the objective variable, and does not exist in the original data model. Note that, in this analysis, the "last 90 days" refers to the period "90 days up to 2019 / 01 / 01" because January 1, 2019 is used as the base date.
[0107] Next, the process proceeds to step S5 in the flowchart shown in Fig. 4. Step S5 is a feature output step in which the feature generated in step S4 is output so that it can be used in other analyses. This output step is executed by the output unit 18, and automatically generated new feature, segments extracted based on factor analysis, and feature highly related to the target variable are added to the data model to be analyzed next.
[0108] The specific procedure is as shown in the flowchart of FIG. 30. First, in step SB1, the user selects a segment displayed in the segment display area 181 of the segment output screen 180 shown in FIG. 29. In this example, the selection operation is an operation of checking the check box 181a corresponding to the segment, but the selection operation is not limited to this operation. When the main control unit 11 accepts the user's selection operation, it displays an output button 183 on the segment output screen 180. When the user operates the output button 183, the feature parameters of the selected feature are read out and the output destination of the feature is changed so that the feature value can be calculated for the input data. If necessary, other parameters, such as the reference date, may also be adjusted. This is the processing of step SB2 in the flowchart shown in FIG. 30. Thereafter, in steps SB3 and SB4, SQL conversion steps and SQL execution steps are performed, respectively, similar to steps SA3 and SA4 in the flowchart shown in FIG. 27.
[0109] In this way, by applying SQL transformation and execution to the adjusted feature parameters in the same way as during analysis, the features used in the analysis can be easily reflected in the input data. Also, by adjusting the base date at the same time, the features used in machine learning analysis can be converted into a format that is easy to use for purposes other than machine learning. This base date can be specified as a date such as "2019 / 01 / 01", or it can be set to "current date and time" and updated each time it is displayed.
[0110] After the feature output is complete, the analysis target data screen 100 is updated as shown in Fig. 31. Specifically, the output feature is added as an attribute of the "company" analysis data in the data display area 103. When the next analysis is started, this input data can be used to utilize the added feature in the same way as the original attribute.
[0111] Next, the process proceeds to step S6 in the flowchart shown in Fig. 4. Step S6 is a step of executing predictive analysis by the second analysis unit 16, i.e., a second analysis step of executing predictive analysis on the adjusted data model, and predicting the value of the dependent variable for each data to be predicted.
[0112] In step S5 above, it is possible to determine which features are highly correlated with whether or not a business negotiation will occur for each company. In actual sales data analysis, it is not enough to simply analyze factors; it is also possible to extract companies with a high probability of future business negotiations, thereby making it possible to allocate resources for sales activities more efficiently, and predictive analysis is sometimes used for this purpose.
[0113] In the predictive analysis execution step, companies with a high probability of business negotiations occurring within the next 90 days are predicted based on the company data obtained in step S5. In this step, the display control unit 3a generates a predictive analysis setting screen 190 shown in FIG. 32 and displays it on the monitor 3. Similar to the factor analysis setting screen 170 shown in FIG. 26, the predictive analysis setting screen 190 is provided with a unit input area 191 for inputting the unit of analysis, a purpose input area 192 for inputting the purpose of the analysis, and a base date input area 193 for inputting the analysis base date. In the base date input area 193, it is possible to set, as the base date for analysis, a base date at the time of learning (learning base date) and a base date at the time of prediction that is different from the base date at the time of learning.
[0114] Furthermore, predictive analysis often requires not only accurate prediction but also evidence for the prediction results. Therefore, in this embodiment, the scoring calculation method can be selected from a rule-based method and a method using machine learning during predictive analysis settings. The display control unit 3a generates a scoring setting screen 200 shown in FIG. 33 and displays it on the monitor 3. The scoring setting screen 200 includes a method selection area 201 that allows the user to select either the rule-based method or the machine learning method. The method selection can be performed by button operation or any other method. The method selection area 201 includes an explanation of the outline of each of the rule-based method and the machine learning method. The scoring setting screen 200 also includes a rule creation method selection area 202. The rule creation method selection area 202 displays two options: "Automatic generation," which allows the data analysis device 1 to automatically generate rules, and "Specify rule," which allows the user to specify arbitrary rules. The user can select either of these options. Scoring setting screen 200 also has an input area 203 for inputting the number of rules, allowing the user to input any number of rules. Scoring setting screen 200 also has a selection area 204 for attributes to be used when creating rules, allowing the user to select any number of attributes greater than or equal to one.
[0115] In the machine learning method, a predicted value (score) representing the probability that the objective variable will be 1 is calculated from the prediction results output by the machine learning model. In the rule method, the score is calculated by counting the number of rules (conditional expressions) that are met for each row of the prediction target. For example, if four rules are set on the scoring setting screen 200, the number of rule matches is calculated for each row, resulting in a number ranging from 0 to 4, as shown in FIG. 34. The score for each row can be calculated by comparing this number of matches with a separately calculated correspondence table of the number of matches and the score. This correspondence table can be calculated in advance by aggregating the training data. Rules can be expressed as a combination of attributes and values, such as "whether the company size matches 'A'" or, using segments defined in the data model, "whether the target falls into segment X."
[0116] The rules themselves may be specified by the user performing the analysis, or the analysis engine may automatically generate rules that can extract groups with high values of the target variable by using an analysis method such as decision tree analysis.
[0117] When a scoring method is selected and analysis is initiated, the analysis unit generates training data and prediction data to be used in machine learning. If the data to be analyzed contains features with a reference date as a parameter, the reference dates for the training data and the prediction data may differ, resulting in differences between the features generated from the training data and the prediction data. Therefore, the reference dates are readjusted, and the aggregation period for the prediction data is automatically adjusted based on the reference date for the prediction data. This is the data adjustment step, which adjusts the data model set by the data model setting unit 12b based on the analysis setting information. This step is executed, for example, by the first adjustment unit 13 or the second adjustment unit 14. That is, since the features added in step S5 of the flowchart shown in FIG. 4 have reference dates, the feature values are recalculated using January 1, 2019 for the training data and April 1, 2019 for the prediction data, as shown in FIG. 35. In the subsequent transformation and combination process, the value of the objective variable is added to the training data using the method described in Patent Document 1.
[0118] Once data generation is complete, the model is trained using the training data, and a predicted value (score) is calculated for each row of the prediction data. Once prediction is complete, the screen transitions to a predicted value display screen 210 (shown in FIG. 36) where the predicted values can be previewed. That is, the display control unit 3a generates the predicted value display screen 210 and displays it on the monitor 3.
[0119] The forecast value display screen 210 has a list display area 211. In the list display area 211, companies are listed in descending order of forecast value. In addition, the forecast value display screen 210 has a graph display area 212 and a filter setting area 213 next to the list display area 211. The number of data items displayed in the list display area 211 can be increased or decreased by moving the right or left end of a slide bar 212a in the graph display area 212 left or right. The slide bar 212a is an example of an increase / decrease operation unit that allows the user to increase or decrease the number of data items, but the number of data items may be increased or decreased in a form other than the slide bar 212a.
[0120] In the filter setting area 213, the data displayed in the list display area 211 can be narrowed down to data that meets certain conditions. For example, if you want to extract the top 100 companies based on the likelihood of business negotiations and prioritize sales activities, you can create a customer list for sales activities by adjusting the number of items to 100 in the graph display area 212 and the filter setting area 213 and then downloading the data previewed in the list display area 211.
[0121] Generally, when considering a policy, it is effective to arrange the targets of a policy in descending order of the data with the highest prediction score, as shown in the list display area 211 in Fig. 36. However, if only a very small number of the top data displayed in the list display area 211 are set as the targets of the policy as the data range to which the policy should be applied, the average score will increase and the policy can be implemented efficiently, but the total profit obtained from the policy may be small because the number of targets is small. On the other hand, if the number of targets of the policy is increased, at some point the cost of implementing the policy will exceed the profit, and the more the number is increased, the lower the profit will be.
[0122] In applications such as a company list for sales activities as in this embodiment, the upper limit of the size of the target of the campaign is often determined by the total amount of sales resources, so there is often little room for adjustment. On the other hand, in the case of campaigns such as sending direct mail or internet advertising, the size of the target of the campaign can often be controlled, so it is desirable to determine the target size of the campaign that maximizes profits. Also, there are times when you want to know in advance the return on investment (ROI) that will be obtained if the campaign is implemented.
[0123] Therefore, the data analysis device 1 according to this embodiment has a function for calculating an expected ROI. Specifically, the display control unit 3a generates an ROI calculation area 214 as shown in FIG. 37 and displays it superimposed on the predicted value display screen 210. The ROI calculation area 214 includes a cost input area 214a for inputting the cost (C) per measure, a profit input area 214b for inputting the profit (R) obtained per acquisition (goal achievement), a count display area 214c for displaying the number of targets (N), a score display area 214d for displaying the average score (p) of the targets, and an ROI display area 214e for displaying the calculated ROI. The count display area 214c displays the number of data included in the data range to which the measure should be applied. The number of data displayed here can be adjusted in the graph display area 212 and the filter setting area 213. When the user inputs amounts in the cost input area 214a and the profit input area 214b, the main control unit 11 calculates the number of selected items (N) and the average score (p) in the selected range based on the current range selection state.
[0124] From these figures, the total cost of the measure can be calculated as N × C, and the total profit obtained by the measure as N × R × p. Therefore, the main control unit 11 calculates the ROI using the formula N × R × pN × C. The calculation result is displayed in the ROI display area 214e. By recalculating the ROI in conjunction with the slide bar 212a on the screen or filter settings, the target size of the measure (the number of data items on which the measure should be implemented) can be determined taking the ROI into consideration. Alternatively, the data analysis device 1 may automatically calculate the target size that maximizes the ROI and present it to the user.
[0125] In the above example, the user sets up the predictive analysis themselves, but it is also possible to suggest starting predictive analysis from factorial analysis, just as in starting factorial analysis from form analysis in step S4. In this case, because factorial analysis and predictive analysis both require the setting of a target variable, setting the target variable can be omitted when starting predictive analysis from factorial analysis.
[0126] An example of linking factor analysis to predictive analysis, i.e., starting predictive analysis from a segment selected in factor analysis, will be described with reference to FIG. 38. The screen shown at the top of FIG. 38 is a segment output screen 180 for outputting features. The screen shown at the bottom of FIG. 38 is a scoring setting screen 200. By adopting the segments selected on the segment output screen 180 as rules in rule-based predictive analysis as shown on the scoring setting screen 200, the user can freely select desirable segments from among the segments discovered in factor analysis for reasons such as high business interpretability, and start predictive analysis using those segments.
[0127] Next, proceed to step S7 of the flowchart shown in Figure 4. Step S7 is the segment output step. While step S6 allows you to extract companies with high sales potential, you may want to use the extracted list not only for sales activities but also for analysis. In this case, you can save the displayed company list by operating the "Output to Segment" button 215 on the forecast value display screen 210 shown in Figure 36. Figure 39 shows the segment save screen 220. The display control unit 3a generates the segment save screen 220 and displays it on the monitor 3. The segment save screen 220 has a name display area 221 that displays the name of the segment when saved. In this example, the top 100 companies are saved as a segment under the name "Top 100 Sales Potential." The definition and percentage of applicable users of the segment saved in the data model can be confirmed from the segment output screen 180 shown in Figure 28, etc. Furthermore, the segment save screen 220 shown in Figure 39 not only allows you to check the segments generated from the analysis results, but also allows you to add new segments.
[0128] A segment is defined for any one of the analytical data. A segment may be defined in any way as long as it can extract a portion of the analytical data. For example, a segment may be defined using a conditional expression setting screen 230 shown in FIG. 40. The conditional expression setting screen 230 shown in FIG. 40 is generated by the display control unit 3a and displayed on the monitor 3. The conditional expression setting screen 230 has a conditional expression input area 231, and two or more conditional expression input areas 231 may be provided. In this example, a combination of one or more conditional expressions, such as "company size is A and location is Tokyo," can be defined. Alternatively, a segment may be defined by matching with another table, such as "a segment that can be associated with a matching table and rows."
[0129] As shown in Figure 41, segments generated from predictive analysis can be defined by matching a table generated within the predictive analysis. When a segment uses a matching table, even if the data used for analysis is updated, the applicable / inapplicable status for the same ID will not change. However, when a segment uses a conditional expression, even if the same ID is used, the applicable / inapplicable status may change if the attribute value changes when the data used for analysis is updated. For this reason, the former is suitable for applications where you want to keep the target group fixed, such as "a group that was the target of a policy at a certain point in time," while the latter is suitable for applications where you want to know the target group at the current time, such as "a group that accessed a web page in the past week."
[0130] Next, the process proceeds to step S8 in the flowchart shown in FIG. 4. Step S8 is a report update step, in which a new report analysis is started using the segments saved in step S7. The display control unit 3a generates a setting screen 250 shown in FIG. 42 and displays it on the monitor 3. This setting screen 250 defines a value in addition to the value used when creating the report in step S3. Specifically, by defining a new value called "number of phone calls," the activity level is visualized for each sales representative. In addition, by narrowing down the entire report using the condition "top 100 potential negotiations" created in step S6, the targets of the calculation are limited to companies with potential negotiations extracted in step S7.
[0131] The feature values output in step S5 can also be used in this report, so by using the feature values as filter conditions, it is possible to check the report under conditions such as "companies that are in the top 100 potential sales companies but have received zero emails in the last 90 days." In this way, by creating a report of indicators for each sales representative for the companies with high sales potential extracted in step S6, it is possible to monitor whether each sales representative is actually carrying out activities with the extracted companies and whether sales negotiations or deals are being concluded.
[0132] (Effects of the embodiment) As described above, a user can input data to be analyzed into data analysis device 1, define the correspondence between rows in the data to be analyzed, and set up a data model, which can then be used to perform factor analysis and predictive analysis. If features or segments are obtained as a result of the analysis, they can be added to the data model, and the aggregation parameters for the features can also be automatically readjusted according to the analysis setting information. This allows users to use features in multiple analyses without having to manually readjust them individually according to the characteristics of each analysis, and without the need for an expert with advanced programming skills, allowing them to perform a variety of analyses using common input data.
[0133] In this way, by enabling various analyses to be performed from common input data, the amount of preparation required for analysis by the user is significantly reduced, and useful insights discovered in one analysis can be easily used in other analyses.
[0134] Furthermore, for analyses that are conducted periodically, updating input data to the latest version makes it possible to update multiple analyses at once, and if data analysis is incorporated into business processes and performed repeatedly, the labor-saving effect will be even greater.
[0135] The above-described embodiments are merely examples in all respects and should not be construed as limiting. Furthermore, all modifications and variations within the scope of the claims are within the scope of the present invention. [Industrial Applicability]
[0136] As described above, the data analysis device and data analysis method according to the present invention can be used, for example, when aggregating and visualizing various data held by a company. [Explanation of symbols]
[0137] 1. Data analysis equipment 3 Monitor (display) 3a Display control unit 12a Data input section 12b Data model setting section 13 1st adjustment section 14 Second adjustment section 15 1st Analysis Department 16 Second Analysis Department 18 Output section 19 Third Analysis Department 20 4th Analysis Department
Claims
1. In a data analysis device for analyzing data, a data input unit for inputting a plurality of tabular data having a plurality of feature quantities; a data model setting unit that accepts setting of relation information that defines a correspondence relationship between the plurality of tabular data items inputted to the data input unit and sets a data model to be analyzed; a data adjustment unit that adjusts the data model set by the data model setting unit based on analysis setting information; a first analysis unit that performs a first analysis on the data model set by the data model setting unit and generates a first analysis result; a second analysis unit that performs a second analysis on the data model adjusted by the data adjustment unit and generates a second analysis result; an output unit that adds new feature quantities included in the analysis results of at least one of the first analysis unit and the second analysis unit to a data model to be analyzed next; The first analysis unit As the analysis setting information, a target variable specified by a user and a setting of a learning reference date can be accepted, extracting features highly related to the specified objective variable, and performing a factor analysis to extract segments in which the average value of the objective variable is relatively high or low compared to the average value of the objective variable of all data, by aggregating the features based on data aggregated for a period before a learning reference date set by a user as the analysis setting information, and aggregating the objective variable based on data aggregated for a period after the learning reference date; the output unit adds a feature quantity having a high degree of association with the objective variable to a data model to be analyzed next based on a result of the factor analysis executed by the first analysis unit; The second analysis unit The analysis setting information can accept a setting of a prediction reference date that is different from the learning reference date, If the data model to be predicted includes a feature having an aggregation period as a parameter, automatically recalculating the value of each feature aggregated by the first analysis unit based on the prediction reference date and the aggregation period; a data analysis device configured to be capable of executing predictive analysis to predict the value of the dependent variable for each data set to be predicted, based on a data model to which the recalculated feature quantities have been extracted as feature quantities highly associated with the dependent variable by the factor analysis executed by the first analysis unit and added.
2. 2. The data analysis apparatus according to claim 1, the data model setting unit further receives a setting of a segment for extracting a portion of data from the plurality of tabular data, and sets the data model to be analyzed; The data analysis device is characterized in that the output unit further adds new segments included in the analysis results of at least one of the first analysis unit and the second analysis unit to the data model to be analyzed next.
3. 2. The data analysis apparatus according to claim 1, the first analysis unit automatically generates new features that do not exist in the original data model as features that have a high degree of association with the objective variable; The data analysis apparatus is characterized in that the output unit adds the new feature quantity automatically generated by the first analysis unit to a data model to be analyzed next.
4. 4. The data analysis device according to claim 3, The data analysis apparatus is characterized in that the output unit further adds the segments extracted based on the factor analysis performed by the first analysis unit to a data model to be analyzed next.
5. 5. The data analysis apparatus according to claim 1, The data analysis apparatus is characterized in that the second analysis unit performs predictive analysis to predict the value of the dependent variable for each data item to be predicted.
6. 6. The data analysis apparatus according to claim 5, The first analysis unit is capable of accepting a setting of a prediction base date as the analysis setting information, and if the data model to be predicted includes a feature having an aggregation period as a parameter, the first analysis unit automatically recalculates the value of each feature having the aggregation period as a parameter based on the prediction base date.
7. 7. The data analysis apparatus according to claim 1, The data analysis device is characterized in that the second analysis unit scores the predictive analysis according to a method selected by a user from either a rule-based method or a machine learning method.
8. 8. The data analysis device according to claim 5, The second analysis unit displays the objective variables for each data item to be predicted by the predictive analysis in descending order of score, and accepts input from a user of the data range to which the measures should be applied, the cost per measure, and the profit to be obtained per achievement of the objective, thereby calculating the total cost and total profit to be obtained when the measures are applied to the data range.
9. 8. The data analysis device according to claim 5, The second analysis unit is a data analysis device that accepts input of the cost per measure and the profit obtained per achievement of the objective, calculates the total cost of the measure and the total profit obtained by the measure, and automatically calculates the number of data items for which the measure should be implemented.
10. 10. The data analysis device according to claim 5, The data analysis device is characterized in that the output unit outputs a portion of data with high scores among the objective variables for each data item to be predicted by the predictive analysis as a segment and adds it to the data model to be analyzed next.
11. 2. The data analysis apparatus according to claim 1, a third analysis unit that executes a form analysis based on the data model and displays a result of the form analysis in a matrix; A data analysis device that receives a selection of reference data and comparison data from a user on the matrix, and further displays information related to the difference between the two received data.
12. The data analysis apparatus according to claim 11, A data analysis device further comprising a fourth analysis unit that performs tree analysis to display information related to the differences between the two data in a tree-like manner, and displays the differences between the two data by focusing on specific feature quantities.
13. 13. The data analysis apparatus according to claim 12, A data analysis device characterized in that it is configured to be able to derive and display a form analysis by the third analysis unit from the tree analysis by the fourth analysis unit.
14. The data analysis device according to claim 11, The setting screen of the third analysis unit is provided with a column area and a row area for defining rows and columns of the form analysis, and a value area for defining numerical values to be displayed as the content of the form analysis, A data analysis device characterized in that when a numeric attribute is placed in the value area, a total value of the placed attribute is calculated.
15. The data analysis device according to claim 12, the analysis screen of the fourth analysis unit is provided with a first designation area for designating a first analysis group, a second designation area for designating a second analysis group, and a tree display area; a data analysis device characterized in that the tree display area further displays the aggregated results of the first analysis group specified in the first specification area and the second analysis group specified in the second specification area, and an analysis axis addition window for adding an analysis axis to the aggregated results.
16. In a data analysis method for analyzing data, a data input step of inputting a plurality of tabular data having a plurality of feature quantities; a data model setting step of accepting setting of relation information that defines a relationship between feature quantities included in the plurality of tabular data inputted in the data input step, and setting a data model to be analyzed; a data adjustment step of adjusting the data model set in the data model setting step based on analysis setting information; a first analysis step of performing a first analysis on the data model set in the data model setting step to generate a first analysis result; a second analysis step of performing a second analysis on the data model adjusted in the data adjustment step to generate a second analysis result; an output step of adding new feature quantities included in the analysis results of at least one of the first analysis step and the second analysis step to a data model to be analyzed next time, In the first analysis step, Accepting a target variable and a learning reference date specified by a user as the analysis setting information; extracting features highly related to the specified objective variable, and performing a factor analysis to extract segments in which the average value of the objective variable is relatively high or low compared to the average value of the objective variable of all data, by aggregating the features based on data aggregated for a period before a learning reference date set by a user as the analysis setting information, and aggregating the objective variable based on data aggregated for a period after the learning reference date; In the output step, based on the result of the factor analysis executed in the first analysis step, a feature quantity having a high degree of association with the objective variable is added to a data model to be analyzed next time; In the second analysis step, Accepting a setting of a prediction reference date different from the learning reference date as the analysis setting information; If the data model to be predicted includes a feature having an aggregation period as a parameter, automatically recalculating the value of each feature calculated in the first analysis step based on the prediction reference date and the aggregation period; a data analysis method comprising: executing a predictive analysis to predict a value of the dependent variable for each data item to be predicted, based on a data model to which the recalculated feature quantities extracted as a feature quantity highly associated with the dependent variable by the factor analysis executed in the first analysis step are added.
Citation Information
Patent Citations
Method and device for supporting prediction of sale
JP1998134027A
Degradation factor analysis device and program
JP2017004453A
Data analyzer and data analysis method
JP2020135054A
Data preparation support system for data utilization and its method
JP2021039523A
Factor analysis device and factor analysis method
JP2021060959A