Technical field: The present disclosure pertains to manufacturer product configuration technologies and software for assembling product kits.
Conventional approaches to product configuration currently exist primarily in one of two following modes: unguided product configurators and guided product configurators.
Unguided configurators/configuration require little software sophistication to implement, but rely on a sales team with very high product knowledge to avoid configuration mistakes that could lead to long lead times and higher manufacturing costs. For unguided configurators, the burden of product knowledge and learning falls entirely on the sales force. As the product catalog grows, the amount of information required to configure accurately grows exponentially and quickly exceeds the capacity of even the most experienced salesperson.
Guided configurators/configuration or “constraint based” configurators solve some of the problems of the unguided approach, but require configuration rules to be explicitly defined prior to implementation. For complex configuration rulesets, this creates a barrier to implement and requires heavy maintenance and overhead going forward. For organizations with hundreds or thousands of products and product parts, product SKUs, or other product identifiers, explicit inclusion or explicit rulesets of every conclusion is extremely and prohibitively time consuming.
Therefore a need exists to augment the explicit ruleset of the guided configuration approach with a machine-learned ruleset based on previously quoted or available configurations. There exists a further need for a path for product experts to promote learned rules into explicit rules into the improved configurator, and for configurators to optimize providing rulesets and configurations in a short amount of time.
The disclosure relates to a method of real-time configurator validation and recommendation (or an engine for real-time configurator validation and recommendation) having the steps of: collecting historical quotation or sales data; identifying a plurality of solutions based on the data; ranking the plurality of solutions by frequency; returning the plurality of solutions in a ranked order; calculating a subset of probabilities; generating a rule or ruleset; ranking the rules or ruleset; storing the generated and ranked rules or ruleset as a generated learned rule or ruleset; inserting or substituting explicit rules or new configurations; adding a first assembly item; querying the generated learned rules or rulesets; receiving the plurality of solutions in ranked order; and displaying the plurality of solutions or recommendations on a user interface.
The embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. These drawings are used to illustrate only typical embodiments of this invention, and are not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments. The figures are not necessarily to scale and certain features and certain views of the figures may be shown exaggerated in scale or in schematic in the interest of clarity and conciseness.
The description that follows includes exemplary apparatus, methods, techniques, and instruction sequences that embody techniques of the inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details.
Within the manufacturing industry, enterprises that make an array of products consisting of multiple components often have difficulty providing their sales teams with the information and tools to know all the ways that these components can and cannot be configured or combined and offered to end-users. The different combinations of items in product kits or assemblies can easily number in the thousands or tens of thousands, which is prohibitively difficult for any sales team to effectively consider all such combinations in a conventional unguided configurator, and also difficult to program all such combinations via explicit rules in a conventional guided configurator, which may also quickly become outdated. As described in detail below, an improved configuration technique is presented to efficiently compute likely configurations or correlations between products and present results to end-users.
Referring to
By way of example, an end user may begin at steps 210 and/or 220 by starting a quote and adding a first assembly or configured item, such as a particular valve or control device. The configuration process 200 then in step 230 queries the valve item (as added into step 220) against the generated learned rules of the process 100 of
The subject disclosure dramatically improves upon existing models for product configuration by applying computational algorithms to the purpose of recommending components for a given quotation process. As specified, the process depicted by
The microprocessor 300 and its components are generally implemented as electronic circuitry and processor-based computational components controlled by computer instructions stored in physical data storage components 380, including various types of electronic memory and/or mass-storage devices. It should be noted, at the onset, that computer instructions stored in physical data storage devices 380 and executed within processors or microcontrollers 300 comprise the control components of a wide variety of modern devices, machines, and systems, and are as tangible, physical, and real as any other component of a device, machine, or system. Occasionally, statements are encountered that suggest that computer-instruction-implemented control logic is “merely software” or something abstract and less tangible than physical machine components. Those familiar with modern science and technology understand that this is not the case. Computer instructions executed by processors must be physical entities stored in physical devices. Otherwise, the processors would not be able to access and execute the instructions. The term “software” can be applied to a symbolic representation of a program or routine, such as a printout or displayed list of programming-language statements, but such symbolic representations of computer programs are not executed by processors. Instead, processors fetch and execute computer instructions stored in physical states within physical data storage devices 380. Similarly, computer-readable media are physical data storage media 380, such as disks, memories, and mass-storage devices that store data 390 in a tangible, physical form that can be subsequently retrieved from the physical data storage media 380. Moreover, the physical data storage media 380 may optionally be integral with the microprocessor 300.
The microprocessor 300 accesses and uses a variety of different types of stored or received rules, rulesets, information, signals, feedback, data, metrics, measurements or inputs 390, including, user/operator input, in order to generate output controls or commands that may trigger or change processes (such as processes 100, 200) of the microprocessor 300, or otherwise transmit, change, alter or update signals and data. Such changed processes may include, and are not limited to: rules or ruleset changes (whether via generating, ranking, or others), user interface or display changes, updating transaction or sales data, amongst others. The computations may be distributed between the microprocessors 300 and other computing units and/or remotely. Received/measured/analyzed rules, rulesets, variables, data, measurements or metrics 390, or input/stored rules, rulesets, variables, metrics, information or data 390, whether received to the microprocessor 300 by user-input or feedback from processes 100 and/or 200, includes at least the historical quotation/sales data, plurality of solutions, ranked solutions or plurality of solutions, subset probabilities, generated rulesets, ranked rulesets, generated learned rules, explicit rules, new configurations, and assembly item data. Additional information used by the microprocessor 300 in its algorithms may include one or more stored control schedules, algorithms, immediate control inputs received through a control or display interface, and data, commands, commissioning, and other information received from other processing systems (including the data communication between other computing units), remote data-processing systems, including cloud-based data-processing systems (not illustrated) and may further include statistical analysis of mean, deviation, deviation of baseline, Bayesian, and FFT (including other analyses) of data 390. Further, in alternative exemplary embodiments, the microprocessor 300 may monitor and coordinate data feedback and/or input or to alert an operator or user of potential new rankings, frequencies, new probabilities of the data, or new items, itemsets or rules/rulesets. The microprocessor 300, through configuration processes 100, 200 can extract, analyze and deduce from the raw real-time data 390 information or predictions regarding (and not limited to): historical quotation/sales data, the plurality of solutions, ranked solutions or plurality of solutions, subset probabilities, generated rulesets, ranked rulesets, generated learned rules, explicit rules, new configurations, and assembly item data. In addition to generating control output to manipulate the component steps and data 390 of configuration processes 100 and 200, the microprocessor 300 may optionally also provide a LED, graphic, display or analog user interface (including a digital or analog interface or alarm system) that allows users/operators to easily input controls and may also provide or transmit output, data, signals and other information to remote entities, other microcontrollers, and to users through an information-output interface. The interface system may be an actuator mounted electronics having the ability to display information and in-turn communicate further information to a process controller or other instrumentation connected to a network for actuator, including, but not limited to, cloud-based network and storage. Digital communication may allow direct input with the microprocessor unit 300. In this manner, the microprocessor 300 may act as a mechanism to receive feedback to adjust, alter and/or correct the configuration processes 100 and 200 and data 390.
Embodiments of the technology may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments of the disclosed subject matter may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium. The described embodiments may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic device(s)) to perform a process according to embodiments, whether presently described or not, since every conceivable variation is not enumerated herein. A machine readable medium includes any mechanism for storing or transmitting information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The machine-readable medium may include, but is not limited to, magnetic storage medium; optical storage medium; magneto-optical storage medium; read only memory; random access memory; erasable programmable memory; flash memory; or other types of medium suitable for storing electronic instructions. In addition, the various embodiments may be embodied in an electrical, optical, acoustical or other form of propagated signal (e.g., carrier waves, infrared signals, digital signals, etc.), or wire line, wireless, or other communications/telemetry medium.
Computer program code for carrying out operations of the embodiments may be written in any combination of one or more programming languages. The program code may execute entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN), a personal area network (PAN), or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The storage device 380 may be any suitable storage device for storing data. The data collection unit 310 may collect, gather, manipulate, and/or categorize the data 390 transmitted by a user or through stored or historical data. The data collection unit 310 may manipulate the collected data into a format that allows the operator, user and/or the microprocessor 300 to take appropriate action during the operations or processing. The risk assessment or analysis unit 320 may receive the categorized data 390 from the data collection unit 310 in order to determine if there is any present or future risks and may make predictions not limited to, inventory availability, cost estimates and/or preventative maintenance service intervals, amongst others. The risk assessment or analysis unit 320 may classify the risks for the microprocessor 300 and/or the operator/user (such as whether to create an alert via notification unit 350). By way of example only, the operator can input a threshold limit or range of the inventory or a user budget, and if the analyzed data or metrics 390 falls outside the desired threshold range(s), can be identified by the microprocessor 300 via the risk assessment analysis unit 320 or other components of the microprocessor 300 (such as the comparative analysis unit 340).
The historical data unit 330 may categorize the historical data, measurements or metrics 390 collected by the data collection unit 310. The comparative analysis unit 340 may compare the data, measurements or metrics 390 collected by the data collection unit 310, the classified risks, and/or the historical data 390 in order to determine a course of action or generate appropriate rules or rulesets for the operator and/or microprocessor 300. The comparative analysis unit 340 may relay information to the notification unit 350 so that the notification unit 350 may alert the operator or user and/or take action. The notification unit 350 may alert the operator or microprocessor 300 of the real time condition, and/or a predicted condition. The notification unit 350 may include visual display interface(s), audible sounds or alarms, a kinetic or automated response, and/or a combination thereof. The transceiver unit 360 and/or the transmitter may be any suitable device configured to send and/or receive data to the microprocessor 300 (such as, by way of example, in certain exemplary embodiments, wires or cables). The implementation unit 370 may be configured create and execute an implementation plan for remediation of the configuration processes 100 and 200. In another example, the operator, user and/or the microprocessor 300 may update, determine or provide predictions as to data 390 as operations or processes 100, 200 are being performed.
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. Many variations, modifications, additions and improvements are possible. The configuration processes 100 and 200 may be provided as a standalone software product or alternatively, as a cloud computing product or service, such as, by way of example, a software-as-a-service (hereinafter, also “SaaS”) product to consumers. Configuration processes 100 and 200 may optionally be referred to as algorithms. Moreover, the figures included within this disclosure depict merely some exemplary embodiments. The performance and features mentioned in this disclosure will be the same.
The disclosure and exemplary embodiments dramatically improve upon existing models for product configuration by applying computational algorithms and methods to the purpose of recommending components for a given quotation process. The process, as disclosed, provides for flexibility in implementation by using a combined learned and explicit ruleset to guide product or product kit or assembly configuration.
Plural instances may be provided for components, operations or structures described herein as a single instance. In general, structures and functionality presented as separate components in the exemplary configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the inventive subject matter.
Number | Date | Country | |
---|---|---|---|
62990007 | Mar 2020 | US |