This disclosure relates generally to systems and methods for automated data set ingestion, processing, and visualization, and relates more specifically to ingestion of pricing data and processing of said pricing data for visualization in a multi-module pricing insights graphical user interface.
Data sets may be incomplete, unstructured, and/or inconsistent for many reasons. An incomplete, unstructured, and/or inconsistent data set may be caused by lack of time and/or knowledge needed to input information. Furthermore, data sets may not be formatted in a manner that is conducive to providing useful and flexible visualizations of said data sets via a graphical user interface.
An incomplete, unstructured, and/or unprocessed data set may cause a number of problems for organizations. Incomplete data sets may be problematic at least because many statistical procedures automatically eliminate data entries which are incomplete; doing so may lead to statistical insignificance and/or misleading results, and/or a reduced confidence in the generated results. Unstructured data sets may be problematic at least because data may not be easily stored in a traditional column-row database or spreadsheet, and thus may not be easily searchable. Unprocessed data sets may be problematic because data (even structured data) that is not properly processed may be difficult or impossible for a human user to decipher or for a graphical user interface to leverage, and patterns and insights that could be gleaned from the data may therefore not be noticed or leveraged. Thus, an incomplete, unstructured, and/or unprocessed data set may increase the difficulty of generating data insights and/or recommendations.
An incomplete, unstructured, and/or unprocessed data set may increase the difficulty of generating data insights, visualizing patterns in data, and/or providing recommendations in a variety of ways. For example, one way to usefully leverage data is to use said data to generate and display one or more data visualizations provided by interactive graphical user interfaces. However, it may prove infeasible to apply visualization operations to incomplete, unstructured, and/or unprocessed data sets. Furthermore, an incomplete or unstructured data may increase time to insights, thereby obstructing quick decision making.
As explained above, incomplete, unstructured, and/or unprocessed data sets may increase the difficulty of generating data insights, visualizing patterns in data, and/or providing recommendations in a variety of fields. For example, incomplete unstructured, and/or unprocessed data set in business settings may cause analysts and salespersons to implement pricing strategies that are not properly optimized. Thus, there is a need for techniques for automatically ingesting data sets, combining ingested data sets, standardizing data, processing data, and visualizing data in an automated and/or semi-automated fashion. Furthermore, there is a need to provide these functionalities to users in an interactive manner that allows users to control the application of one or more of the functionalities via a graphical user interface for interacting with the underlying data and for viewing visualizations generated in accordance with the data and in accordance with user inputs. Furthermore, there is a need to provide these functionalities in a repeatable and/or iterative manner, such that generating insights is not a one-time activity, but can be done quickly and adaptively.
Disclosed herein are systems, methods, and graphical user interfaces that may address one or more of the above-identified needs. In some embodiments, a system for automated and/or semi-automated data ingestion, data processing, and data visualization is provided. The system may be configured to ingest data sets from a plurality of disparate data sources and combine the received data sets into a merged data set. The system may then be configured to apply one or more standardization operations to the merged data set to generate a standardized data set. The system may then be configured to apply one or more data analytics operations to the standardized data set in order to generate insights data. The system may then be configured to apply one or more data visualization operations to said insights data in order to generate and provide (e.g., display) one or more data visualizations that may be viewed and interacted with by a user.
The system may provide a graphical user interface via which a user may view the one or more displayed data visualizations. The graphical user interface may further enable users to execute one or more inputs to control the data merging operations, data standardization operations, data analytics operations, and/or data visualization operations of the system.
In some embodiments, the systems, methods, and graphical user interfaces disclosed herein may be applied to ingesting and processing pricing data for use in analyzing and visualizing pricing information for a business. In some embodiments, the graphical user interface may include a plurality of modules each configured to afford different functionalities and different visualizations to end users. In some embodiments, the graphical user interface may include a first module configured to display information regarding pricing performance across a deal level, a customer level, and a product level represented in the underlying data; a second module configured to display information regarding one or more customers represented in the underlying data; a third module configured to display information regarding one or more products represented in the underlying data; a fourth graphical user interface module configured to display information regarding one or more deals represented in the underlying data; a fifth graphical user interface module configured to display information regarding one or more off-invoice incentives represented in the underlying data; and a sixth graphical user interface module configured to display information regarding one or more customer segments represented in the underlying data.
In some embodiments, a method for data ingestion for a data visualization platform is provided, the method comprising: receiving a plurality of data sets, wherein a first data set of the plurality of data sets is received from a first data source and wherein the second data set of the plurality of data sets is received from a second data source; generating and store a merged data set based on the plurality of received data sets; causing display of a graphical user interface configured to receive user instructions for data processing; receiving, via the graphical user interface, a first input comprising an instruction to perform one or more data standardization operations; in response to receiving the first input, applying the one or more data standardization operations to the merged data set to process the merged data set to generate a standardized data set; receiving, via the graphical user interface, a second input comprising an instruction to perform one or more data analytics operations; in response to receiving the second input, applying the one or more data analytics operations to the standardized data set to generate insights data; receiving, via the graphical user interface, a third user input comprising an instruction to perform one or more data visualization operations; and in response to receiving the third input, generating one or more data visualizations based on the insights data, wherein the data visualization includes an association visualization, wherein the association visualization depicts a plurality of association scores between a plurality of pairs of entities, wherein each of the plurality of pairs of entities includes a first entity in a first set of entities and a second entity in a second set of entities, and wherein the association visualization depicts a respective association score for each pair of the plurality of pairs of entities.
In some embodiments of the method: the first input comprising an instruction to perform one or more data standardization operations comprises an instruction to perform a data mapping operation; and applying the one or more data standardization operations comprises applying the data mapping operation to the merged data set.
In some embodiments of the method, applying the data mapping operation to the merged data set comprises mapping one or more data objects in the merged data set to a predefined data format.
In some embodiments of the method: the instruction to perform a data mapping operation comprises a specification of a characteristic of a user-defined data format; and applying the data mapping operation to the merged data set comprises mapping one or more data objects in the merged data set to the user-defined data format in accordance with the specification of the characteristic of the user-defined data format.
In some embodiments of the method, mapping one or more data objects in the merged data set to the user-defined data format comprises generating one or both of a wide-form data set and a long-form data set.
In some embodiments of the method, applying the one or more data standardization operations comprises applying one or more roll-up operations to the merged data set.
In some embodiments of the method, applying the one or more data standardization operations comprises applying one or more join operations to the merged data set.
In some embodiments of the method, generating the merged data set based on the plurality of received data sets comprises applying one or more data cleaning operations one or more data objects in the plurality of received data sets.
In some embodiments of the method, generating the merged data set based on the plurality of received data sets comprises applying one or more data aggregation operations to one or more data objects in the plurality of received data sets to join the plurality of data sets.
In some embodiments of the method, applying the one or more data analytics operations comprises applying one or more segmentation operations to segment the merged data set.
In some embodiments of the method: the second input comprises a selection of a predefined rule; and applying the one or more data analytics operation comprises applying the predefined rule.
In some embodiments of the method: the second input comprises an instruction to define a user-defined rule; and applying the one or more data analytics operation comprises applying the user-defined rule.
In some embodiments of the method, the method further comprises: receiving updated data for one or more of the plurality of data sets; in response to receiving the updated data, automatically updating the one or more data visualizations based on the data insights data based on the received updated data.
In some embodiments of the method, the method further comprises: receiving updated data for one or more of the plurality of data sets; in response to receiving the updated data, automatically updating the merged data set based on the received updated data.
In some embodiments of the method, receiving the updated data comprises performing a scheduled batch update operation.
In some embodiments of the method, the first set of entities includes one or more product families, one or more products, or one or more SKU's.
In some embodiments of the method, the second set of entities includes one or more product families, one or more products, or one or more SKU's.
In some embodiments of the method: the first set of entities is depicted in the data visualization along a first axis, the second set of entities is depicted in the data visualization along a second axis; the first set of entities and the second set of entities define a plurality of intersecting regions in a grid; and each of the plurality of intersection regions includes a respective depiction of a respective one of the association scores.
In some embodiments of the method, the respective depictions include an alphanumeric depiction of the respective association score.
In some embodiments of the method, the respective depiction includes one or more of a color-coding or a shading determined in accordance with the respective association score.
In some embodiments of the method, one or more entities in the first set of entities or one or more entities in the second set of entities is selected in accordance with the third user input.
In some embodiments of the method, the third user input indicates a criteria based on which the one or more entities in the first set of entities or one or more entities in the second set of entities is automatically selected.
In some embodiments of the method, each association score is calculated based on one or more of customer overlap and order overlap.
In some embodiments of the method, each association score is calculated as a respective quotient, wherein each quotient comprises a respective numerator representing an intersection of a respective pair of entities and each quotient comprises a respective denominator representing a union of the respective pair of entities.
In some embodiments, a system for data ingestion for a data visualization platform is provided, the system comprising one or more processors configured to cause the system to: receive a plurality of data sets, wherein a first data set of the plurality of data sets is received from a first data source and wherein the second data set of the plurality of data sets is received from a second data source; generate and store a merged data set based on the plurality of received data sets; cause display of a graphical user interface configured to receive user instructions for data processing; receive, via the graphical user interface, a first input comprising an instruction to perform one or more data standardization operations; in response to receiving the first input, applying the one or more data standardization operations to the merged data set to process the merged data set to generate a standardized data set; receiving, via the graphical user interface, a second input comprising an instruction to perform one or more data analytics operations; in response to receiving the second input, applying the one or more data analytics operations to the standardized data set to generate insights data; receiving, via the graphical user interface, a third user input comprising an instruction to perform one or more data visualization operations; and in response to receiving the third input, generating one or more data visualizations based on the insights data, wherein the data visualization includes an association visualization, wherein the association visualization depicts a plurality of association scores between a plurality of pairs of entities, wherein each of the plurality of pairs of entities includes a first entity in a first set of entities and a second entity in a second set of entities, and wherein the association visualization depicts a respective association score for each pair of the plurality of pairs of entities.
In some embodiments, a non-transitory computer-readable storage medium storing instructions for data ingestion for a data visualization platform is provided, the instructions configured to be executed by one or more processors of a system to cause the system to: receive a plurality of data sets, wherein a first data set of the plurality of data sets is received from a first data source and wherein the second data set of the plurality of data sets is received from a second data source; generate and store a merged data set based on the plurality of received data sets; cause display of a graphical user interface configured to receive user instructions for data processing; receive, via the graphical user interface, a first input comprising an instruction to perform one or more data standardization operations; in response to receiving the first input, applying the one or more data standardization operations to the merged data set to process the merged data set to generate a standardized data set; receiving, via the graphical user interface, a second input comprising an instruction to perform one or more data analytics operations; in response to receiving the second input, applying the one or more data analytics operations to the standardized data set to generate insights data; receiving, via the graphical user interface, a third user input comprising an instruction to perform one or more data visualization operations; and in response to receiving the third input, generating one or more data visualizations based on the insights data, wherein the data visualization includes an association visualization, wherein the association visualization depicts a plurality of association scores between a plurality of pairs of entities, wherein each of the plurality of pairs of entities includes a first entity in a first set of entities and a second entity in a second set of entities, and wherein the association visualization depicts a respective association score for each pair of the plurality of pairs of entities.
In some embodiments, a system for data visualization is provided, the system comprising: memory storing a one or more data sets; one or more processors configured to cause the system to: cause display of a graphical user interface configured to accept user inputs for generating data visualizations; detect a first input, executed via the graphical user interface, the first input comprising an instruction to display a first data visualization based on the data set, in response to detecting the first user input, cause display via the graphical user interface of the first data visualization based on the data set, wherein the graphical user interface comprises a graphical user interface module selected from the group of: a first graphical user interface module configured to display information regarding pricing performance across a deal level, a customer level, and a product level represented in the one or more data sets; a second graphical user interface module configured to display information regarding one or more deals represented in the one or more data sets; a third graphical user interface module configured to display information regarding one or more customers represented in the one or more data sets; a fourth graphical user interface module configured to display information regarding one or more products represented in the one or more data sets, wherein the fourth graphical user interface module is configured to display a data visualization including an association visualization, wherein the association visualization depicts a plurality of association scores between a plurality of pairs of entities, wherein each of the plurality of pairs of entities includes a first entity in a first set of entities and a second entity in a second set of entities, and wherein the association visualization depicts a respective association score for each pair of the plurality of pairs of entities; a fifth graphical user interface module configured to display information regarding one or more off-invoice incentives represented in the data; and a sixth graphical user interface module configured to display information regarding one or more customer segments represented in the data.
In some embodiments of the system, the first graphical user interface module comprises one or more graphical user interface dashboards selected from the group of: a data profile dashboard configured to display summary information displayed according to one or more of region, time period, product, family, channel, customer, and sales representative; a price element benchmark dashboard configured to display one or more of price waterfall benchmark information and market development fund benchmark information; a price waterfall and what-if analysis dashboard configured to accept scenario inputs from a user defining scenario constraints and to display a price waterfall visualization that is generated in accordance with the scenario inputs; an insights dashboard configured to display information indicating one or more realization parameters calculated based on the one or more data sets and one or more user inputs; and a discount analysis dashboard configured to display visualizations of one or more variations of discounts based on a plurality of categorical attributes.
In some embodiments of the system, the second graphical user interface module comprises one or more graphical user interface dashboards selected from the group of: a deal performance dashboard configured to accept deal parameter inputs and to generate a deal categorization visualization based on the deal parameter inputs; and a deal details dashboard configured to accept deal filtering inputs and to generate a deal details visualization based on the deal filtering inputs.
In some embodiments of the system, the third graphical user interface module comprises one or more graphical user interface dashboards selected from the group of: a customer performance dashboard configured to display information, based on the one or more data sets, comprising one or more of total revenue by country for a customer, monthly trends for a customer, top customers, bottom customers, and product-level information for a customer; a Pareto analysis dashboard configured to display a Pareto chart visualization for one or more of list price, invoice revenue, pocket price, and pocket margin, wherein the Pareto chart is generated based on the one or more data sets; a customer classification matrix dashboard configured to display a matrix visualization of customer data, based on the one or more data sets, wherein the matrix visualization is generated in accordance with one or more key performance indicators; a customer revenue/margin details dashboard configured to display a bubble chart based of customer data, based on the one or more data sets, wherein the bubble chart is generated in accordance with one or more of invoice revenue data and margin percentage data; and a revenue change dashboard configured to display a visualization of revenue change data, based on the one or more data sets, for one or both of a sales representative and a customer.
In some embodiments of the system, the fourth graphical user interface module comprises one or more graphical user interface dashboards selected from the group of: a product performance dashboard configured to accept product selection inputs and to generate one or more product visualizations based on the one or more data sets and the product selection inputs; a product price variance dashboard configured to display a price variability visualization based on the one or more data sets; a product price and cost trends dashboard configured to display a product price and cost trends visualization, based on the one or more data sets, of one or more of price, cost, revenue, and fluctuations thereof for one or more products and; a product profitability dashboard configured to display a profitability visualization, based on the one or more data sets; a product channel price dashboard configured to display a channel visualization comparing one or more price metrics for a plurality of channels, wherein the channel visualization is generated based on the one or more data sets; and a product upsell dashboard configured to display information indicating inter-product associations between two or more products, wherein said information indicating inter-product associations is based on the one or more data sets, wherein said information indicating inter-product associations includes the association visualization.
In some embodiments of the system, the fifth graphical user interface module comprises one or more graphical user interface dashboards selected from the group of: a contra summary dashboard configured to display market development fund summary information and rebate summary information, wherein the market development fund summary information and the rebate summary information are based on the one or more data sets; a market development fund performance summary dashboard configured to display, based on the one or more data sets, one or both of market development fund allocation information and market development fund spend information; a distributor market development fund assessment dashboard configured to display, based on the one or more data sets, one or both of market development fund allocation information and market development fund spend information for a distributor; a distributor activity effectiveness dashboard configured to display, based on the one or more data sets, market development fund spend information across one or more activities for a distributor; a reseller market development fund assessment dashboard configured to display, based on the one or more data sets, one or both of market development fund allocation information and market development fund spend information for a reseller; a reseller activity assessment dashboard configured to display, based on the one or more data sets, market development fund spend information across one or more activities for a reseller; a rebates performance summary dashboard configured to display, based on the one or more data sets, one or more of: rebate information pertaining to one or more channels, rebate information pertaining to one or more partners, rebate trend information for a time period, top compensated accounts, top compensated products, and top compensated programs; a rebates effectiveness dashboard configured to display, based on the one or more data sets, a visualized comparison for a plurality of rebate types; a rebates category dashboard configured to display, based on the one or more data sets, a visualized comparison for planned rebates versus actual rebates; and a rebates scenario analysis dashboard configured to accept a rebate scenario input from a user and to generate and display, based on the one or more data sets and based on the rebate scenario input, a vitalization of rebate scenario information.
In some embodiments of the system, the sixth graphical user interface module comprises one or more graphical user interface dashboards selected from the group of: a data profile dashboard configured to display data summary information, based on the one or more data sets, wherein the data summary information is visualized in accordance with one or more of geography, country, industry, channel, product family, account type, and end user category; a segments overview dashboard configured to accept one or more segments profiling inputs and to generate a segments profiling visualization, wherein the segments profiling visualization is based on the one or more data sets and on the one or more segments profiling inputs; a segments matrix dashboard configured to display a segments matrix visualization that visualizes segments, based on the one or more data sets, in accordance with invoice revenue and pocket margin; a segment details dashboard configured to display account-segment comparison information, based on the one or more data sets, wherein the account-segment comparison information compares at least one account to a segment into which the at least one account is categorized; a white space analysis dashboard configured to display a white space visualization generated based on the one or more data sets.
In some embodiments, a method for data visualization is provided, the method performed at a system comprising a memory storing one or more data sets and comprising a processor, the method comprising: causing display of a graphical user interface configured to accept user inputs for generating data visualizations; detecting a first input, executed via the graphical user interface, the first input comprising an instruction to display a first data visualization based on the data set, in response to detecting the first user input, causing display via the graphical user interface of the first data visualization based on the data set, wherein the graphical user interface comprises a graphical user interface module selected from the group of: a first graphical user interface module configured to display information regarding pricing performance across a deal level, a customer level, and a product level represented in the one or more data sets; a second graphical user interface module configured to display information regarding one or more deals represented in the one or more data sets; a third graphical user interface module configured to display information regarding one or more customers represented in the one or more data sets; a fourth graphical user interface module configured to display information regarding one or more products represented in the one or more data sets, wherein the fourth graphical user interface module is configured to display a data visualization including an association visualization, wherein the association visualization depicts a plurality of association scores between a plurality of pairs of entities, wherein each of the plurality of pairs of entities includes a first entity in a first set of entities and a second entity in a second set of entities, and wherein the association visualization depicts a respective association score for each pair of the plurality of pairs of entities; a fifth graphical user interface module configured to display information regarding one or more off-invoice incentives represented in the data; and a sixth graphical user interface module configured to display information regarding one or more customer segments represented in the data.
In some embodiments, a non-transitory computer-readable storage medium storing instructions for data visualization is provided, the instructions configured to be executed by one or more processors of a system comprising a memory storing one or more data sets, the instructions configured to cause the system to: cause display of a graphical user interface configured to accept user inputs for generating data visualizations; detect a first input, executed via the graphical user interface, the first input comprising an instruction to display a first data visualization based on the data set, in response to detecting the first user input, cause display via the graphical user interface of the first data visualization based on the data set, wherein the graphical user interface comprises a graphical user interface module selected from the group of: a first graphical user interface module configured to display information regarding pricing performance across a deal level, a customer level, and a product level represented in the one or more data sets; a second graphical user interface module configured to display information regarding one or more deals represented in the one or more data sets; a third graphical user interface module configured to display information regarding one or more customers represented in the one or more data sets; a fourth graphical user interface module configured to display information regarding one or more products represented in the one or more data sets, wherein the fourth graphical user interface module is configured to display a data visualization including an association visualization, wherein the association visualization depicts a plurality of association scores between a plurality of pairs of entities, wherein each of the plurality of pairs of entities includes a first entity in a first set of entities and a second entity in a second set of entities, and wherein the association visualization depicts a respective association score for each pair of the plurality of pairs of entities; a fifth graphical user interface module configured to display information regarding one or more off-invoice incentives represented in the data; and a sixth graphical user interface module configured to display information regarding one or more customer segments represented in the data.
In some embodiments, any one or more of the features or aspects of any of the embodiments recited above may be combined in whole or in part with one another, and/or may be combined in whole or in part with any other feature or aspect disclosed herein.
Various embodiments are described with reference to the accompanying figures, in which:
Disclosed herein are systems, methods, and graphical user interfaces for automated and/or semi-automated data ingestion, data processing, and data visualization is provided. The system may be configured to ingest data sets from a plurality of disparate data sources and combine the received data sets into a merged data set. The system may then be configured to apply one or more standardization operations to the merged data set to generate a standardized data set. (In some embodiments, data standardization may take place prior to and/or post data merging.) The system may then be configured to apply e or more data analytics operations to the standardized data set in order to generate insights data. The system may then be configured to apply one or more data visualization operations to said insights data in order to generate and provide (e.g., display) one or more data visualizations that may be viewed and interacted with by one or more users, including simultaneous interaction by multiple users through one or more different screens and/or devices interacting with a graphical user interface.
The system may provide a graphical user interface via which a user may view the one or more displayed data visualizations. The graphical user interface may further enable users to execute one or more inputs to control the data merging operations, data standardization operations, data analytics operations, and/or data visualization operations of the system.
In some embodiments, the systems, methods, and graphical user interfaces disclosed herein may be applied to ingesting and processing pricing data for use in analyzing and visualizing pricing information for a business. In some embodiments, the graphical user interface may include a plurality of modules each configured to afford different functionalities and different visualizations to end users (including multiple different end-users with different roles and permissions, such as c-suite users and/or sales representatives). In some embodiments, the graphical user interface may include a first module configured to display information regarding pricing performance across a deal level, a customer level, and a product level represented in the underlying data; a second module configured to display information regarding one or more customers represented in the underlying data; a third module configured to display information regarding one or more products represented in the underlying data; a fourth graphical user interface module configured to display information regarding one or more deals represented in the underlying data; a fifth graphical user interface module configured to display information regarding one or more off-invoice incentives represented in the underlying data; and a sixth graphical user interface module configured to display information regarding one or more customer segments represented in the underlying data.
In some embodiments, the systems and methods described herein may provide a collection of methods and a system for executing diagnostic assessments and/or pricing assessments for a client, such that the client may provide one or more exports of transaction data, products data, accounts data, contra data, and the like, and the data may be processed in an automated and reusable manner in accordance with the methods described herein in order to generate one or more interactive visualizations for a user and/or client to consume.
In some embodiments, the systems and methods described herein may provide a user interface that includes a plurality of modules, including for example: an executive module (e.g., a module including one or more price waterfall visualizations and/or one or more “what-if” functionalities, as described herein), a customer module, a product module, a deal module, a contra module, and a segmentation module. Each of the modules may provide respective functionalities and visualizations to users, as described herein.
In some embodiments, one or more of the systems described herein may be configured to perform an association analysis on ingested data and/or to provide an association analysis GUI screens (e.g., dashboards) (including one or more visualizations thereof) that visualize information pertaining to products that are frequently bought together. Users of the system may thus be enabled to quickly identify bundles to be targeted to prospective customers, which may dictate policies regarding product bundling and product cross-selling to increase revenue. In some embodiments, data resulting from an association analysis may be leveraged by one or more of the modules and/or dashboards described herein.
In some embodiments, one or more of the systems described herein may be configured to provide one or more dynamic price waterfall visualizations generated based on ingested and/or processed data. A dynamic price waterfall visualization may be scoped at a product level, account level, and/or sales representative level. A dynamic price waterfall visualization may be configured such that different discount strategies can be simulated based on underlying data and user inputs. Resulting improvements in revenue and margins can thus be readily viewed for various geographies, sales representatives, accounts, and/or product families.
In some embodiments, one or more of the systems described herein may be configured to perform segmentation analysis on ingested data and/or to provide a GUI dashboard (including one or more visualizations) that visualizes segmentation information. Segmentation information may display information regarding segmentation analysis of customers and/or deals. In some embodiments, a willingness-to-pay (WTP) analysis (e.g., one or more algorithms and/or one or more machine learning models) may be applied to segment ingested data, for example by segmenting customers according to calculated predicted willingness to pay.
In some embodiments, one or more of the systems described herein may be configured to perform one or more benchmarking analyses based on ingested data. For example, one or more graphical user interface dashboards for price and volume trend analyses may provide analysis such as time-series modelling, prediction to identify patterns, and assessed reasons for margin leakage. This may provide a holistic picture that users can use to design optimal pricing policies. Internal benchmarking provided by the systems disclosed herein may also enable users to perform price setting exercises. For example, users may be able to zoom into one or more price trends displayed in a visualization for a particular geography, channel, or the like, and the user may thus identify trends over time for that data subset. Discounts analysis through interactive price waterfall visualizations may simulate improvement figures and set prices for a particular product use case. In some embodiments, data generated using one more benchmarking analyses may be used across one or more different modules, such as a deal module, customer module, and/or product module as disclosed herein.
In some embodiments, one or more individual elements of a price waterfall visualization, including channel partner incentives, may be compared against industry benchmark information. In some embodiments, the system may identify gaps between a company and industry benchmark data. In some embodiments, benchmark data may be based on public data, survey data, and/or ingested data that has been anonymized. In some embodiments, survey data may be leveraged using one or more conjoint survey techniques.
In some embodiments, one or more of the systems described herein may be configured to perform one or more price erosion analyses based on ingested data. These analyses may identify loss of product pricing over time for global, region-specific, and/or account-specific levels. These trends can be further analyzed for particular sales representatives and/or channel partners. In some embodiments, a price erosion analysis may be a type of time series analysis.
In some embodiments, one or more of the systems described herein may be configured to generate and provide, based on ingested data, one or more recommended actions. For example, the system may be configured to identify particular accounts, examine price waterfall and product portfolio for the particular accounts, and provide rapid and specific recommendations regarding margins, pricing aggressiveness, specific discount reductions or increases, actions to arrest margin leakage, and/or actions to increase product breadth. In some embodiments, the system may be configure to provide functionality for fixing or firing one or more accounts. The interplay of internal benchmarking and price waterfall visualizations may provide very specific account-level pricing recommendations.
In some embodiments, one or more of the systems described herein may be configured to generate and provide, based on ingested data, one or more price erosion analyses. A consistent loss of product pricing, which may be referred to as price erosion, may drag down margins across a firm. In cases where prices are increased and adjusted to market conditions continually, there may be situations in which a firm cannot net the price increase due to suboptimal and/or ad-hoc discounts. The systems disclosed herein may provide visualizations that identify and demonstrate such situations, and may perform analysis and visualization over several time periods to gauge effectiveness and translation of price increases and to demonstrate the effect of price changes on revenue and margin leakage. This analysis may dictate pricing actions for users. In some embodiments, a trend analysis dashboard of a graphical user interface may provide time series modeling and/or prediction to identify patterns in prices and/or margins over time, which may be used to demonstrate and/or generate and output pricing recommendations.
In some embodiments, one or more of the systems described herein may be configured to generate and provide, based on ingested data, one or more bundling analyses. For firms selling numerous products, there may be certain product groups frequently purchased together by customers. This may provide an opportunity to identify patterns regarding products that are frequently bought together. The system may provide an association analysis that suggests potential bundles (e.g., product bundles) based on ingested data. In some embodiments, an association analysis may be performed by generating one or more association scores, for example using a statistical score technique and/or a Bayesian score technique. Once product bundles are identified, users can mobilize cross-sell and up-sell opportunities for targeted customers.
In some embodiments, one or more of the systems described herein may be configured to generate and provide, based on ingested data, one or more scenario modeling functionalities. A user may be able to specify one or more criteria for a scenario, and the system may compute outcomes, based on the user-specified criteria and the ingested data, for the scenario. Users can apply scenario modeling functionality in order to examine and evaluate various discounting reductions and quickly view outputs regarding potential improvements in products and accounts. In some embodiments, the system may provide display and/or visualization of price waterfall information for scenario modeling, including information from list price to pocket margin, which may enable scenario analysis through interactive cross-dashboard (e.g., cross-GUI-dashboard actions that may reveal revenue and margin opportunities). In some embodiments, the system may provide display and/or visualization of “what-if” analyses for scenario modeling, which may allow a user to specify one or more discount reductions for one or more price waterfall elements and to instantly view the effectiveness on improvement in invoice revenue and/or pocket margin across the organization. In this way, users can uniquely assess future opportunities by geographical areas, account, product families, and/or by individual sales representative. Price changes for scenario modeling may be indicated and/or visualized for various levels of splits and compared across various time-periods (e.g., quarters, years).
In accordance with the systems, methods, and graphical user interfaces disclosed herein, companies may be enabled to implement effective pricing strategies that overcome problems caused by lack of analytics and insights. As a result, companies may avoid using ad-hoc pricing strategies that can lead to margin/revenue leakage, inconsistent prices in the market, longer deal cycle times, and customer churn.
Data sources 102a-102c (in some embodiments, the number of data sources 102 in system 100 may be any suitable number, including one, two, or three or more) may be any data source or data store configured to provide data to system 104, for example via wired or wireless network communication. One or more of data sources 102 may include one or more suitable computer storage mediums. In some embodiments, a data source 102 may provide a respective data set, or may provide a plurality of respective data sets, that are stored on the respective data source and/or transmitted by the respective data source to system 104. In some embodiments, the data sets provided by data sources 102 may include data pertaining to one or more entities, organizations, products, product families, prices, profits, margins, other financial metrics, regions, countries, salespeople, customers, and/or any groups thereof, trends thereamong, and/or characteristics thereof. In some embodiments, one or more of data sources 102 may comprise one or more databases which organize stored data sets. One or more of the databases may support data structures such as strings, integers, hashes, tables, arrays, lists, tuples, stacks, queues, sets, bitmaps, trees, graphs, any combination thereof, or the like. In some embodiments, one or more of data sources 102 may be an internal database of a company or an external database (e.g., comprising customer data pertaining to one or more customer surveys).
In some embodiments, one or more data sets may be ingested from one or more of data sources 102 to system 104. For example, a cloud-based web-application may connect to and pull data from data sources 102. In some embodiments, data may be ingested from data sources 102 via an Apache Hadoop Distributed File System (HDFS) and/or via Microsoft Windows Azure Storage Blob (WASB). In some embodiments, additionally or alternatively to data sources 102, data may be ingested directly from a platform (e.g., Salesforce's Customer Relationship Management (CRM) platform and/or Salesforce's Configure, Price, Quote (CPQ) platform) to system 104 (e.g., via one or more APIs).
In some embodiments, system 104 may comprise any one or more computer processors configured to receive, process, generate, and/or transmit data. System 104 may further include one or more computer storage devices (e.g., memories, databases, or the like) configured to store received and/or generated data. System 104 may be provided as one or more local computer systems, one or more servers, a distributed computing system, and/or a cloud computing system.
As shown in
As described in greater detail herein, the data processing engines 106, 110, 114, and 118 may in some embodiments be configured to collectively form a data processing pipeline, such that one of the engines may process data and generate output data, which may in turn be further processed by a subsequent one or more of the engines. In the example shown in
Each of the data sets 108, 112, and 116 may be stored, separately or in combination with one another and/or with one or more other data sets, in any suitable computer storage, database, or the like, as part of or in association with system 104.
In some embodiments, user system 120 may be any suitable user device including, for example, a desktop computer, laptop computer, workstation, touch-screen device, mobile electronic device, tablet, or the like. User system 120 may be communicatively coupled to system 104 and may be configured to receive instructions from system 104 for providing graphical user interface 122, for example by receiving instructions for displaying one or more visualizations generated by visualization engine 118 based on insights data 116.
In some embodiments, user system 120 may be configured to accept one or more user inputs, via graphical user interface 122, which may indicate instructions for applying one or more data processing operations by system 104. User system 120 may transmit data to system 104 in accordance with the one or more user inputs received, and system 104 may apply one or more of the data processing operations in accordance with the instructions indicated by the user inputs via graphical user interface 122 and user system 120. In this way, graphical user interface 122 may allow users to interact with data via system 100 in an interactive manner, such that the data may be processed and visualized in accordance with preferences and parameters specified by the user. In some embodiments, graphical user interface 122 may be provided by a desktop application, mobile application, webpage, and/or web browser interface.
In some embodiments, user system 120 may be a user device associated with an analyst, salesperson, manager, or administrator of system 100. In some embodiments, user system 120 may be associated with a permission setting to access and/or provide inputs to one or more dashboards of graphical user interface 122. A dashboard of the graphical user interface may be associated with a specific function of the system. For example, in some embodiments, user system 120 may have permission to access all dashboards, and thus have permission to control data merging, data standardization, data analytics, and data visualization functionalities of the system. Contrastingly, in some embodiments, user system 120 may have permission to access only a subset of dashboards (e.g., those dashboards associated with data analytics and data visualization), and thus have permission to control only a subset of functionalities of the system. Different permission levels may be set for user system 120 in accordance with the role (e.g., analyst, salesperson, manager, administrator, etc.) of a user of user system 120.
While
At block 202, in some embodiments, the system receives a plurality of data sets from a plurality of respective data sources. In some embodiments, the system may receive one or more data sets via electronic network communication. The data sets may be received by the system in accordance with a manual upload, scraping operation, scheduled upload, programmatically-triggered upload, batch upload, and/or via one or more APIs. In some embodiments, the plurality of data sets may be received from a single data source or may be received from a plurality of distinct data sources. The data sets may be received simultaneously and/or asynchronously. In the example of
In some embodiments, the system may apply one or more data cleaning operations (a data cleaning operation may be considered a type of “data processing” operation) to all or part of one or more of the received data sets. In some embodiments, data cleaning may comprise applying data cleaning operation in accordance with user inputs executed via one or more data cleaning modules provided by a graphical user interface. All data cleaning operations may be logged when the user makes any changes.
At block 204, in some embodiments, the system cause display of a graphical user interface configured to receive instructions for data merging, data processing, data analytics, and/or data visualization. The term “data processing,” as used herein, may collectively refer to one or more of data merging, data processing, data analytics, and/or data visualization. The graphical user interface may be configured to be displayed to a user (e.g., a salesperson, analyst, manager, or administrator using the system) and may be configured to allow the user to execute inputs to control the manner in which the system applies one or more data processing operations. Thus, a user may use the provided user interface to control the manner in which the system applies one or more data merging, data processing, data analytics, and/or data visualization orations, for example by selecting and/or defining one or more criteria or rule sets in accordance with which the operation(s) is to be applied. In the example of
While the disclosure herein may refer to various functionalities that can be accessed by a user, a system may in some embodiments be configured such that certain functionalities are restricted to only be available to certain individual users and/or to users having certain roles. For example, in some embodiments, data processing and/or data merging functionalities may only be accessible to analysts and/or data engineer; while data visualization functionalities may be available to analysts, sales representatives, and/or c-suite users.
At block 206, in some embodiments, the system generates and stores a merged data set by merging the plurality of received data sets. In some embodiments, the system may apply one or more data merging operations to a plurality of received data sets in order to generate one or more merged data sets. A single merged data set may be generated, or a plurality of merged data sets may be generated. One or more merged data sets may include overlapping entities represented in the data. In some embodiments, generating and storing merged data may comprise applying one or more automated scripts to join any number of data sets based on user-defined keys without the user having to edit code. In the example of
In some embodiments, generating and storing the merged data set may be performed in an automated or semi-automated manner. In some embodiments generating and storing the merged data set may be performed in response to and/or in accordance with one or more user inputs, such as, in the example of
At block 206a, in some embodiments, generating and storing the merged data set may include applying one or more data cleaning operations to one or more data objects in one or more of the plurality of received data sets. In some embodiments, a data cleaning operation may include applying one or more automated and interactive scripts that allows a user to customize the data cleaning operation.
At block 206b, in some embodiments, generating and storing the merged data set may include applying one or more data aggregation operations to one or more data objects in one or more of the plurality of received data sets. In some embodiments, a data aggregation operation may include applying one or more automated and interactive scripts that allows a user to customize the data aggregation operation.
At block 208, in some embodiments, the system receives, via the graphical user interface, a first user input comprising an instruction to perform one or more data standardization operations. The instruction to perform one or more data standardization operations may include an explicit instruction executed by a user (e.g., clicking a button or icon to execute the operation), and/or may include selection by a user of a visualization, GUI object, or GUI dashboard that automatically triggers execution of the operation. In some embodiments, a user input may indicate an identity of one or more data sets to which the operation is to be applied, a portion of one or more data sets to which the operation is to be applied, a time at which the operation is to be applied, an identity of an algorithm to be applied via the operation, and/or a characteristic of an algorithm to be applied during the operation. In some embodiments, the first user input may be a executed by a data engineer and/or analyst; in some embodiments, the first user input may be executed to generate standardized data that may subsequently be subject to multiple different data processing operations that are instructed by multiple different subsequent inputs (such as multiple different embodiments or iterations of the second user input described below).
At block 208a, in some embodiments, the first user input comprises specification of a characteristic of a data format for a data mapping operation. In some embodiments, data mapping may be applied in order to accelerate a data standardization process. The indicated data format may define a format into which output data generated by the data standardization operation (and/or an included data mapping operation) may be formatted. For example, the user input may provide an indication of a selection of a predefined data format. Alternately or additionally, the user input may define one or more characteristics of a modified or newly-created user-defined data format. Mapping the data may include applying one or more scripts that generate derived fields and/or prepare data for visualization.
At block 210, in some embodiments, the system, in response to receiving the first user input, applies one or more data processing operations to the merged data set to process the merged data set to generate a processed data set. In the example of
At block 210a, in some embodiments, applying one or more data processing operations comprises applying a data mapping operation in accordance with the specification of the characteristic of the data format for the data mapping operation (e.g., as described above with reference to block 208a).
At block 210b, in some embodiments, applying one or more data standardization operations comprises generating one or both of wide-form data set and long-form data set. In some embodiments, wide-form data creation may include creating wide-form data with one or more additional columns. In some embodiments, long-form data creation may include creating long-form data with components for an entity (e.g., all price waterfall components for a customer and/or for a deal) in long form. In some embodiments, the wide-form data and long-form data may each be used, alone and/or separately, for one or more visualizations as described herein. In some embodiments, wide-form data may be optimized for creating a first set of one or more visualizations, and long-form data may be optimized for creating a second set of one or more visualizations. In this manner, different processed data sets may be created in which the different processed data sets are configured for optimal use with different sets of visualizations (which may in some embodiments be partially overlapping and in some embodiments may be mutually exclusive).
At block 210c, in some embodiments, applying one or more data standardization operations comprises applying one or more segmentation operations to segment the merged data set, including one or both of a roll-up operation and a join operation. In some embodiments, a segmentation operation may categorize customers in different segments such as strategically important customers, new customers, potentially valuable customers, old customers, and/or disengaged customers, based on multiple attributes of each customer such as previous buying behavior. A segmentation operation applied by the system may enable users to examine segmented customer data to gain insights regarding customer behaviors, to compare poor performing customers to high performing customers, and/or to identify short-term and long-term opportunities based on segments.
A segmentation operation applied by the system may be a flexible data model that allows users to change or modify (e.g., weight) one or more attributes that are used for segmentation and select final profiling variables, e.g. to select variables customized for different industries. In some embodiments, applying a segmentation operation may comprise determining a quantification or characterization of a customer's willingness to pay (WTP). A WTP metric may be determined for a customer generally, or it may be determined for a customer with respect to a specific product. A WTP metric may be used to group customers into segments according to WTP.
At block 212, in some embodiments, the system receives, via the graphical user interface, a second user input comprising an instruction to perform one or more data analytics operations. The instruction to perform one or more data analytics operations may include an explicit instruction executed by a user (e.g., clicking a button or icon to execute the operation), and/or may include selection by a user of a visualization, GUI object, or GUI dashboard that automatically triggers execution of the operation. In some embodiments, a user input may indicate an identity of one or more data sets to which the operation is to be applied, a portion of one or more data sets to which the operation is to be applied, a time at which the operation is to be applied, an identity of an algorithm to be applied via the operation, and/or a characteristic of an algorithm to be applied during the operation. In some embodiments, the second user input may be a executed by a different user or a different role than the first user input; for example, while the first user input may have been executed by a data engineer and/or analyst, the second user input may be executed by a sales representative, analyst, and/or c-suite user.
At block 212a, in some embodiments, the second user input comprises selection of a predefined rule. At block 212b, in some embodiments, the second user input comprises instruction to define a user-defined rule. A predefined and/or user-defined rule for a data analytics operation may define a manner in which the data analytics operation is applied, such as by defining or characterizing one or more algorithms, filters, thresholds, parameters, (e.g., visualization parameters), or the like.
At block 214, in some embodiments, in response to receiving the second user input, the system applies one or more data analytics operations to the processed data set to generate insights data. In the example of
At block 214a, in some embodiments, applying one or more data analytics operations comprises applying one or more of a predefined rule and a user-defined rule (e.g., as described above with reference to block 212a).
At block 216, in some embodiments, the system receives, via the graphical user interface, a third user input comprising an instruction to perform one or more data visualization operations. The instruction to perform one or more data visualization operations may include an explicit instruction executed by a user (e.g., clicking a button or icon to execute the operation), and/or may include selection by a user of a visualization, GUI object, or GUI dashboard that automatically triggers execution of the operation. In some embodiments, a user input may indicate an identity of one or more data sets to which the operation is to be applied, a portion of one or more data sets to which the operation is to be applied, a time at which the operation is to be applied, an identity of an algorithm to be applied via the operation, and/or a characteristic of an algorithm to be applied during the operation.
At block 218, in some embodiments, the system, in response to receiving the third user input, generates, and causes to be displayed, one or more data visualizations based on the insights data. In the example of
At block 220, in some embodiments, the system receives an update to one or more of the plurality of data sets. In some embodiments, the system may receive updated data sets and/or additional data sets in a same or similar manner, including from the same, similar, or different/additional data sources, as the system received one or more of the plurality of data sets as described above with reference to block 202.
At block 222, in some embodiments, the system, in response to receiving the update to the one or more of the plurality of data sets, automatically updates one or both of the merged data set and the one or more visualizations. In some embodiments, receipt of additional data sets and/or updated data sets may automatically trigger one or more data processing operations, applied to the newly received data, by the system. In some embodiments, the one or more data processing operations applied to the newly received data may be applied in response to and/or in accordance with one or more user inputs. In some embodiments, the system may apply anyone or more of a data merging operation, a data standardization operation, a data analytics operation, and/or a data visualization operation, application of any one or more of which may share one or more characteristics in common with the application of said operations to the originally-received data sets described above with respect to method 200. In this manner, data stored by the system and/or visualizations provided by the system may be automatically updated as new data is received.
While
At block 302, in some embodiments, the system causes display of a graphical user interface configured to receive instructions for data merging, data processing, data analytics, and/or data visualization based on one or more data sets. The graphical user interface may be configured to receive instructions for data processing, and may be configured to be displayed to a user (e.g., a salesperson, analyst, manager, or administrator using the system) to allow the user to execute inputs to control the manner in which the system applies one or more data processing operations. In some embodiments, the graphical user interface may share any one or more characteristics in common with graphical user interfaces described elsewhere herein, including graphical user interface 122 described with respect to
At block 302a, in some embodiments, the graphical user interface comprises a first graphical user interface module configured to display information regarding pricing performance across a deal level, a customer level, and a product level represented in the one or more data sets. In some embodiments, the first module may be an “Executive module” of a graphical user interface for providing pricing information and visualizations to analysts, salespersons, managers, and/or administrators within business organization. In some embodiments, the first module may share any one or more characteristics in common with the executive module described below with reference to
At block 302b, in some embodiments, the graphical user interface comprises a second graphical user interface module configured to display information regarding one or more deals represented in the one or more data sets. In some embodiments, the second module may be a “Deal module” of a graphical user interface for providing pricing information and visualizations to analysts, salespersons, managers, and/or administrators within business organization. In some embodiments, the second module may share any one or more characteristics in common with the deal module described below with reference to
At block 302c, in some embodiments, the graphical user interface comprises a third graphical user interface module configured to display information regarding one or more customers represented in the one or more data sets. In some embodiments, the third module may be a “Customer module” of a graphical user interface for providing pricing information and visualizations to analysts, salespersons, managers, and/or administrators within business organization. In some embodiments, the third module may share any one or more characteristics in common with the customer module described below with reference to
At block 302d, in some embodiments, the graphical user interface comprises a fourth graphical user interface module configured to display information regarding one or more products represented in the one or more data sets. In some embodiments, the fourth module may be a “Product module” of a graphical user interface for providing pricing information and visualizations to analysts, salespersons, managers, and/or administrators within business organization. In some embodiments, the fourth module may share any one or more characteristics in common with the product module described below with reference to
At block 302e, in some embodiments, the graphical user interface comprises a fifth graphical user interface module configured to display information regarding one or more off-invoice incentives represented in the one or more data sets. In some embodiments, the fifth module may be a “Contra module” of a graphical user interface for providing pricing information and visualizations to analysts, salespersons, managers, and/or administrators within business organization. In some embodiments, the fifth module may share any one or more characteristics in common with the contra module described below with reference to
At block 302f, in some embodiments, the graphical user interface comprises a sixth graphical user interface module configured to display information regarding one or more customer segments represented in the one or more data sets. In some embodiments, the sixth module may be a “Segmentation module” of a graphical user interface for providing pricing information and visualizations to analysts, salespersons, managers, and/or administrators within business organization. In some embodiments, the sixth module may share any one or more characteristics in common with the segmentation module described below with reference to
At block 304, in some embodiments, the system receives, via the graphical user interface, a user input comprising an instruction to perform one or more data visualization operations. In some embodiments, the user input may share any one or more characteristics in common with any one or more of the user inputs described above with respect to method 200 in
At block 306, in some embodiments, the system, in response to receiving the user input, generates, and causes to be displayed, one or more data visualizations based on the one or more data sets. In some embodiments, the one or more data visualizations may share any one or more characteristics in common with any one or more visualizations described elsewhere herein, including but not limited to any of the data visualizations shown in and/or described with reference to
As described below, multi-module graphical user interface 400 may enables non-technical users of the interface to control data processing and data visualization parameters and to generate visualizations of complex computations related to the data ingested by the system. Users of the interface may thus be able to quickly and easily access information regarding, for example: price waterfall and price realization, deal discounting, customer segmentation, product mix analysis, and/or channel rebates.
In some embodiments, the modules described below of graphical user interface 400 may visualize some or all of the data that has been ingested and/or processed by the system (e.g., the data ingested by system 100). Users may use the modules to execute inputs via graphical user interface 400 to control the manner in which data is ingested, processed, and/or visualized. In some embodiments, different modules may leverage different subsets of ingested data. For example, in some embodiments, an executive model, product module, customer module, and/or deals module may leverage transaction data and benchmarks data for the sector/industry if said benchmark data is available. In some embodiments, a segmentation module may leverage transaction data and one or more additional data models, for example as described further below. In some embodiments, a contra module (including rebates dashboards of said contra module) may leverage transaction data, benchmark data, lead and effectiveness periods data, MDF data, planned rebates program data, and/or actual rebates data; a contra module may use said data to build data models for mapping and calculation of derivative data.
The price element benchmark price waterfall dashboards may be based on benchmark data that compares a specific company's data against data for an industry or sector, which may be based on survey data.
In some embodiments, data used to generate benchmarking comparisons (e.g., third-party data such as survey data) may be organized across various geographies, various sub-industries, various entity size classifications (e.g., <$1B, $1B-$5B, and $5B+), various sales channels (e.g., direct/indirect), and/or and various types of price management solutions (e.g., CPQ, enterprise, home-grown, spreadsheets).
In some embodiments, benchmarking comparisons and visualizations for price waterfall elements may include, for example: (i) list price; (ii) on-invoice discounts, such as country adjustment, regional adjustment, standard channel discount, competitive discount, volume discount, negotiated discount, promotional discount, and/or surcharge; (iii) off-invoice incentives, such as rebate, market development fund (MDF), cooperative advertising, cooperative advertising, off-invoice special promotion, performance penalty, cash discount terms, receivables carrying cost, and/or freight; (iv) total costs, such as COGS and/or service cost; and/or pocket margins. These benchmark comparisons may be leveraged to identify opportunities for improvement when, for example, there is wide variation in discounting levels and incentive programs leading to margin erosion.
In some embodiments, benchmarking comparisons for MDF spend in channel may provide, for example, MDF allocation insights, policy insights, system insights, and/or challenges and improvement insights. These benchmarks may be leveraged to understand the structure and effectiveness of partner incentives and MDF.
This set of dashboards shown in
This set of dashboards shown in
The deal insights dashboard and customer insights dashboard may enable users to visualize potential revenue improvement opportunities when discounts are reduced for customers who are classified into a high priority classification. These opportunities may be aggregated by customer type (e.g., “high priority”) to highlight areas of greatest opportunity.
One or more of the dashboards shown in
The dashboards shown in
The univariate discounts analysis dashboard may help users to identify specific attributes that drive high discounts. The displayed count of transactions may help validate the impact of variation. The bivariate discounts analysis may help users identify interdependencies between attributes to provide insight into discount variance. The two dashboards together may help users discover attributes that cause higher discounts levels for a company.
One or both of the dashboards in the deals module may help users to identify anomalous deals, for example based on trends of discount given per deal and/or based on review of deal detail information displayed.
In some embodiments, the deals module may enable a user to apply one or more algorithms for new and repeat customer splits that analyze the data to identify patterns that are specific to new customers or specific to repeat customers.
In some embodiments, a customer module of graphical user interface 400 may include one or more visualizations, provided as a part of and/or separately from any of the above-described dashboards, of improvement by account type, such as by showing information and/or visualization of total improvement by account type and/or top accounts by improvement within each of one or more account types.
In some embodiments, a product price and costs trends dashboard may include a visualization that shows price fluctuations from transaction data alone. This price fluctuation visualization may displays SKU invoice revenue and indicates how much a SKU's List Price/Unit fluctuated within a selected time period. Price fluctuations may be measured by coefficient of variation. This visualization may be capable of changing price measure on the fly and dynamically calculating new price fluctuations at required granularity for the user-specified top percentile of SKUs.
In some embodiments, a product profitability dashboard may include a combination of a visualization or display of SKU profitability with a visualization or display of a dynamic price waterfall for the SKU. These two visualizations, displayed together, may help a user to identify discount patterns for lower-margin SKUs.
In some embodiments, a product upsell dashboard may be provided as part of a product module of graphical user interface 400. In some embodiments, a product upsell dashboard may display information regarding product combinations for two or more products that are associated with one another, e.g., lays out the combination of products that are typically sold together which immediately helps identify the upselling opportunities for the client. For the product that has the maximum opportunity to be upsold, the dashboard also identifies top areas where this product should be upsold first based on the probability of purchase
In some embodiments, the first and second set of product families may be the same set; in some embodiments, the first and second set may be different from one another. In some embodiments, the product families included in one or both of the first set and the second set may be predetermined by the system, may be dynamically/algorithmically/programmatically determined by the system (e.g., in accordance with upsell percentages or other metrics calculated by the system based on the ingested data), and/or may be determined in accordance with a user input executed via the product upsell dashboard, another dashboard in the product module, and/or another dashboard in a different module. In some embodiments, a user input selecting one or more product families for visualization by the product upsell dashboard may be executed by using a drop-down menu, typing into a field, clicking or tapping on a depicted product family, and/or entering an input specifying one or more characteristics or criteria for semi-automated selection of one or more product families for visualization by the product upsell dashboard.
As shown in
In some embodiments, the visualization may depict an association score for each intersecting region, wherein the association score is calculated by the system based on information ingested by the system and pertaining to the two product families. In some embodiments, the association score may be normalized in accordance with any suitable scheme, for example by being normalized to be a number between 0 and 1 or to be a percentage between 0% and 100%. In some embodiments, an association score may indicate a calculated likelihood that product families (and/or products, SKU's, etc., and/or a combination thereof) will be purchased together or in association with one another, with a higher score indicating a higher calculated likelihood.
In some embodiments, an association score may be calculated based on one or more Bayesian networks, based on overlap of customers for product families, and/or based on overlap of orders for product families. In some embodiments, an association score may be calculated as a quotient, wherein the numerator of the quotient represents an intersection (e.g., the intersection of the two product families) and the denominator of the quotient represents a union (e.g., the union of the two product families).
In some embodiments, the intersection region may include one or more textual and/or graphical representations of a calculated association score, including but not limited to a numerical depiction of the calculated score and/or a color-coding or shading associated with the calculated score. In some embodiments, higher association scores may be associated with a first set of one or more colors and/or with darker shading, while lower association scores may be associated with a second set of one or more colors and/or with lighter shading.
In some embodiments, the visualization depicted in the product upsell dashboard may be filtered according to region, channel, and/or account, for example in accordance with one or more inputs executed by a user (via the upsell dashboard and/or otherwise via the graphical user interface) specifying a region, channel, and/or account.
While the example shown in
In some embodiments, a contra module may include one or more dashboards that provide functionality for visualizing data relating to off-invoice incentives. Off-invoice incentives may vary in accordance with different geographies, different accounts, currency fluctuation, and additional factors. To improve margins and validate business strategies for a complex pricing feature, graphical user interface 400 includes the contra module, which may visualize one or more off-invoice components such as Market Development Funds (MDF), Rebates, and other off-invoice incentives. The contra module may provide guidelines for offering off-invoice incentives that are generated in accordance with analysis of the data. For example, with available transaction data and planned MDF and rebate data obtained from program documents, the system may generate planned amount paid out as incentive for different accounts, products, and/or programs. With client-provided actual payouts, a thorough comparison and analysis of return on investment (“ROI”) may then be conducted and visualized.
In some embodiments, a contra module may include one or more dashboards that provide functionality for visualizing data relating to MDF. In some embodiments, the contra module of graphical user interface 400 may leverage one or more input data sets and one or more parameterized data models to generate one or more of (a) contra summary data table information and (b) contra MDF information, one or more of which may be visualized by one or more of the dashboards of the contra module.
In some embodiments, a data union operation may be applied to generate the contra summary data table information. In some embodiments, the data union operation may be applied to one or more of the following data sets: transaction summary data, MDF data, rebates data, and off-invoice promotions data. In some embodiments, the data union operation may be applied using one or more of the following inputs: roll-up flag, schema auto-fill, and I/O name parameters. In some embodiments, one or more parameters for data union and output schema are defined, for example based on inputs provided via the contra module dashboards of graphical user interface 400.
In some embodiments, a data join operation may be applied to generate contra MDF data, which may be visualized by one or more dashboards of the contra module. In some embodiments, the data union operation may be applied to one or more of the following data sets: transaction summary data, MDF data, rebates data, and off-invoice promotions data. The data join operation may, in some embodiments, be applied using one or more of the following inputs: a roll-up flag, a join flag, and an I/O name parameter. In some embodiments, application of the data union operation may include defining one or more parameters to transform transaction data and MDF data, for example based on inputs provided via the contra module dashboards of graphical user interface 400.
One or more of the data join union and the data join operation may be applied as one or more data processing operations by system 104 of system 100.
In some embodiments, a contra summary dashboard may provide an indication and/or visualization of overall contra payouts, and a user may thus may identifies peculiarities that the user can select for drill-downs in this dashboard and/or in other dashboards of interface 400.
In some embodiments, a contra summary dashboard may provide an indication of ROI (e.g., overall ROI) for MDF programs of a company, wherein the ROI may be calculated based on the underlying data sets. In some embodiments, the contra summary dashboard may provide functionality for one or more splits for the user to recalculate ROI and generate insights.
In some embodiments, graphical user interface 400 may include additional dashboards for reseller MDF assessment, which may share one or more characteristics in common with the distributor MDF assessment dashboard shown in
In some embodiments, a contra module may include one or more dashboards that provide functionality for visualizing data relating to rebates. Rebates are a type of sales promotion that marketers may use as incentives or supplements to product sales. They are a component of off-invoice incentives. In some embodiments, the contra module of graphical user interface 400 may leverage one or more input data sets and one or more parameterized data models to generate data regarding reallocated incentives at various granularities, which may be visualized as part of a merged data set by one or more of the dashboards of the contra module.
In some embodiments, a calculation operation may be applied to generate a new data set with planned off-invoice incentives. In some embodiments, the calculation may be applied to one or more of the following input data sets: transaction data, and planned off-invoice incentives (including one or more of growth rebate/incentive, volume rebate/incentive, retention rebate/incentive, and minimum/maximum rebate incentive). The calculation, in some embodiments, be applied using one or more of the following inputs (for example as specified by a user of a contra module): a time unit, a target definition, a level of detail, a number of tiers, a tier type, a payout definition, and a payout type. In some embodiments, performing the calculation may include defining one or more parameters (for example based on user inputs) to transform the input data sets and inputs into the new data set with planned off-invoice incentives.
The new data set generated by the calculation may then be used an input data set to a data join operation. The data join operation may also use one or more of the following data sets as input data sets: transaction data, and actual off-invoice incentives. The data join operation, in some embodiments, be applied using one or more of the following inputs (for example as specified by a user of a contra module): join keys, and rebate reallocation at a required granularity. In some embodiments, performing the data join operation may include defining one or more parameters (for example based on user inputs) to perform the data join. Based on the input data sets and input parameters, the data join operation may generate a data set (e.g., an insights dataset and/or a data set for tableau). In some embodiments, the generated data set resulting from the data join operation indicates reallocated incentives at different granularities. In some embodiments, the generated data set resulting from the data join operation and/or the reallocated incentives indicated thereby may be leveraged further via use through one or more deal analyses, customer analyses, product analyses, and/or margin computations.
This data set resulting from the data join operation may be visualized by one or more dashboards of a contra module, or may be used to generate one or more merged data sets that may then themselves be visualized by one or more dashboards of a contra module.
Any one or more of the functionalities described above regarding calculations, data join operations, data merging operations, and/or data visualization operations for rebate information for a contra module of graphical user interface 400 may be performed as one or more data processing operations by a system such as system 100.
Described below are dashboards of the contra module of graphical user interface 400 that pertain to rebates. As shown and described below, the rebates portion of the contra module may
Visualize comparisons amongst four rebate types at once, with the option to swap and arrange visualizations according to user input. The dashboards may provide options for visualizing splits, allowing a user to identify under-performing programs and to then drill down to selected accounts and/or products families within them. The dashboards may provide filtering functionalities that are applicable to multiple visualizations across multiple dashboards.
In some embodiments, a rebates performance summary dashboard may provide an overview dashboard including a plurality of visualizations of rebates information that may enable users to identify peculiarities and examine them in detail in other rebates dashboards of graphical user interface 400. A rebates performance summary dashboard may show an indication and/or visualization of rebates paid out by direct or indirect channel, type of partners, and/or trend over time (e.g., over quarters). A rebates performance summary dashboard may show an indication and/or visualization of top compensated accounts, products, and/or programs.
A segmentation module may leverage one or more segmentation operations (e.g., as applied by system 100) that categorizes customers (e.g., business-to-business customers) into different segments. The segments may be characterized in any suitable manner, such as by characterizing segments for “strategic buyers,” “value creators,” etc. The segmentation operation may be based on multiple attributes of customers' buying behavior and may leverage one or more transactional datasets. The segmentation operation may apply one or more data models that allow a user to select, define, and/or change attributes used for segmentation and select, define, and/or change final profiling variables (e.g., such that variables can be customized for different industries).
In some embodiments, a segmentation operation (e.g., a segmentation operation applied to data by a system such as system 100) may include applying a script (e.g., a script built on Apache Spark in Python) to derive attributes at an account level and/or a customer level. The operation may then include normalizing said derived attributes (e.g., to address and account for ay correlation between derived attributes). In some embodiments, normalization may be used to make different feature types comparable, such as revenue (e.g., dollars-based) and discount (e.g., percentage-based). The operation may then include applying an analysis algorithm such as Principal Component Analysis to reduce data-set dimensions. Then, the operation may include applying a clustering algorithm (e.g., a k-means clustering algorithm) to the results of the PCA in order to generate segmented data. Then, the operation may include applying a profiling operation to the segmented data. Then, the operation may include applying a white-space analysis operation. In some embodiments, the output of the segmentation operation may include one or more segment profiles, one or more accounts tagged with corresponding segments, and/or white-space analysis data. This output may be visualized by one or more dashboards of a segmentation module of graphical user interface 400.
In some embodiments, a matrix visualization may be based on invoice revenue along one axis and pocket margin along the other axis. In some embodiments, bubble size for an entity represented in the visualization may be based on a user-selected characteristic, such as number of orders, invoice revenue, pocket margin, quantity, list price, number of accounts, and/or willingness to pay (WTP). Users can execute one or more inputs to cause the dashboard to display account-level details, including WTP, for a selected segment. WTP may be calculated for a customer based on price paid by the customer for a product and a weighted average price of the product across all customers. Additionally or alternatively, willingness to pay may be calculated based on an actual price paid for a product, a minimum price for a product, and a maximum price for a product. In some embodiments, a matrix visualization dashboard may include user input options for parameterized cut-off values to define buckets according to how a user wants to classify and target segments.
In some embodiments, a segment details dashboard may provide one or more visualizations of an account's performance dynamically as compared to a segment average into which the account is classified. The dashboard may shows indication and/or visualization of one or more SKUs by WTP and/or a quantity split across multiple parameters that can be selected based on user input executed via the interface. Using this dashboard, a user may be able to develop insights related to targeting the right products to accounts based on segment and WTP. For example, a user may be able to identify products with higher WTP that can be targeted to accounts with lower invoice revenue generation.
As shown in
As shown in
In some embodiments, the ingested transaction summary data may be processed by a data union operation that may be applied using one or more of the following inputs: roll-up flag, schema auto-fill, and I/O name parameters. In some embodiments, one or more of the inputs and/or parameters for the data union operation may be defined by one or more user inputs, for example inputs executed via a GUI module. In some embodiments, the data union operation may generate contra summary data table data, which may be visualized by one or more of the modules.
In some embodiments, the ingested contra MDF data may be processed by a data join operation that may be applied using one or more of the following inputs: roll-up flag, join flag, and I/O name parameters. In some embodiments, one or more of the inputs and/or parameters for the data join operation may be defined by one or more user inputs, for example inputs executed via a GUI module. In some embodiments, the data join operation may generate contra MDF data, which may be visualized by one or more of the modules.
In some embodiments, the contra module of graphical user interface 400 may leverage one or more input data sets and one or more parameterized data models to generate data regarding reallocated incentives at various granularities, which may be visualized as part of a merged data set by one or more of the dashboards of the contra module.
As shown in
As shown in
As shown in
Computer 600 can be a host computer connected to a network. Computer 600 can be a client computer or a server. As shown in
Input device 620 can be any suitable device that provides input, such as a touch screen or monitor, keyboard, mouse, or voice-recognition device. Output device 630 can be any suitable device that provides an output, such as a touch screen, monitor, printer, disk drive, or speaker.
Storage 640 can be any suitable device that provides storage, such as an electrical, magnetic, or optical memory, including a random access memory (RAM), cache, hard drive, CD-ROM drive, tape drive, or removable storage disk. Communication device 660 can include any suitable device capable of transmitting and receiving signals over a network, such as a network interface chip or card. The components of the computer can be connected in any suitable manner, such as via a physical bus or wirelessly. Storage 640 can be a non-transitory computer-readable storage medium comprising one or more programs, which, when executed by one or more processors, such as processor 610, cause the one or more processors to execute all or part of one or more methods, including all or part of any one or more of the methods or techniques described herein.
Software 650, which can be stored in storage 640 and executed by processor 610, can include, for example, the programming that embodies the functionality of the present disclosure (e.g., as embodied in the systems, computers, servers, and/or devices as described above). In some embodiments, software 650 can include a combination of servers such as application servers and database servers.
Software 650 can also be stored and/or transported within any computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as those described above, that can fetch and execute instructions associated with the software from the instruction execution system, apparatus, or device. In the context of this disclosure, a computer-readable storage medium can be any medium, such as storage 640, that can contain or store programming for use by or in connection with an instruction execution system, apparatus, or device.
Software 650 can also be propagated within any transport medium for use by or in connection with an instruction execution system, apparatus, or device, such as those described above, that can fetch and execute instructions associated with the software from the instruction execution system, apparatus, or device. In the context of this disclosure, a transport medium can be any medium that can communicate, propagate, or transport programming for use by or in connection with an instruction execution system, apparatus, or device. The transport-readable medium can include but is not limited to, an electronic, magnetic, optical, electromagnetic, or infrared wired or wireless propagation medium.
Computer 600 may be connected to a network, which can be any suitable type of interconnected communication system. The network can implement any suitable communications protocol and can be secured by any suitable security protocol. The network can comprise network links of any suitable arrangement that can implement the transmission and reception of network signals, such as wireless network connections, T1 or T3 lines, cable networks, DSL, or telephone lines.
Computer 600 can implement any operating system suitable for operating on the network. Software 650 can be written in any suitable programming language, such as C, C++, Java, or Python. In various embodiments, application software embodying the functionality of the present disclosure can be deployed in different configurations, such as in a client/server arrangement or through a Web browser as a Web-based application or Web service, for example.
Unless defined otherwise, all terms of art, notations and other technical and scientific terms or terminology used herein are intended to have the same meaning as is commonly understood by one of ordinary skill in the art to which the claimed subject matter pertains. In some cases, terms with commonly understood meanings are defined herein for clarity and/or for ready reference, and the inclusion of such definitions herein should not necessarily be construed to represent a substantial difference over what is generally understood in the art.
As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It is also to be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It is further to be understood that the terms “includes, “including,” “comprises,” and/or “comprising,” when used herein, specify the presence of stated features, integers, steps, operations, elements, components, and/or units but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, units, and/or groups thereof.
Any numerical ranges disclosed inherently support any range or value within the disclosed numerical ranges, including the endpoints, even though a precise range limitation is not stated verbatim in the specification because this disclosure can be practiced throughout the disclosed numerical ranges.
The foregoing description, for the purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the techniques and their practical applications. Others skilled in the art are thereby enabled to best utilize the techniques and various embodiments with various modifications as are suited to the particular use contemplated.
Although the disclosure and examples have been fully described with reference to the accompanying figures, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of the disclosure and examples as defined by the claims.
This application claims the benefit of U.S. Provisional Application No. 63/180,622, filed Apr. 27, 2021, and of U.S. Provisional Application No. 63/194,708, filed May 28, 2021, the entire contents of each of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63194708 | May 2021 | US | |
63180622 | Apr 2021 | US |