WO2017131696A1 - Database server to predict sales - Google Patents
Database server to predict sales Download PDFInfo
- Publication number
- WO2017131696A1 WO2017131696A1 PCT/US2016/015345 US2016015345W WO2017131696A1 WO 2017131696 A1 WO2017131696 A1 WO 2017131696A1 US 2016015345 W US2016015345 W US 2016015345W WO 2017131696 A1 WO2017131696 A1 WO 2017131696A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- classification model
- data set
- sale
- factors
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- Sales forecasting is a tool used by sales organizations. Currently, sales forecasting is done in the aggregate (e.g., what will the total sales be for the entire organization for a quarter, or the year). Aggregate sales forecasting may help predict an overall sales, but may not provide information about a specific sale. As a result, aggregate sales forecasting may not provide any information that can be actionable for sales person or the organization.
- FIG. 1 is a block diagram of an example system of the present disclosure
- FIG. 2 is a block diagram of an example individual sales prediction database server
- FIG. 3 is a flow diagram of an example method for predicting sales
- FIG. 4 is a block diagram of a non-transitory computer readable medium storing instructions executed by a processor.
- the present disclosure discloses an example apparatus and method for predicting sales.
- current sales forecasting methods forecast sales in the aggregate.
- predicting sales in the aggregate is too general to generate an action plan.
- aggregate sales prediction methods do not provide any specific factors that may affect an outcome of a particular deal.
- sales forecasting methods that predict an aggregate sales amount do not allow a sales company to generate an action plan in response to a specific deal that may be at risk.
- the present disclosure provides a more accurate and granular sales forecasting method that can provide a prediction for each pending sale.
- the correlations disclosed herein help to minimize type 2 error (e.g., error related to predicting a successful sale, when the sale was not successful) in a null hypothesis analysis.
- the present disclosure can provide factors that affect the prediction of an outcome of each sale.
- the factors that affect the sale can be used to generate an action plan that provides action items for a sales manager. For example, if a negative factor is the sales representative that is assigned to the deal, the sales manager may immediately assign a new sales representative to the deal.
- the present disclosure may use a database server that is dedicated for executing the prediction of the sales forecast.
- the data that is collected to train the prediction model may be stored in the database server and not moved from client to client as the prediction is executed.
- each client may connect to the database server to execute the prediction rather than downloading the data local on the client and moving the data from client to client each time the prediction is executed.
- FIG. 1 illustrates an example system 100 of the present disclosure.
- the system 100 may include an individual sales prediction (ISP) database server 104 located in an Internet Protocol (IP) network 102.
- IP Internet Protocol
- the IP network 102 has been simplified for ease of explanation.
- the I P network 102 may include additional network elements that are not shown (e.g., a router, a gateway, a firewall, additional access networks, application servers, and the like).
- a plurality of endpoints 1 10, 1 12 and 1 14 may be in communication with the ISP database server 104 via a wired or wireless connection.
- the endpoints 1 10, 1 12 and 1 14 may be any type of endpoint device such as a laptop computer, a desktop computer, a tablet computer, a smart phone, and the like. It should be noted that although three endpoint devices 1 10, 1 12 and 1 14 are illustrated in FIG. 1 that any number of endpoint devices may be deployed.
- the endpoints 1 10, 1 12 and 1 14 may be located remotely from the ISP database server 104.
- the endpoints 1 10, 1 12 and 1 14 and the ISP database server 104 may be part of a common sales organization or enterprise.
- the endpoints 1 10, 1 12 and 1 14 may be located remotely from one another and assigned to different sales managers of different regions.
- the sales managers may access the ISP database server 104 via a respective endpoint 1 10, 1 12 or 1 14 to have the ISP database server 104 predict an outcome of pending sales and provide an accurate sales forecast. Based on the predicted outcome of the pending sales, the ISP database server 104 may generate an action plan for each pending sale that can be used by the sales managers or the sales organization.
- the system 100 may include a third party database (DB) 106 and a third party DB 108.
- DB third party database
- the third party DBs 106 and 108 may provide historical sales data for the sales organization.
- the historical sales data may include a plurality of factors associated with each sale and an outcome of the previous sale (e.g., successful sale or unsuccessful sale).
- the historical sales data may be collected by the ISP database server 104 and used to generate a classification model.
- the classification model can then be used by the ISP DB 104 to predict an outcome of pending sales.
- An example of a third party DB 106 and 108 that can be used may be Salesforce.com®.
- a plurality of ISP database servers 104 may be deployed and used to process large amounts of data collected from the third party DB 106 and/or the third party DB 108.
- the data may be split into smaller subsets of data and each smaller subset of data may be processed by a respective one of the plurality of ISP database servers 104.
- the large amounts of data may be processed in parallel by the plurality of ISP database servers 104.
- FIG. 2 illustrates a block diagram of an example ISP database server 104.
- the ISP database server 104 may include a processor 202.
- the processor may be in communication with a data collection engine 204, a classification engine 206, a prediction engine 208 and an action plan generator 210.
- the processor may execute instructions associated with the functions performed by the data collection engine 204, the classification engine 206, the prediction engine 208 and the action plan generator 210.
- the data collection engine 204 may collect historical sales data.
- the processor 202 may establish a wired or wireless connection with a third party DB 106 or 108 and collect historical sales data.
- the data collection engine 204 may periodically collect historical sales data to periodically update the classification model that is generated.
- the historical sales data may include various information associated with each historical sale.
- the information may include whether the sale was successful or unsuccessful, a date the sale closed if successful, age (e.g. , a number of days until the win/loss), the sales representative, an age of the sales represented, a forecast of a sales manager, a region, whether a sales representative prepared a plan to tackle the potential sale, and the like.
- the data can be organized into a table.
- Each row of the table may be associated with a potential or pending sale.
- Each column may be associated with one of the factors described above.
- a final column may represent a binary outcome of the potential or pending sale (e.g., successful sale or unsuccessful sale).
- the classification engine 206 may calculate a classification model using the historical sales data collected by the data collection engine 204. For example, the classification engine 206 may divide the historical sales data into a training data set and a testing data set. The proportions of how the historical sales data are divided into the training data set and the testing data set may be pre-defined. In one example, 70% of the historical sales data may be used for the training data set and 30% of the historical sales data may be used for the testing data set.
- the classification engine 206 may determine which factors are the most correlated to the outcome of a pending sale. In one example, the classification engine 206 may pre-process the data to remove outliers and derive new factors from the raw data collected from the third party DB 106 and/or the third party DB 108.
- a modified stepwise- discriminant analysis may be applied to the historical sales data to identify the most significant factors that correlate to the outcome of a pending sale.
- the modified SWLDA is an iterative method where at each iteration a factor with the highest correlation and statistical significance is selected.
- a significant factor may be identified as a factor that is greater than a threshold of 90% based on the modified SWLDA.
- the modified SWLDA may iterate until no factor meets the threshold.
- the significant factors may then be correlated to the training data set.
- the classification model may be calculated based on the identified significant factors using any type of data analysis method, such as, a k-nearest neighbors (KNN) analysis, a non-parametric kernel density estimation analysis, a linear dirichlet allocation (LDA) analysis, a quadratic discriminant analysis, a qualitative data analysis (QDA), and the like.
- KNN k-nearest neighbors
- LDA linear dirichlet allocation
- QDA qualitative data analysis
- the classification model may be graded based on a performance of a particular data analysis method.
- the performance may be measured based on a sensitivity, a specificity and a false positive rate (FPR).
- FPR false positive rate
- a classification model that has a high sensitivity, high specificity and low FPR is desired.
- the KNN analysis may provide the best data analysis for calculating the best classification model.
- the classification engine 206 may validate the classification model by applying a null hypothesis analysis using the testing data set. Previous methods provided a less accurate forecasting model because the null hypothesis was applied to a data set that was assumed to have a Gaussian distribution. However, the testing data is used to calculate a distance between the testing data to one of the binary outcomes (e.g., successful sale or unsuccessful sale) determined by the classification model. The distance values comprise a chi squared ( ⁇ 2 ) distribution as opposed to a Gaussian distribution.
- the present disclosure introduces a new error constant term, a, that can be applied to each independent test of the classification model performed using the testing data set.
- a may be set to a value of 0.05.
- the null hypothesis analysis may be applied using the testing data set on the classification model to minimize a type 2 error.
- the classification model since the classification model has a binary outcome, there may be two types of error.
- Type 1 error may be error introduced by classifying a pending sale as unsuccessful when the sale was actually a successful sale.
- Type 2 error may be introduced by classifying a pending sale as successful when the sale was actually an unsuccessful sale.
- the probability that the classification model is invalidated by a new data point is exponentially reduced.
- the validation that is performed by the testing data by applying the a n error constant ensures that the classification model is accurate at predicting a sales outcome of a pending sale.
- the prediction engine 208 may predict whether a pending sale will successfully close based upon the classification model.
- the prediction engine 208 may receive a pending sale from a communication session established with one of the endpoints 1 10, 1 12 or 1 14.
- a sales manager may want to forecast sales and provide a pending sale or a plurality of pending sales to the ISP database server 104.
- the pending sale may include information associated with the pending sale (e.g., a plurality of factors described above).
- the prediction engine 208 may use the classification method to calculate a distance between a predicted outcome of the pending sale to one of the binary outcomes of the classification method (e.g., a successful sale or an unsuccessful sale).
- the prediction engine 208 may classify the pending sale based on which outcome the pending sale is closer to.
- the action plan generator 210 may generate an action plan based upon the predicted outcome of the pending sale. In one example, if the pending sale is predicted to be successful, then the action plan may be to take no additional action. In other words, no factors are changed and the sales manager may continue to implement the action plan currently in place to close the pending sale.
- the action plan generator 210 may generate an action plan that changes at least one factor associated with the pending sale.
- a factor that has a highest significant factor for determining the outcome may be changed.
- the sales representative may be the highest significant factor as described above using a SWLDA analysis.
- the sales representative that is currently assigned may have a low success rate for closing deals and the sales manager may reassign a new sales representative to the pending sale.
- an age of the pending sale may be the highest significant factor.
- the action plan may be to implement a more accelerated action plan to work towards closing the pending sale sooner otherwise the pending sale could become stale at which point the pending sale would close unsuccessfully.
- the generated action plan may including changing more than one factor.
- the classification model engine 206 may calculate the classification model locally and the prediction engine 208 may predict an outcome of the pending sale locally on the ISP database server 104.
- the historical sales data, the classification model and the functions of the prediction engine 208 are not transferred or downloaded locally to an endpoint device 1 10, 1 12 or 1 14 when a pending sales prediction is requested.
- the ISP database server 104 ensures that the same classification model is applied for each prediction requested by the remotely located endpoint devices 1 10, 1 12 and 1 14.
- the ISP database server 104 ensures that the classification model that is applied for each prediction request is calculated based on the same historical sales data. As a result, different sales managers in different regions may receive an accurate sales prediction for each pending sale that is based off of a consistent and accurate classification model.
- FIG. 3 illustrates a flow diagram of an example method 300 for predicting sales.
- the blocks of the method 300 may be performed by the ISP database server 104.
- the method 300 begins.
- the method 300 collects historical sales data.
- the historical sales data may be collected from a third party database such as Salesforce.com.
- the method 300 divides the historical sales data into a training data set and a testing data set. For example, a portion of the historical sales data may be used as a training data set to calculate a classification model and the remaining portion of the historical sales data may be used to validate the classification model. In one example, 70 percent of the historical sales data may be separated as the training data set and the remaining 30 percent of the historical sales data may be separated out as the testing data set.
- the method 300 calculates a classification model based on the training data set.
- the classification model may be validated with the testing data set that has a chi squared distribution by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the classification model.
- null hypothesis may be applied to the chi squared distribution (as opposed to a Gaussian distribution that is typically used) that comprises a distribution of distances that are calculated between the testing data set and the classification model.
- the null hypothesis may validate the classification model by minimizing a type 2 error (e.g., an error associated with classifying a pending sale as a successful sale when the sale is an unsuccessful sale) by applying the error constant to each one of the testing data set that is compared to the classification model.
- a type 2 error e.g., an error associated with classifying a pending sale as a successful sale when the sale is an unsuccessful sale
- the error constant may be increased
- the error probability of the classification method may be equal to the error constant raised to a power of 30 (e.g., a 30 ).
- the testing data is used to validate the classification method to ensure that the classification method provides an accurate prediction.
- the classification model may be calculated using any one of a variety of different statistical analysis methods.
- the classification model may be calculated using at least one of a KNN analysis, a non-parametric kernel density estimation analysis, an LDA analysis, a quadratic discriminant analysis, or a QDA analysis.
- KNN analysis may provide the most accurate classification model.
- the classification method may also be based on a subset of factors extracted from the historical sales data.
- the subset of factors may be extracted using a SWLDA analysis to identify significant factors that determine an outcome of a pending sale.
- the method 300 may periodically repeat blocks 304, 306 and 308. For example, to continually provide the most accurate
- the method 300 may periodically recalculate the
- the method 300 receives information associated with a pending sale, wherein the information comprises a plurality of factors. For example, a sales manager may want to forecast sales for a time period. The sales manager may send, via an endpoint, pending sales and information associated with the pending sales to the ISP database server to receive a prediction of whether each one of the pending sales will be successful or unsuccessful.
- the method 300 predicts whether the pending sale will successfully close based upon the classification model. For example, the method 300 may use the classification method to calculate a distance between a predicted outcome of the pending sale to one of the binary outcomes of the classification method (e.g., a successful sale or an unsuccessful sale). The method 300 may classify the pending sale based on which outcome the pending sale is closer to.
- the classification method may use the classification method to calculate a distance between a predicted outcome of the pending sale to one of the binary outcomes of the classification method (e.g., a successful sale or an unsuccessful sale).
- the method 300 may classify the pending sale based on which outcome the pending sale is closer to.
- the method 300 may generate an action plan that includes changing at least one of the plurality of factors based on the predicting.
- the action plan may be to take no additional action. In other words, no factors are changed and the sales manager may continue to implement the action plan currently in place to close the pending sale.
- the action plan may change at least one factor associated with the pending sale.
- a factor that has a highest significant factor for determining the outcome may be changed.
- a plurality of significant factors may be changed.
- FIG. 4 illustrates an example of an apparatus 400.
- the apparatus may be the ISP database server 104.
- the apparatus 400 may include a processor 402 and a non-transitory computer readable storage medium 404.
- the non-transitory computer readable storage medium 404 may include instructions 406, 408, 410 and 412 that when executed by the processor 402, cause the processor 402 to perform various functions.
- the instructions 406 may include instructions to divide collected historical sales data into a training data set and a testing data set.
- the instructions 408 may include instructions to calculate a classification model based.
- the classification model may be based on the training data set, wherein the classification model is validated with the testing data set that has a chi squared distribution by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the classification model.
- the instructions 410 may include instructions to predict whether a pending sale will successfully close. The prediction may be based on a comparison between a plurality of factors associated with the pending sale and the classification model.
- the instructions 412 may include instructions to generate an action plan.
- the action plan may include changing at least one of the plurality of factors based on the instructions to predict.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
In example implementations, a method executed by a processor is provided. The method collects historical sales data. The historical sales data is divided into a training data set and a testing data set. A classification model is calculated based on the training data set and validated with the testing data set. Information associated with a pending sale is received. The information comprises a plurality of factors. Based upon the classification model, a prediction is made whether the pending sale will successfully close. An action plan that includes changing at least one of the plurality of factors based on the predicting is generated.
Description
DATABASE SERVER TO PREDICT SALES
BACKGROUND
[0001] Sales forecasting is a tool used by sales organizations. Currently, sales forecasting is done in the aggregate (e.g., what will the total sales be for the entire organization for a quarter, or the year). Aggregate sales forecasting may help predict an overall sales, but may not provide information about a specific sale. As a result, aggregate sales forecasting may not provide any information that can be actionable for sales person or the organization.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 is a block diagram of an example system of the present disclosure;
[0003] FIG. 2 is a block diagram of an example individual sales prediction database server;
[0004] FIG. 3 is a flow diagram of an example method for predicting sales; and
[0005] FIG. 4 is a block diagram of a non-transitory computer readable medium storing instructions executed by a processor.
DETAILED DESCRIPTION
[0006] The present disclosure discloses an example apparatus and method for predicting sales. As noted above, current sales forecasting methods forecast sales in the aggregate. However, predicting sales in the aggregate is too general to generate an action plan. For example, aggregate sales
prediction methods do not provide any specific factors that may affect an outcome of a particular deal. As a result, sales forecasting methods that predict an aggregate sales amount do not allow a sales company to generate an action plan in response to a specific deal that may be at risk.
[0007] The present disclosure provides a more accurate and granular sales forecasting method that can provide a prediction for each pending sale. The correlations disclosed herein help to minimize type 2 error (e.g., error related to predicting a successful sale, when the sale was not successful) in a null hypothesis analysis. Moreover, the present disclosure can provide factors that affect the prediction of an outcome of each sale. The factors that affect the sale can be used to generate an action plan that provides action items for a sales manager. For example, if a negative factor is the sales representative that is assigned to the deal, the sales manager may immediately assign a new sales representative to the deal.
[0008] In addition, the present disclosure may use a database server that is dedicated for executing the prediction of the sales forecast. The data that is collected to train the prediction model may be stored in the database server and not moved from client to client as the prediction is executed. As a result, each client may connect to the database server to execute the prediction rather than downloading the data local on the client and moving the data from client to client each time the prediction is executed.
[0009] FIG. 1 illustrates an example system 100 of the present disclosure. In one example, the system 100 may include an individual sales prediction (ISP) database server 104 located in an Internet Protocol (IP) network 102. It should be noted that the IP network 102 has been simplified for ease of explanation. For example, the I P network 102 may include additional network elements that are not shown (e.g., a router, a gateway, a firewall, additional access networks, application servers, and the like).
[0010] In one example, a plurality of endpoints 1 10, 1 12 and 1 14 may be in communication with the ISP database server 104 via a wired or wireless connection. The endpoints 1 10, 1 12 and 1 14 may be any type of endpoint device such as a laptop computer, a desktop computer, a tablet computer, a
smart phone, and the like. It should be noted that although three endpoint devices 1 10, 1 12 and 1 14 are illustrated in FIG. 1 that any number of endpoint devices may be deployed.
[0011] In one example, the endpoints 1 10, 1 12 and 1 14 may be located remotely from the ISP database server 104. In another example, the endpoints 1 10, 1 12 and 1 14 and the ISP database server 104 may be part of a common sales organization or enterprise. The endpoints 1 10, 1 12 and 1 14 may be located remotely from one another and assigned to different sales managers of different regions. The sales managers may access the ISP database server 104 via a respective endpoint 1 10, 1 12 or 1 14 to have the ISP database server 104 predict an outcome of pending sales and provide an accurate sales forecast. Based on the predicted outcome of the pending sales, the ISP database server 104 may generate an action plan for each pending sale that can be used by the sales managers or the sales organization.
[0012] In one example, the system 100 may include a third party database (DB) 106 and a third party DB 108. Although two third party DBs 106 and 108 are illustrated in FIG. 1 , it should be noted that any number (e.g., more or less) of third party DBs may be deployed. The third party DBs 106 and 108 may provide historical sales data for the sales organization. The historical sales data may include a plurality of factors associated with each sale and an outcome of the previous sale (e.g., successful sale or unsuccessful sale). The historical sales data may be collected by the ISP database server 104 and used to generate a classification model. The classification model can then be used by the ISP DB 104 to predict an outcome of pending sales. An example of a third party DB 106 and 108 that can be used may be Salesforce.com®.
[0013] In one implementation, a plurality of ISP database servers 104 may be deployed and used to process large amounts of data collected from the third party DB 106 and/or the third party DB 108. For example, the data may be split into smaller subsets of data and each smaller subset of data may be processed by a respective one of the plurality of ISP database servers 104. As a result, the large amounts of data may be processed in parallel by the plurality of ISP database servers 104.
[0014] FIG. 2 illustrates a block diagram of an example ISP database server 104. In one example, the ISP database server 104 may include a processor 202. The processor may be in communication with a data collection engine 204, a classification engine 206, a prediction engine 208 and an action plan generator 210. The processor may execute instructions associated with the functions performed by the data collection engine 204, the classification engine 206, the prediction engine 208 and the action plan generator 210.
[0015] In one implementation, the data collection engine 204 may collect historical sales data. For example, the processor 202 may establish a wired or wireless connection with a third party DB 106 or 108 and collect historical sales data. In one example, the data collection engine 204 may periodically collect historical sales data to periodically update the classification model that is generated.
[0016] In one example, the historical sales data may include various information associated with each historical sale. For example, the information may include whether the sale was successful or unsuccessful, a date the sale closed if successful, age (e.g. , a number of days until the win/loss), the sales representative, an age of the sales represented, a forecast of a sales manager, a region, whether a sales representative prepared a plan to tackle the potential sale, and the like.
[0017] In one example, the data can be organized into a table. Each row of the table may be associated with a potential or pending sale. Each column may be associated with one of the factors described above. A final column may represent a binary outcome of the potential or pending sale (e.g., successful sale or unsuccessful sale).
[0018] In one implementation, the classification engine 206 may calculate a classification model using the historical sales data collected by the data collection engine 204. For example, the classification engine 206 may divide the historical sales data into a training data set and a testing data set. The proportions of how the historical sales data are divided into the training data set and the testing data set may be pre-defined. In one example, 70% of the historical sales data may be used for the training data set and 30% of the
historical sales data may be used for the testing data set.
[0019] In one example, the classification engine 206 may determine which factors are the most correlated to the outcome of a pending sale. In one example, the classification engine 206 may pre-process the data to remove outliers and derive new factors from the raw data collected from the third party DB 106 and/or the third party DB 108.
[0020] In one example, after the data is pre-processed, a modified stepwise- discriminant analysis (SWLDA) may be applied to the historical sales data to identify the most significant factors that correlate to the outcome of a pending sale. The modified SWLDA is an iterative method where at each iteration a factor with the highest correlation and statistical significance is selected. In one example, a significant factor may be identified as a factor that is greater than a threshold of 90% based on the modified SWLDA. In one example, the modified SWLDA may iterate until no factor meets the threshold.
[0021] The significant factors may then be correlated to the training data set. In one example, the classification model may be calculated based on the identified significant factors using any type of data analysis method, such as, a k-nearest neighbors (KNN) analysis, a non-parametric kernel density estimation analysis, a linear dirichlet allocation (LDA) analysis, a quadratic discriminant analysis, a qualitative data analysis (QDA), and the like.
[0022] In one example, the classification model may be graded based on a performance of a particular data analysis method. In one example, the performance may be measured based on a sensitivity, a specificity and a false positive rate (FPR). A classification model that has a high sensitivity, high specificity and low FPR is desired. In one example, the KNN analysis may provide the best data analysis for calculating the best classification model.
[0023] In one example, the classification engine 206 may validate the classification model by applying a null hypothesis analysis using the testing data set. Previous methods provided a less accurate forecasting model because the null hypothesis was applied to a data set that was assumed to have a Gaussian distribution. However, the testing data is used to calculate a distance between the testing data to one of the binary outcomes (e.g., successful sale or
unsuccessful sale) determined by the classification model. The distance values comprise a chi squared (χ2) distribution as opposed to a Gaussian distribution.
[0024] In addition, the present disclosure introduces a new error constant term, a, that can be applied to each independent test of the classification model performed using the testing data set. Thus, if there are n independent tests performed by the testing data set, the potential tail error would be minimized to an. In one example, a may be set to a value of 0.05.
[0025] In one example, the null hypothesis analysis may be applied using the testing data set on the classification model to minimize a type 2 error. In one example, since the classification model has a binary outcome, there may be two types of error. Type 1 error may be error introduced by classifying a pending sale as unsuccessful when the sale was actually a successful sale. Type 2 error may be introduced by classifying a pending sale as successful when the sale was actually an unsuccessful sale.
[0026] By applying the an error constant to the n independent tests performed by the testing data set, the probability that the classification model is invalidated by a new data point is exponentially reduced. In other words, the validation that is performed by the testing data by applying the an error constant ensures that the classification model is accurate at predicting a sales outcome of a pending sale.
[0027] In one implementation, the prediction engine 208 may predict whether a pending sale will successfully close based upon the classification model. For example, the prediction engine 208 may receive a pending sale from a communication session established with one of the endpoints 1 10, 1 12 or 1 14. For example, a sales manager may want to forecast sales and provide a pending sale or a plurality of pending sales to the ISP database server 104. In one example, the pending sale may include information associated with the pending sale (e.g., a plurality of factors described above). The prediction engine 208 may use the classification method to calculate a distance between a predicted outcome of the pending sale to one of the binary outcomes of the classification method (e.g., a successful sale or an unsuccessful sale). The prediction engine 208 may classify the pending sale based on which outcome
the pending sale is closer to.
[0028] In one implementation, the action plan generator 210 may generate an action plan based upon the predicted outcome of the pending sale. In one example, if the pending sale is predicted to be successful, then the action plan may be to take no additional action. In other words, no factors are changed and the sales manager may continue to implement the action plan currently in place to close the pending sale.
[0029] However, if the pending sale is predicted to be unsuccessful, the action plan generator 210 may generate an action plan that changes at least one factor associated with the pending sale. In one example, a factor that has a highest significant factor for determining the outcome may be changed. For example, the sales representative may be the highest significant factor as described above using a SWLDA analysis. Thus, the sales representative that is currently assigned may have a low success rate for closing deals and the sales manager may reassign a new sales representative to the pending sale.
[0030] In another example, an age of the pending sale may be the highest significant factor. As a result, the action plan may be to implement a more accelerated action plan to work towards closing the pending sale sooner otherwise the pending sale could become stale at which point the pending sale would close unsuccessfully. In some examples the generated action plan may including changing more than one factor.
[0031] In one example, the classification model engine 206 may calculate the classification model locally and the prediction engine 208 may predict an outcome of the pending sale locally on the ISP database server 104. In other words, the historical sales data, the classification model and the functions of the prediction engine 208 are not transferred or downloaded locally to an endpoint device 1 10, 1 12 or 1 14 when a pending sales prediction is requested. As a result, the ISP database server 104 ensures that the same classification model is applied for each prediction requested by the remotely located endpoint devices 1 10, 1 12 and 1 14. In addition, the ISP database server 104 ensures that the classification model that is applied for each prediction request is calculated based on the same historical sales data. As a result, different sales
managers in different regions may receive an accurate sales prediction for each pending sale that is based off of a consistent and accurate classification model.
[0032] FIG. 3 illustrates a flow diagram of an example method 300 for predicting sales. In one example, the blocks of the method 300 may be performed by the ISP database server 104.
[0033] At block 302, the method 300 begins. At block 304, the method 300 collects historical sales data. For example, the historical sales data may be collected from a third party database such as Salesforce.com.
[0034] At block 306, the method 300 divides the historical sales data into a training data set and a testing data set. For example, a portion of the historical sales data may be used as a training data set to calculate a classification model and the remaining portion of the historical sales data may be used to validate the classification model. In one example, 70 percent of the historical sales data may be separated as the training data set and the remaining 30 percent of the historical sales data may be separated out as the testing data set.
[0035] At block 308, the method 300 calculates a classification model based on the training data set. The classification model may be validated with the testing data set that has a chi squared distribution by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the classification model. For example, null hypothesis may be applied to the chi squared distribution (as opposed to a Gaussian distribution that is typically used) that comprises a distribution of distances that are calculated between the testing data set and the classification model. The null hypothesis may validate the classification model by minimizing a type 2 error (e.g., an error associated with classifying a pending sale as a successful sale when the sale is an unsuccessful sale) by applying the error constant to each one of the testing data set that is compared to the classification model.
[0036] As described above, the error constant may be increased
exponentially by a value associated with the number of independent tests performed on the classification method. For example, if there are 30
independent tests run on the classification method using 30 data points in the testing data set, then the error probability of the classification method may be
equal to the error constant raised to a power of 30 (e.g., a30). In other words, the testing data is used to validate the classification method to ensure that the classification method provides an accurate prediction.
[0037] The classification model may be calculated using any one of a variety of different statistical analysis methods. In one example, the classification model may be calculated using at least one of a KNN analysis, a non-parametric kernel density estimation analysis, an LDA analysis, a quadratic discriminant analysis, or a QDA analysis. In one example, KNN analysis may provide the most accurate classification model.
[0038] In one implementation, the classification method may also be based on a subset of factors extracted from the historical sales data. As described above, the subset of factors may be extracted using a SWLDA analysis to identify significant factors that determine an outcome of a pending sale.
[0039] In one example, the method 300 may periodically repeat blocks 304, 306 and 308. For example, to continually provide the most accurate
classification model, the method 300 may periodically recalculate the
classification model using the most recent historical sales data.
[0040] At block 310, the method 300 receives information associated with a pending sale, wherein the information comprises a plurality of factors. For example, a sales manager may want to forecast sales for a time period. The sales manager may send, via an endpoint, pending sales and information associated with the pending sales to the ISP database server to receive a prediction of whether each one of the pending sales will be successful or unsuccessful.
[0041] At block 312, the method 300 predicts whether the pending sale will successfully close based upon the classification model. For example, the method 300 may use the classification method to calculate a distance between a predicted outcome of the pending sale to one of the binary outcomes of the classification method (e.g., a successful sale or an unsuccessful sale). The method 300 may classify the pending sale based on which outcome the pending sale is closer to.
[0042] At block 314, the method 300 may generate an action plan that
includes changing at least one of the plurality of factors based on the predicting. In one example, if the pending sale is predicted to be successful, then the action plan may be to take no additional action. In other words, no factors are changed and the sales manager may continue to implement the action plan currently in place to close the pending sale.
[0043] However, if the pending sale is predicted to be unsuccessful, the action plan may change at least one factor associated with the pending sale. In one example, a factor that has a highest significant factor for determining the outcome may be changed. In another example, a plurality of significant factors may be changed. At block 316, the method 300 ends.
[0044] FIG. 4 illustrates an example of an apparatus 400. In one example, the apparatus may be the ISP database server 104. In one example, the apparatus 400 may include a processor 402 and a non-transitory computer readable storage medium 404. The non-transitory computer readable storage medium 404 may include instructions 406, 408, 410 and 412 that when executed by the processor 402, cause the processor 402 to perform various functions.
[0045] In one example, the instructions 406 may include instructions to divide collected historical sales data into a training data set and a testing data set. The instructions 408 may include instructions to calculate a classification model based. The classification model may be based on the training data set, wherein the classification model is validated with the testing data set that has a chi squared distribution by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the classification model. The instructions 410 may include instructions to predict whether a pending sale will successfully close. The prediction may be based on a comparison between a plurality of factors associated with the pending sale and the classification model. The instructions 412 may include instructions to generate an action plan. The action plan may include changing at least one of the plurality of factors based on the instructions to predict.
[0046] It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many
other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.
Claims
1 . A method, comprising:
collecting, by a processor, historical sales data;
dividing, by the processor, the historical sales data into a training data set and a testing data set;
calculating, by the processor, a classification model based on the training data set, wherein the classification model is validated with the testing data set that has a chi squared distribution by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the
classification model;
receiving, by the processor, information associated with a pending sale, wherein the information comprises a plurality of factors;
predicting, by the processor, whether the pending sale will successfully close based upon the classification model; and
generating, by the processor, an action plan that includes changing at least one of the plurality of factors based on the predicting.
2. The method of claim 1 , wherein the chi squared distribution comprises a distribution of distances that are calculated between the testing data set and the classification model.
3. The method of claim 1 , wherein the null hypothesis validates the classification model by minimizing a type 2 error by applying the error constant to the each one of the testing data set that is compared to the classification model.
4. The method of claim 3, wherein the type 2 error is an error associated with classifying the pending sale as a successful sale when the sale is an unsuccessful sale.
5. The method of claim 1 , wherein the historical sales data is collected from
a third party database.
6. The method of claim 1 , wherein the classification model is based on a subset of factors extracted from the historical sales data using a modified stepwise-discriminant analysis.
7. The method of claim 6, wherein at least one of: a k-nearest neighbors analysis, a non-parametric kernel density estimation analysis, a linear dirichlet allocation analysis, a quadratic discriminant analysis, or a qualitative data analysis, is applied to the subset of factors and the historical sales data.
8. The method of claim 1 , wherein the action plan comprises changing at least one of the plurality of factors that will change a prediction of the pending sale to a successful sale when the pending sale is predicted to be an unsuccessful sale.
9. An apparatus, comprising:
a processor;
a data collection engine that collects historical sales data;
a classification engine that calculates a classification model based on a training data set divided out of the historical sales data, wherein the
classification model is validated with a testing data set by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the classification model, wherein the testing data set divided out of the historical sales data that has a chi squared distribution;
a prediction engine that predicts whether a pending sale will successfully close based upon the classification model; and
an action plan generator that generates an action plan based on the predicting.
10. The apparatus of claim 9, wherein the chi squared distribution comprises a distribution of distances that are calculated between the testing data set and
the classification model.
1 1 . The apparatus of claim 9, wherein the null hypothesis validates the classification model by minimizing a type 2 error by applying the error constant to the each one of the testing data set that is compared to the classification model.
12. The apparatus of claim 9, wherein the classification model is based on a subset of factors extracted from the historical sales data using a modified stepwise-discriminant analysis.
13. The apparatus of claim 12, wherein at least one of: a k-nearest neighbors analysis, a non-parametric kernel density estimation analysis, a linear dirichlet allocation analysis, a quadratic discriminant analysis, or a qualitative data analysis, is applied to the subset of factors and the historical sales data.
14. A non-transitory computer-readable storage medium encoded with instructions executable by a processor, the computer-readable storage medium comprising:
instructions to divide collected historical sales data into a training data set and a testing data set;
instructions to calculate a classification model based on the training data set, wherein the classification model is validated with the testing data set that has a chi squared distribution by applying a null hypothesis and an error constant to each one of the testing data set that is compared to the
classification model;
instructions to predict whether a pending sale will successfully close based on a comparison between a plurality of factors associated with the pending sale and the classification model; and
instructions to generate an action plan that includes changing at least one of the plurality of factors based on the instructions to predict.
15. The non-transitory computer readable storage medium of claim 14, wherein the null hypothesis validates the classification model by minimizing a type 2 error by applying the error constant to the each one of the testing data set that is compared to the classification model.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2016/015345 WO2017131696A1 (en) | 2016-01-28 | 2016-01-28 | Database server to predict sales |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2016/015345 WO2017131696A1 (en) | 2016-01-28 | 2016-01-28 | Database server to predict sales |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017131696A1 true WO2017131696A1 (en) | 2017-08-03 |
Family
ID=59398682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2016/015345 Ceased WO2017131696A1 (en) | 2016-01-28 | 2016-01-28 | Database server to predict sales |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2017131696A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110852772A (en) * | 2018-08-21 | 2020-02-28 | 北京京东尚科信息技术有限公司 | Dynamic pricing method, system, device and storage medium |
| CN112150201A (en) * | 2020-09-23 | 2020-12-29 | 创络(上海)数据科技有限公司 | Application of KNN-based time sequence migration learning in sales prediction |
| WO2021139335A1 (en) * | 2020-07-28 | 2021-07-15 | 平安科技(深圳)有限公司 | Method and apparatus for predicting sales data of physical machine, and computer device and storage medium |
| CN114581157A (en) * | 2022-04-28 | 2022-06-03 | 湖南康道医药有限公司 | Sales prediction method and apparatus based on big data, electronic device, and medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080183546A1 (en) * | 2005-03-16 | 2008-07-31 | International Business Machines Corporation | Method and system for automatic assignment of sales opportunities to human agents |
| US20110004509A1 (en) * | 2009-07-06 | 2011-01-06 | Xiaoyuan Wu | Systems and methods for predicting sales of item listings |
| US20130144813A1 (en) * | 2011-12-04 | 2013-06-06 | Beyondcore, Inc. | Analyzing Data Sets with the Help of Inexpert Humans to Find Patterns |
| US20140149180A1 (en) * | 2012-04-19 | 2014-05-29 | Oracle International Corporation | Sale prediction engine rules |
| WO2015166489A2 (en) * | 2014-04-28 | 2015-11-05 | Yeda Research And Development Co. Ltd. | Method and apparatus for predicting response to food |
-
2016
- 2016-01-28 WO PCT/US2016/015345 patent/WO2017131696A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080183546A1 (en) * | 2005-03-16 | 2008-07-31 | International Business Machines Corporation | Method and system for automatic assignment of sales opportunities to human agents |
| US20110004509A1 (en) * | 2009-07-06 | 2011-01-06 | Xiaoyuan Wu | Systems and methods for predicting sales of item listings |
| US20130144813A1 (en) * | 2011-12-04 | 2013-06-06 | Beyondcore, Inc. | Analyzing Data Sets with the Help of Inexpert Humans to Find Patterns |
| US20140149180A1 (en) * | 2012-04-19 | 2014-05-29 | Oracle International Corporation | Sale prediction engine rules |
| WO2015166489A2 (en) * | 2014-04-28 | 2015-11-05 | Yeda Research And Development Co. Ltd. | Method and apparatus for predicting response to food |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110852772A (en) * | 2018-08-21 | 2020-02-28 | 北京京东尚科信息技术有限公司 | Dynamic pricing method, system, device and storage medium |
| WO2021139335A1 (en) * | 2020-07-28 | 2021-07-15 | 平安科技(深圳)有限公司 | Method and apparatus for predicting sales data of physical machine, and computer device and storage medium |
| CN112150201A (en) * | 2020-09-23 | 2020-12-29 | 创络(上海)数据科技有限公司 | Application of KNN-based time sequence migration learning in sales prediction |
| CN114581157A (en) * | 2022-04-28 | 2022-06-03 | 湖南康道医药有限公司 | Sales prediction method and apparatus based on big data, electronic device, and medium |
| CN114581157B (en) * | 2022-04-28 | 2022-11-04 | 湖南康道医药有限公司 | Sales volume prediction method and device based on big data, electronic equipment and medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12136040B2 (en) | Resource needs prediction in virtualized systems: generic proactive and self-adaptive solution | |
| Xue et al. | Short‐term bus passenger demand prediction based on time series model and interactive multiple model approach | |
| US20200302540A1 (en) | Applying a trained model to predict a future value using contextualized sentiment data | |
| CN106992994B (en) | Automatic monitoring method and system for cloud service | |
| US7526461B2 (en) | System and method for temporal data mining | |
| CN106982196B (en) | Abnormal access detection method and equipment | |
| CN102346745B (en) | Method and device for predicting user behavior number for words | |
| CN112380044B (en) | Data anomaly detection method, device, computer equipment and storage medium | |
| CN110929840A (en) | Continuous Learning Neural Network Systems Using Rolling Windows | |
| US9299042B2 (en) | Predicting edges in temporal network graphs described by near-bipartite data sets | |
| CN105046045B (en) | A kind of Web service QoS Forecasting Methodologies based on Bayes's combination | |
| CN106022505A (en) | Method and device of predicting user off-grid | |
| Rao et al. | Time Series Forecasting methods suitable for prediction of CPU usage | |
| WO2017131696A1 (en) | Database server to predict sales | |
| CN106447103A (en) | Deep learning based QoS prediction method of Web service | |
| CN113743435B (en) | Training of business data classification model, business data classification method and device | |
| CN112988838A (en) | Monitoring method and device for transaction system | |
| US12430673B2 (en) | Systems and methods for request validation | |
| CN110096335B (en) | Service concurrency prediction method for different types of virtual machines | |
| CN113554288B (en) | A universal data quality assessment method and device | |
| CN110796280B (en) | User behavior prediction method, device and computer-readable storage medium | |
| CN107357649B (en) | Method and device for determining system resource deployment strategy and electronic equipment | |
| CN115169692A (en) | Time series prediction method and related device | |
| França et al. | Data imputation on IoT gateways using machine learning | |
| US12361345B2 (en) | System and method for clustered pricing for task price estimates |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16888427 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16888427 Country of ref document: EP Kind code of ref document: A1 |