Abstract: The present disclosure enables prioritizing opportunities for an event forecasting using a set of instructions. Using the set of instructions, raw information associated with attributes of the opportunities is determined and the raw information is converted to an expanded form. Based on the expanded form of the raw information, the opportunities are ordered in a predefined sequence. A second set of instructions are applied to identify an attribute with a higher priority by comparing each of the one or more attributes. The opportunities are trained using the second set of instructions and are sorted in an ascending order of their assigned rank. At least one of the opportunities is selected and a report pertaining to a feature associated with the selected at least one of the opportunities is generated.
Claims:1. A method for prioritizing opportunities for an event forecasting using a set of instructions, the method comprising:
determining, at a remote server executing the set of instructions, raw information associated with one or more attributes of the opportunities;
converting, at the remote server, the raw information associated with the one or more attributes to an expanded form;
ordering, at the remote server, the opportunities based on the expanded form of the raw information in a predefined sequence;
applying, at the remote server, a second set of instructions to identify an attribute with a higher priority by comparing each of the one or more attributes;
training, at the remote server, the opportunities using the second set of instructions;
sorting, at the remote server, the opportunities in an ascending order of their assigned rank;
selecting, at the remote server, at least one of an opportunity of the opportunities sorted in the ascending order of their assigned rank; and
generating, at the server, a report pertaining to a feature associated with the selected at least one of the opportunities.
2. The method as claimed in claim 1, wherein the raw information converted to the expanded form corresponds to a uni-temporal data.
3. The method as claimed in claim 1, wherein the second set of instructions further comprises determining one or more parameters that impact the attribute with the higher priority.
4. The method as claimed in claim 1, wherein the ordering of the opportunities further comprises performing a comparison amongst the opportunities for determining an opportunity having the associated highest rank.
5. The method as claimed in claim 1, wherein the prioritization of the opportunities for the event is performed using at least one of a pairwise ranking mechanism or a listwise ranking mechanism.
6. The method as claimed in claim 1, wherein the one or more attributes fits an ensemble model based on any or a combination of temporal databases, a regression model and a neural network.
7. The method as claimed in claim 1, wherein the second set of instructions is at least one of a statistical model or an algebraic model.
8. A system for prioritizing opportunities for an event forecasting using a set of instructions, the system comprising:
a processor operatively coupled to a memory and a remote server, the remote server being connected to a plurality of computing devices and hosting execution of the set of instructions executed by the processor to:
determine raw information associated with one or more attributes of the opportunities;
convert the raw information associated with the one or more attributes to an expanded form;
order the opportunities based on the expanded form of the raw information in a predefined sequence;
apply a second set of instructions to identify an attribute with a higher priority by comparing each of the one or more attributes;
train the opportunities using the second set of instructions;
sort the opportunities in an ascending order of their assigned rank;
select at least one of an opportunity of the opportunities sorted in the ascending order of their assigned rank; and
generate a report pertaining to a feature associated with the selected at least one of the opportunities.
9. The system as claimed in claim 8, wherein the raw information converted to the expanded form corresponds to a uni-temporal data.
10. The system as claimed in claim 8, wherein the second set of instructions further comprises determining one or more parameters that impact the attribute with the higher priority.
, Description:TECHNICAL FIELD
[001] The present disclosure relates to a method and a system for providing sales forecasting, and more particularly, to method and system for providing the sales forecasting by prioritizing opportunities using a machine learning model.
BACKGROUND
[002] In prevalent times, organizations perform sales in many different ways such as by using a Business to Consumer (B2C) model, a Business to Government (B2G) model, a Business to Business (B2B) model and the like. Amongst these, some of the organizations that use the B2B model offer services and others products in market. These organizations sell their products in every quarter to maintain a steady stream of revenue. This is called a sales pipe or a sales pipeline. In these organizations there also exists a requirement to forecast a number of opportunities that may be realized in a remaining period of a current quarter and in future quarters. For the same, demand forecasting and opportunity forecasting may be required that may enable determining what should be expected from the sales pipeline.
[003] The demand forecasting and the opportunity forecasting may play an important role in business decision making. Current available techniques for forecasting sales involve various approaches such as aggregating sales numbers of past few quarters to forecast current quarter sales, ignoring individual opportunities for forecasting, starting estimation with a lowest level of data available. However, for performing the forecasting a well-defined manual process for maintaining the data related to possible sales opportunities may be stored in a database (by using, spread sheets, home-grown databases or enterprise CRM software like Salesforce etc.). This manual processes may rely on past data to predict future demand and is very unreliable due to subjective nature of estimating whether an individual opportunity will be “won” or “lost”. Also, these manual processes are error-prone, subjective and extremely laborious and do not scale for large organizations. In addition, these manual processes are difficult to implement in real-time as manual effort involved is prohibitively expensive for such an implementation.
[004] Hence, there is a need in the art, to be able to determine/forecast expected revenue for a business based on the demand and opportunity forecasting performed using machine learning models while mitigating limitations of prioritizing opportunities manually for predicting sales and revenue.
OBJECTS OF THE PRESENT DISCLOSURE
[005] It is an object of the present disclosure to provide sales forecasting information for an organization using a machine learning model based on prioritized available opportunities.
[006] It is an object of the present disclosure to provide an artificial intelligence based model for forecasting bottom-up sales in a Business to Business (B2B) model.
[007] It is an object of the present disclosure to automatically identify important variables in the B2B model that fits an ensemble model based on temporal databases, regression and neural network.
[008] It is an object of the present disclosure to provide an opportunities prioritizing system that may be re-trained over time using the machine leaning model and may be adjusted with a new set of data without any manual intervention.
SUMMARY OF THE INVENTION
[009] The present invention relates generally to a method and a system for providing sales forecasting, and more particularly, to method and system for providing the sales forecasting by prioritizing opportunities using a machine learning model.
[0010] According to an aspect of the present disclosure is provided, a method for prioritizing opportunities for an event forecasting using a set of instructions, the method comprising: determining, at a remote server executing the set of instructions, raw information associated with one or more attributes of the opportunities; converting, at the remote server, the raw information associated with the one or more attributes to an expanded form; ordering, at the remote server, the opportunities based on the expanded form of the raw information in a predefined sequence; applying, at the remote server, a second set of instructions to identify an attribute with a higher priority by comparing each of the one or more attributes; training, at the remote server, the opportunities using the second set of instructions; sorting, at the remote server, the opportunities in an ascending order of their assigned rank; selecting, at the remote server, at least one of an opportunity of the opportunities sorted in the ascending order of their assigned rank sorted in the ascending order of their assigned rank; and generating, at the server, a report pertaining to a feature associated with the selected at least one of the opportunities.
[0011] According to an embodiment, the raw information converted to the expanded form corresponds to a uni-temporal data.
[0012] According to an embodiment, the second set of instructions further comprises determining one or more parameters that impact the attribute with the higher priority.
[0013] According to an embodiment, the ordering of the opportunities further comprises performing a comparison amongst the opportunities for determining an opportunity having the associated highest rank.
[0014] According to an embodiment, the prioritization of the opportunities for the event is performed using at least one of a pairwise ranking mechanism or a listwise ranking mechanism.
[0015] According to an embodiment, the one or more attributes fits an ensemble model based on any or a combination of temporal databases, a regression model and a neural network.
[0016] According to an embodiment, the second set of instructions is at least one of a statistical model or an algebraic model.
[0017] According to an aspect of the present disclosure is provided, a system for prioritizing opportunities for an event forecasting using a set of instructions, the system comprising: a processor operatively coupled to a memory and a remote server, the remote server being connected to a plurality of computing devices and hosting execution of the set of instructions executed by the processor to: determine raw information associated with one or more attributes of the opportunities; convert the raw information associated with the one or more attributes to an expanded form; order the opportunities based on the expanded form of the raw information in a predefined sequence; apply a second set of instructions to identify an attribute with a higher priority by comparing each of the one or more attributes; train the opportunities using the second set of instructions; sort the opportunities in an ascending order of their associated rank; select at least one of an opportunity of the opportunities sorted in the ascending order of their assigned rank; and generate a report pertaining to a feature associated with the selected at least one of the opportunities.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In the figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
[0019] The diagrams are for illustration only, which thus is not a limitation of the present disclosure, and wherein:
[0020] FIG. 1 illustrates a network implementation of an opportunities prioritizing system for prioritizing opportunities for an event forecasting, in accordance with an embodiment of the present disclosure
[0021] FIG. 2 illustrates exemplary functional components of the system in accordance with an embodiment of the present disclosure.
[0022] FIG. 3 illustrates an exemplary representation of auto generation of model data, in accordance with an embodiment of the present disclosure.
[0023] FIG. 4 illustrates an exemplary architecture for model training, in accordance with an embodiment of the present disclosure.
[0024] FIG. 5 illustrates an exemplary architecture for inferencing, in accordance with an embodiment of the present disclosure.
[0025] FIGs. 6A-E illustrates an exemplary representation for prioritizing opportunities for an event forecasting, in accordance with an embodiment of the present disclosure.
[0026] FIG. 7 is a high-level flow diagram illustrating working of the opportunities prioritizing system in accordance with an embodiment of the present disclosure.
[0027] FIG. 8 illustrates an exemplary computer system in which or with which embodiments of the present invention can be utilized in accordance with embodiments of the present disclosure.
DETAILED DESCRIPTION
[0028] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0029] The present disclosure relates to a method and a system for providing sales forecasting, and more particularly, to method and system for providing the sales forecasting by prioritizing opportunities using a machine learning model.
[0030] The present disclosure enables to learn behaviour and properties of opportunities from historical data to predict behaviour of current opportunities thereby making it a truly bottom-up approach for predicting revenue. Further, the present disclosure ranks opportunities according to a likelihood of winning using artificial intelligence based algorithms leading to elimination of subjectivity and manual labour while avoiding errors.
[0031] FIG. 1 illustrates a network implementation 100 of an opportunities prioritizing system 102 for prioritizing opportunities for an event forecasting using a set of instructions, in accordance with an embodiment of the present disclosure. With reference to FIG. 1, the opportunities prioritizing system 102 (also referred to as system 102 hereafter) is disclosed that is configured to prioritize opportunities (e.g., related to sale of a product or service, that includes pre-sales conversations, market identification, product validation, sales qualified products, opportunity win and after sales) for an event forecasting (e.g., creating sales opportunity, sales creation and revenue generation), and this is done by execution of a set of instructions (e.g., using a machine learning model). The system 102 is connected to a remote server 104. As an example, the remote server 104 may be enabled to act as an online opportunities prioritizing platform that may enable sorting, selecting and prioritizing opportunities according to their rank. The remote server 104 may generate a report pertaining to a feature (e.g., forecasted revenue) that is associated with the selected opportunities.
[0032] In an implementation, the system 102 may be accessed by entities 110-1, 110-2…110-N (which are collectively referred to as entities 110 and individually referred to as the entity 110, hereinafter) , and may communicate with the system 102 through one or more computing devices 108-1, 108-2…108-N (which are collectively referred to as computing devices 108 and individually referred to as the computing device 108, hereinafter) that may be communicatively coupled to the system 102 through a network 106. The entities 110 may be a seller, a merchant, a middleman, a store owner and the like. Further, the computing devices 108 may include a variety of computing systems, including but not limited to, a laptop computer, a desktop computer, a notebook, a workstation, a portable computer, a personal digital assistant, a handheld device, a smartphone and a mobile device.
[0033] In an embodiment, raw information (e.g., opportunity score, category, customer organization, business vertical of the opportunity, geography of the opportunity, sales representative ID, etc.) associated with one or more attributes (e.g., number of days since creation, number of days since last update, number of days since year beginning) of the opportunities may be determined on the server 104. The server 104 is connected to a plurality of computing devices 108-1, 108-2…108-N via the network 106. The one or more attributes may fit an ensemble model based on any or a combination of temporal databases, a regression model and a neural network.
[0034] In an embodiment, the raw information associated with the one or more attributes may be converted to an expanded form (e.g., by replacing string values of the raw information with a number using a label encoding technique). The raw information converted to the expanded form may correspond to a uni-temporal data.
[0035] In an embodiment, the opportunities may be ordered based on the expanded form of the raw information in a predefined sequence. The ordering of the opportunities may include performing a comparison amongst the opportunities for determining an opportunity having the associated highest rank. Thereafter, a second set of instructions (e.g., statistical and algebraic algorithms) may be applied to identify an attribute with a higher priority by comparing each of the one or more attributes. Further, the opportunities may be trained using the second set of instructions. The second set of instructions may include determining one or more parameters that impact the attribute with the higher priority.
[0036] In an embodiment, the opportunities may be sorted in an ascending order of their associated rank. The rank may be associated with a likelihood of winning of the opportunity. Thereafter, a set of topmost opportunities may be selected. The server 104 may then generate a report pertaining to a feature (e.g., accumulated amount of the set of topmost opportunities) associated with the set of topmost opportunities. In an implementation, the network 106 may be a wireless network, a wired network or a combination thereof. The network 106 may be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, Wi-Fi, LTE network, CDMA network, and the like. Further, the network 106 may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another. Further the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[0037] FIG. 2 illustrates exemplary functional components 200 of the system 102 in accordance with an embodiment of the present disclosure. In an embodiment, and as shown in FIG. 2, the system 102 may include one or more processors 202. The one or more processors 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that manipulate data based on operational instructions. Among other capabilities, the one or more processor(s) 202 may be configured to fetch and execute computer-readable instructions stored in a memory 204 of the the system 102. The memory 204 may store one or more computer-readable instructions or routines, which may be fetched and executed to create or share the data units over a network service. The memory 204 may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
[0038] The system 102 may also comprise an interface(s) 206. The interface(s) 206 may comprise a variety of interfaces, for example, a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) 206 may facilitate communication of the system 102 with various devices coupled to it. The interface(s) 206 may also provide a communication pathway for one or more components of the processing engine 208. Examples of such components include, but are not limited to, processing engine(s) 208 and database 226.
[0039] The processing engine(s) 208 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) 208. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the o processing engine(s) 208 may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the one or more processors 202 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) 208. In such examples, the system 102 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system 102 and the processing resource. In other examples, the processing engine(s) 208 may be implemented by electronic circuitry.
[0040] In an aspect, the database 226 may comprise data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor(s) 202 or the processing engine(s) 208 or the system 102. In an exemplary embodiment, the processing engine(s) 208 may include a raw information determination and converting engine 212, an opportunities ordering engine 214, an attribute identifying engine 216, an opportunities training engine 218, an opportunities sorting engine 220, a report generating engine 222 and other engines 224, wherein the other engines 224 may further include, without limitation, data receiving engine, storage engine, computing engine, or signal generation engine. Other engine(s) 224 may supplement the functionalities of the processing engine(s) 208 or the system 102. The system 102 may be implemented using any or a combination of hardware components and software components. In an implementation, 102 may be accessed by applications residing on any operating system, including but not limited to, AndroidTM, iOSTM, and the like.
[0041] The system 102 may facilitate to prioritize opportunities for an event forecasting using a set of instructions. The prioritization of the opportunities for the event may be performed using at least one of a pairwise ranking mechanism or a listwise ranking mechanism.
[0042] In an embodiment, the raw information determination and converting engine 212, may facilitate to determine raw information associated with one or more attributes of the opportunities and may then convert the raw information associated with the one or more attributes to an expanded form. The one or more attributes may fit an ensemble model based on any or a combination of temporal databases, a regression model and a neural network. The one or more attributes may fit an ensemble model based on any or a combination of temporal databases, a regression model and a neural network. In an exemplary embodiment, the attributes of the opportunities as stored in a database may be, for example, current calendar date, number of days since creation, number of days since last update, number of days since year beginning years and the like.
[0043] In an embodiment, the opportunities ordering engine 214 may order the opportunities based on the expanded form of the raw information in a predefined sequence. The raw information converted to the expanded form corresponds to a uni-temporal data. Ordering the opportunities includes performing a comparison amongst the opportunities for determining an opportunity having the associated highest rank. The opportunities may be ordered as per their chances of win/loss. Chances of win may relate to a repeat selection of the opportunity and chances of loss may relate to a non-selection of the opportunity.
[0044] In an embodiment, the attribute identifying engine 216 may apply a second set of instructions to identify an attribute with a higher priority by comparing each of the one or more attributes. The second set of instructions further includes determining one or more parameters that impact the attribute with the higher priority. The second set of instructions is at least one of a statistical model or an algebraic model. In an exemplary embodiment, the opportunities may be compared amongst themselves, i.e. with every other opportunity and then a likelihood of winning an opportunity as compared to another opportunity may be calculated.
[0045] In an embodiment, the opportunities training engine 218 may train the opportunities using the second set of instructions. The second set of instructions may perform a comparison amongst the opportunities for determining an opportunity having the associated highest rank. Further, the second set of opportunities may be the second set of instructions is at least one of a statistical model or an algebraic model. In an exemplary embodiment, the parameters which are responsible for marking one opportunity to be better than another may be learned.
[0046] In an embodiment, the opportunities sorting engine 220 may sort the opportunities in an ascending order of their associated rank. For example, all the open opportunities may be sorted as per their likelihood of winning.
[0047] In an embodiment, the report generating engine 222 may select at least one of the opportunities sorted in the ascending order of their associated rank and may generate a report pertaining to a feature associated with the selected at least one of the opportunities. In an exemplary embodiment, the topmost x% opportunities may be selected and the amounts of all the filtered opportunities may be added and may be reported as the forecasted amount of revenue.
[0048] FIG. 3 illustrates an exemplary representation 300 of auto generation of model data, in accordance with an embodiment of the present disclosure. With respect to FIG. 3, an initiation of a time period is depicted as delta ‘T’ at 302. At 304, an opportunity raw data at a particular point of time is shown. Additionally, at this point of time a feature engineered opportunity data may be created at 308. At end of a time period an opportunity status may be determined at 306. The opportunity status at 306 may be directed to be featured engineered at 308 or may be directed to 310 to generate training data and inference data. The training data may be generated by determining independent variables from “point in time” feature engineered data or by determining dependent variable from opportunity raw data at end of time period. The inference data may be generated by determining independent variables from “point in time” feature engineered data, feeding the determined independent variables into a Machine Learning model to obtain a comparative probability of winning and by forecasting top probabilities as “win” based on a threshold.
[0049] FIG. 4 illustrates an exemplary architecture 400 for model training, in accordance with an embodiment of the present disclosure. With respect to FIG. 4, an input from a sales representative may be obtained at 402 and may be stored in an opportunities database 404. From the opportunities database closed opportunities may be selected at 406 and may be determined to be categorized as a “win” or a “loss” at 408. Raw data of the closed opportunities may be transformed into a uni-temporal data at 410 and may be stored in a uni-temporal database at 412. A feature engineering operation may be performed at 414 on opportunities maintained in the uni-temporal database 412. Subsequently, historical opportunities related to, for example, stage in sales life-cycle, geography, last action taken etc. on same date and win/loss status may be determined at 416. At 418, data may be filtered based on “today’s date. The filtered data may be used to create training data at 420. Further, a hybrid machine learning model (i.e., a combination of time-series, regression and neural networks) may be used to rank the opportunities, at 422 and to create a trained model at 424.
[0050] FIG. 5 illustrates an exemplary architecture 500 for inferencing, in accordance with an embodiment of the present disclosure. With respect to FIG. 5, an input from a sales representative may be obtained at 502 and may be maintained in an opportunities database 504. At 506, open opportunities may be selected from the database. The open opportunities at 508 may be transformed into a uni-temporal data at 510 and maintained at a uni-temporal database 512. At 514, feature engineering may be performed on data maintained in the uni-temporal database to obtain live opportunities (including, for example, stage in sales life-cycle, geography, last action taken etc.) at 516. From the live opportunities, filter data may be determined based on current date (for example, Today’s date) at 518 to determine inference data at 520. The inference data may be used to generate a trained model at 522 that may be used to forecast results at 524.
[0051] FIGs. 6A-E illustrates an exemplary representation for prioritizing opportunities for an event forecasting, in accordance with an embodiment of the present disclosure. With reference to FIG. 6A, an exemplary tabular representation depicts for an opportunity, raw information as parameters such as : “Today’s Date – 5th July 2021”, “Beginning of Year – 1st Jan 2021”, “Delta – 185”. Further is shown an opportunity ID for the opportunity. For the opportunity ID a serial number is assigned “0x120000000000000006”. Also is assigned parameters such as “Created Date – Not a Number (NaN)”, “Amount – NaN”, “Life Cycle Stage – Legal”, “Final Result – NaN” and “Update Date – 19th Sep, 2018”. Similar to above described opportunity, multiple additional opportunities along with their assigned parameters are shown in the tabular representation 600.
[0052] In an embodiment, the raw information maintained in the table 600 may be converted to an expanded form that may correspond to a uni-temporal data. As may be appreciated, basis a time axis, the raw information may be transformed into the uni-temporal data. The transformation of the raw information into a uni-temporal database may be performed using below mentioned steps:
For each opportunity in the input Database
1. D1 = date when the opportunity is created
2. If opportunity is Closed (as either Won or Lost),
D2 = date when the opportunity is closed (Won or Lost)
If Opportunity is Won
Final_result = 1
Else
Final_result = 0
Else
D2 = Today’s date
Final_result = Unknown
3. For each date in the range of d1 to d2
a. If there are some updates to the opportunity on the date,
tuple = (date, updated information, Final_result)
Else
tuple = (date, previous information, Final_result)
b. Append tuple to expanded_single_opportunity_history
4. Append the expanded_single_opportunity_history to consolidated_expanded_opportunity_history
5. Sort the consolidated_expanded_opportunity_history by Final_result,
OpportunityId and date
6. Save the sorted result
[0053] In an embodiment, creation of the uni-temporal database may offer a benefit of looking at the up-to-date of all opportunities as a single record. This may eliminate a complexity of looking at changes/updates done at random dates and may streamline the data for comparison across time periods/quarters. As may be appreciated, this may eliminate the problem of missing data when uni-temporal database is created from raw data. With respect to FIG. 6B, a tabular representation, 620, illustrating the uni-temporal data on a particular time axis for the opportunity with opportunity ID “0x120000000000000006” is illustrated. The raw information may be refactored based on different behavioural aspects of deals. The parameters of the deals success or failure may be hand picked for feeding into algorithm. The hand-picked, feature engineered parameters may be, for example, number of days since the deal was opened, velocity of moving through stages, days since stagnation in current stage, amount, reach of marketing in the customer organization, most recent marketing connect and days since the most recent marketing connect, competitor information, historical success ratio with the customer, open market information regarding customer’s domain and customers latest financial performance indicators.
[0054] With respect to FIG. 6C, a tabular representation, 640, illustrating feature engineered data for the opportunity with ID “0x120000000000000006” is illustrated. The feature engineering on the opportunity may be performed as per the below mentioned steps:
For each opportunity in consolidated_expanded_opportunity_history
For each day in the expanded_single_opportunity_history
01. Create additional feature engineered values in the data table as explained below:
a. Number_of_days_since_creation = date - created_date
b.Number_of_days_since_last_update = date –
date_where_last_update_happened
c. Number_of_days_since_year_beginning = date - 1st January of that year.
For example, if the date is 12 Jan, Number_of_days_since_year_beginning will get the value of 12. If the date is 1 Feb, then the value shall be 32.
02. Replace the string values with a number using Label Encoding technique for below features:
a. Opportunity Source
b. Category,
c. Customer Organization
d. Business Vertical of the Opportunity
e. Geography of the Opportunity
f. Sales Representative Id
g. Etc.
03. Replace the string values in Life Cycle Stage with a pre-determined number which represent the progression of opportunity. For example, Suspecting stage will be 0,Prospecting will be 1, Request For Quotation will be 7, Decision Pending will be 10 etc.
[0055] With respect to FIG. 6D, a tabular representation, 660, illustrating filtered list of opportunities based on DeltaT (Day of Year in the table) is illustrated. The filtered list of opportunities based on date may be performed as per the below mentioned steps:
1. Using today’s date, count number of days that elapsed since beginning of the current year. For example, if today’s date is 12 Jan,
Number_of_days_since_year_beginning will get the value of 12. If the date is 1 Feb, then the value shall be 32.
2. For all opportunities in consolidated_expanded_opportunity_history, select the row whose Number_of_days_since_year_beginning is same as the value
calculated in step#1 explained above.
3. Sort the filtered opportunities according to the below criteria
a. Days since creation of opportunity
b. Days since last update
c. Average number of days per life cycle stage
[0056] With respect to FIG. 6E, a tabular representation, 680, illustrating pairwise comparative ranking of opportunities is illustrated. For example, on assuming that win rate is 40% then the number of opportunities that will be won is 5*4/100 = 2 i.e. 2 opportunities. Therefore, as illustrated the opportunities to be forecasted to be won are 0x120000000000001801 and 0x120000000000001805 having a corresponding rank ‘1’ and ‘2’ respectively.
[0057] The present disclosure facilitates to provide the following advantages that are over and above the existing similar mechanisms. The disclosed opportunities prioritizing system facilitates to forecast a sales event for an organization by prioritizing various opportunities using a machine learning model. The system is based on an artificial intelligence model and forecasts bottom-up sales in the B2B organization. The system may extract raw information contained in a sales pipeline databases and post extraction, the system may enable each individual opportunity to be expanded into a format which is technically termed as a uni-temporal data. Further, the system may automatically identify one or more important variables that may fit an ensemble model based on temporal databases, regression and neural network.
[0058] In addition, the system may be re-trained over time and a new set of data may be obtained without any manual intervention. The opportunities prioritizing system may use a training data that is based on historical information and may have existed at a “point in time” and is combined with an “end result”. This enables information across two separate time periods to be combined into a single view for training. The disclosed system may determine behavioural aspects of the opportunity to provide valuable insights into a chance of winning or losing that opportunity. The behavioural aspects of the opportunities may be extracted using feature engineering. The opportunities prioritizing system may compare every opportunity with all the remaining opportunities to provide a comparative win/loss probability for every opportunity.
[0059] FIG. 7 is a high-level flow diagram, 700, illustrating working of the opportunities prioritizing system in accordance with an embodiment of the present disclosure. With respect to FIG. 7, at step 702 raw information associated with one or more attributes of the opportunities may be determined. At step 704, the raw information associated with the one or more attributes may be converted to an expanded form. Thereafter, at step 706, the opportunities may be ordered based on the expanded form of the raw information in a predefined sequence.
[0060] At step 708, a second set of instructions may be applied to identify an attribute with a higher priority by comparing each of the one or more attributes and the opportunities may be trained using the second set of instructions, at step 710. Further, at step 712, the opportunities may be sorted in an ascending order of their associated rank. Subsequently, at least one of an opportunity of the opportunities may sorted in the ascending order of their associated rank, at step 714. Further, at step 716, a report pertaining to a feature associated with the selected at least one of the opportunities may be generated.
[0061] FIG. 8 illustrates an exemplary computer system in which or with which embodiments of the present invention can be utilized in accordance with embodiments of the present disclosure. As shown in FIG. 8, computer system 800 can include an external storage device 810, a bus 820, a main memory 830, a read only memory 840, a mass storage device 870, communication port 860, and a processor 870. A person skilled in the art will appreciate that the computer system may include more than one processor and communication ports. Examples of processor 870 include, but are not limited to, an Intel® Itanium® or Itanium 2 processor(s), or AMD® Opteron® or Athlon MP® processor(s), Motorola® lines of processors, FortiSOC™ system on chip processors or other future processors. Processor (870) may include various modules associated with embodiments of the present invention. Communication port 880 can be any of an RS-232 port for use with a modem based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. Communication port 880 may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which computer system connects. Memory 830 can be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read-only memory 840 can be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or BIOS instructions for processor 870. Mass storage 850 may be any current or future mass storage solution, which can be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), e.g. those available from Seagate (e.g., the Seagate Barracuda 7102 family) or Hitachi (e.g., the Hitachi Deskstar 7K1000), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks (e.g., SATA arrays), available from various vendors including Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc. and Enhance Technology, Inc.
[0062] Bus 820 communicatively couples processor(s) 870 with the other memory, storage and communication blocks. Bus 820 can be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects processor 870 to software system.
[0063] Optionally, operator and administrative interfaces, e.g. a display, keyboard, joystick and a cursor control device, may also be coupled to bus 820 to support direct operator interaction with a computer system. Other operator and administrative interfaces can be provided through network connections connected through communication port 860. The external storage device 810 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc - Read Only Memory (CD-ROM), Compact Disc-Re-Writable (CD-RW), Digital Video Disk-Read Only Memory (DVD-ROM). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[0064] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
ADVANTAGES OF THE PRESENT DISCLOSURE
[0065] The present disclosure provides sales forecasting information for an organization using a machine learning model based on prioritized available opportunities.
[0066] The present disclosure provides an artificial intelligence based model for forecasting bottom-up sales in a Business to Business (B2B) model.
[0067] The present disclosure provides automatically identify important variables in the B2B model that fits an ensemble model based on temporal databases, regression and neural network.
[0068] The present disclosure provides an opportunities prioritizing system that may be re-trained over time using the machine leaning model and may be adjusted with a new set of data without any manual intervention.
[0069] The present disclosure provides the opportunities prioritizing system that combines information across two separate time periods into a single view for training.
[0070] The present disclosure provides the opportunities prioritizing system where behavioural aspects of an opportunity provide valuable insights into a chance of winning or losing that opportunity.
[0071] The present disclosure provides the opportunities prioritizing system where the chances of winning or losing the opportunity is extracted using feature engineering.
[0072] The present disclosure provides the opportunities prioritizing system where the opportunity is not directly forecasted as “Will be won” or “Will be lost”. Instead this is done by using an algorithm that compares every opportunity with all the remaining opportunities thereby providing a comparative win/loss probability for every opportunity.
| # | Name | Date |
|---|---|---|
| 1 | 202141050724-STATEMENT OF UNDERTAKING (FORM 3) [05-11-2021(online)].pdf | 2021-11-05 |
| 2 | 202141050724-POWER OF AUTHORITY [05-11-2021(online)].pdf | 2021-11-05 |
| 3 | 202141050724-FORM 1 [05-11-2021(online)].pdf | 2021-11-05 |
| 4 | 202141050724-DRAWINGS [05-11-2021(online)].pdf | 2021-11-05 |
| 5 | 202141050724-DECLARATION OF INVENTORSHIP (FORM 5) [05-11-2021(online)].pdf | 2021-11-05 |
| 6 | 202141050724-COMPLETE SPECIFICATION [05-11-2021(online)].pdf | 2021-11-05 |
| 7 | 202141050724-FORM-26 [11-01-2022(online)].pdf | 2022-01-11 |