Digital analytics system

A digital analytics system comprises a data management system including data extraction modules and a data storage system. The data extraction modules extract data from data sources and store the data in storage units. An analytics engine system including analytics engines and interfaces to retrieve data relevant to the analytics engines from the storage units. The analytics engines may perform prescriptive or descriptive analytics on the retrieved data. An applications interface and storage stores applications. The applications may be executed using information generated by the prescriptive or descriptive analytics performed by the analytics engines.

BACKGROUND

Many companies and other entities (generally companies) are re-evaluating how they make crucial business decisions. In order to make the best possible business decisions, companies desire to have the best possible information available. However, the availability and volume of data may pose a great barrier to these companies. For example, a company may need a third party's proprietary data that may not be publicly available. In another case, the amount of data available may be so large that it is difficult for the company to determine which data is even relevant to their business decisions. Furthermore, the company may not have the expertise to properly analyze the data. Moreover, the company may not know how to use the data to positively impact their business decisions.

SUMMARY OF THE INVENTION

According to an embodiment, a digital analytics system comprises a data management system, an analytics engine system and an applications interface and storage. The data management system may analyze, filter, modify and re-format data from data sources and store the data in storage units. Analytics engines perform analytics on the data. The applications interface and storage includes a plurality of applications, and the applications may be executed using information generated by performing the analytics on the data.

DETAILED DESCRIPTION OF EMBODIMENTS

Analytics, or business data analysis, provide a company making a crucial business decision with an opportunity to improve performance by providing the best possible information relevant to the business decision to drive a high performance outcome. According to an embodiment, a system provides a variety of descriptive and/or predictive analytics for multiple clients based on the dynamic needs of the clients. Also, the system provides applications that may utilize data from the analytics to provide client-specific information. The system comprises hardware and software operable to provide the descriptive and/or predictive analytics. The system may provide analytics services and applications on-demand and as needed by the client so the client does not need to invest in internal systems to perform those functions. Furthermore, through the system, a multitude of different analytics may be available to the client.

Descriptive analytics may comprise analyzing historic data, which may include performance data, to provide a description of what happened for past events. Descriptive analytics may encompass identifying successes or failures, which may be based on key performance indicators for a given application. Descriptive analytics may include generating alerts, queries, ad hoc reports, standard reports, etc. that provide data and insight into a current issue surrounding a crucial decision. Predictive analytics may comprise estimating a probable future outcome of an event or a probability or likelihood of an event occurring given a set of circumstances. A predictive analytics engine may perform optimization, predictive modeling, forecasting/extrapolation, statistical analysis, etc. to predict an outcome. The predictions may be used to drive crucial business decisions or non-business related decisions that may depend on forecasting made available through predictive analytics.

The system may provide descriptive and/or predictive analytic solutions that are industry-specific, client-specific and/or problem-specific through applications. The system may operate as a service provider serving a variety of clients from a variety of industries. For example, the digital analytics platform may serve clients from the defense industry, the pharmaceutical industry, the construction industry, the banking industry, etc. Moreover, for each client, the system may provide a variety of descriptive and/or predictive analytic solutions for a variety of problems that may be encountered by the client. Furthermore, the system may also provide the variety of descriptive and/or predictive analytic solutions to a multitude of different clients simultaneously through applications.

FIG. 1illustrates a digital analytics system100, according to an embodiment of the invention. The system100provides descriptive and/or predictive analytics for a multitude of clients180a-n. A client is any user, company or other entity utilizing the system. The descriptive and/or predictive analytics provided to each of the clients180a-nmay be industry-specific and/or problem-specific.

The system100includes data management system121, analytics engine system140, and applications interface and storage system170. Data sources110a-nmay include a variety of different sources providing data to the system100. The data sources110a-nmay include public or private data sources and may include one or more of the clients180a-nproviding data to the system. The data sources110a-nmay provide data to the system100through real-time and/or batch processing, depending upon the data source.

The data provided by the data sources110a-nto the system100may include any data used to provide descriptive and/or predictive analytic solutions to the clients180a-n. The data may include publicly available data. For example, the publicly available data stored in the data sources110a-nmay include market data, news, financials, industry specific data, regulatory changes, weather implications, trends, etc. The data provided by the data sources110a-nmay also include privately managed data. For example, the privately managed data may include client business process data, customer data, supply chain operations data, enterprise resource planning (ERP) transactions, workforce data, product/service development data, financial data, service provide research data, industry data, etc. The data provided by the data sources110a-nmay also include emerging data. Examples of the emerging data include regional data, eco-political updates, trade/tariff changes, competitor implications, value chain insight (i.e. customer and vendor data), innovation data, pipeline future value data, product development effectiveness data, competitors' innovation progress data, social network outlets, buzz on reputation/brand, etc. Other types of data may also be provided.

The data provided by the data sources110a-nmay be structured or unstructured data. Unstructured data is computerized information that does not have a data model or is not usable by a computer program in its current format. For example, the unstructured data may include data from social networks and news blogs, web data, etc. Structured data, on the other hand, either has a data model (e.g., adheres to a particular schema) or is usable by a computer program in its current format. For example, consumer profiles, consumer addresses, and revenue information may be provided by the data sources110a-nin a predetermined format. At the data management system121, a data integration unit120receives the data from the data sources110a-nand loads the data into the data storage system130. The data integration unit120may pull the data or request the data to be pushed to the data management system121.

The data integration unit120may comprise multiple extract, transform and load modules (ETLs). ETLs122a-care shown but the system may include more or less number of ETLs. The ETLs122a-cstore and execute business rules and translation rules. A translation rule specifies constraints or instructions to format data from the data sources110a-n. This may include specifying a type of data format for the format conversion, a schema format including fields for the new schema, or any other type of data formatting. In one example, a data type format may include converting all monetary values to US dollars before storing monetary values in the data storage system130. This translation rule may be dependent on a business rule and include a call to a business rule that specifies the ETL to retrieve a data exchange rate table from a data source and perform the conversion to US dollars according to exchange rates in the table. Other examples of data type formatting may include converting data from floating point values to integers, or formatting data to comprise a predetermined maximum number of characters, etc. Another type of translation rule may indicate that data received from a data source in a predetermined schema is to be stored in a different schema, which may have different fields. The ETL may map a field of the schema of the received data to a field of a schema for storing the data in the data storage system130.

The business rules specify constraints or instructions that may be related to business intelligence. An example of a business rule in an ETL may include only accepting data from certain data sources. Another example may include that if the same or similar data is available from more than one source (e.g., weather data), use a prioritized list of data sources to accept data from the sources in the order specified in the list. The business rules may include instructions for analyzing and modifying the data according to the rules. The ETLs122a-cmay include rules for filtering. Filtering rules may identify a subset of the captured data to be stored in the data management system121. The filter may comprise a query to identify the data to store. Other types of rules may also be included in the ETLS122a-c. For example, each ETL may include a rule specifying a particular storage unit to store data for a particular source, client, application or analytics engine.

The ETLs122a-cmay also include protocols for communicating with the data sources110a-nif needed. For example, different data sources may use different web services to communicate with other systems. An ETL may include the protocol or protocols to communicate with certain data sources.

The data storage system130stores data from the data sources110a-nand provides the data to other systems, such as the analytics engine system140and the applications171. In one embodiment, the data storage system130stores data in storage units. Each storage unit or a group of storage units may be for a particular client, a particular application and/or a particular analytics engine. Storage units131a-dare shown inFIG. 1. The storage units131a-dmay segregate data as further described below. The number of storage units may vary. For the load aspect, the ETLs122a-cmay include rules that indicate what data is to be stored in each storage unit. In one example, a storage unit may be a database instance. For example, each storage unit is a database instance, and each database instance may have the same tables but is populated with the data for its respective client or application. For example, a database instance for client180aonly has data for that client.

The analytics engine system140performs analytics on data received from the data storage system130. The analytics engine system140may comprise multiple analytics engines141a-f. An analytics engine may comprise software performing particular analytics. The analytics may comprise descriptive or prescriptive analytics. The analytics may use conventional modeling to perform their functions, such as multivariate regression modeling. Off-the-shelf analytics engines may be used for the analytics engines141a-f. The analytics engines141a-fmay be for different applications of the applications171.

AE interfaces142a-fare interfaces for the analytics engines141a-f. The AE interfaces142a-fcomprise software to retrieve data from a particular storage unit and also to provide the output from the analytics engines141a-fto their respective application. The AE interfaces142a-fmay comprise application programming interfaces (APIs) that include specifications to communicate with the data storage system130and the storage units131a-d. The APIs may also include specifications for communicating with the applications171.

The output of the analytics may be used by one or more of the applications171in the applications interface and storage system170. The applications171are software applications and may provide descriptive and/or predictive analytic solutions to the clients180a-nbased on the analytics performed by the analytics engines141a-f. The applications interface and storage system170may include an interface that allows the clients180a-nto access one or more of the applications171. For example, the interface may include a web interface that allows the clients180a-nto access the applications171via the Internet. The clients180a-nmay need to register by providing client profile information in order to access the applications171. Furthermore, one or more of the applications171may not be accessible by all of the clients180a-n. For example, a client may be required to meet certain criteria or pay fees to access an application. The applications interface and storage system170may store client profile data, which may be used to determine whether a client can access an application.

The applications171may be client-specific, private and/or public. Other types of applications may also be used. A client-specific application is an application developed for the specific needs of a client. For example, a client specifies a problem or a need to a service provider. The service provider develops an application that provides a solution to the client's needs or problem and stores the application in the applications interface and storage system170. A private application and a public application may be developed for one or more clients. The private application, however, may not be available to all clients. For example, an application owner, which may be a service provider, may require a client to be registered with the service provider and pay certain fees to access and use the private application. A public application may be available to any of the clients. However, an owner of a public application may require a client to pay for use of the public application.

The applications171may use data from one or more of the data sources110a-nprovided via the data management system121. In one embodiment, the data storage system130identifies data based on the needs of the applications171. For example, an application uses location data for new homes to predict service needs for new home buyers in various locations. The data storage system130identifies new homes data from one of more of the data sources110a-nand stores the data so it can be sent to the analytics engine140and/or the application using the data. The data storage system130may store a query for new homes data and associate the query with the application. The query is executed on the data provided by the data sources110a-n, and the results of the query may be stored and associated with the application using the new homes data. The results of the query may be provided to the analytics engine140and/or the application. Queries may be stored for one or more of the applications171, so the applications171can utilize the relevant data from the data sources110a-nto generate meaningful information for the clients180a-n. Also, a user, which may be an application developer, client, administrator, or another entity, may be able to access the data management system121to select data sets to be sent to the analytics engines. This may also include setting filters to identify the most relevant data for an application.

The data storage system130may categorize data from the data sources110a-nbased on predetermined categories. An application associated with a category may use the information identified by the data storage system130for the category to perform its functions.

As described above, the analytics engines141a-fperforms analytics on data received from the data storage system130. The analytics may include creating models from the received data and performing analysis of the data using the models. Examples of the analytics may include segmentation, statistical analysis, forecasting/extrapolation, predictive modeling, optimization and text mining. Segmentation is a method of optimizing performance by determining a specific audience for a business solution and customizing the business solution with the specific audience in mind. The descriptive and/or predictive analytic solutions may be customized for different audiences or populations. Statistical analysis includes summarizing and presenting data, estimation, confidence intervals, hypothesis testing, etc. Forecasting is the process of making statements about events whose actual outcomes have not yet been observed. Extrapolation is the process of constructing new data points outside of a discrete set of known data points. Predictive modeling is a process of creating or choosing a model to predict the probability of an outcome. Optimization is the improvement of a process, product, business solution, etc. Text mining is the process of deriving high-quality information from text.

Also, the analytics may use different engines for different types of data. For example, the analytic engine141amay include a semantic analytics engine that determines semantic variables from online data gathered by one or more of the data source providers. The semantic variables determined by the semantic analytic engine141amay indicate customer sentiment for a product, such as positive, negative, and neutral. An application may use the variables to identify to the client whether action should be taken with regard to customer sentiment for the product. Another example may include an analytics engine for sales forecasting. A sales forecasting analytics engine may consider data from the data sources110a-nrelated to past sales performance, current sales data from clients and other sources, macroeconomic factors and other data that may impact sales. The sales forecasting analytics engine may make sales predictions, such as estimate growth or increase in sales volume, which may be used by an application to determine additional information.

Some examples of the applications171are now described. One example of an application may include a work force planning (WFP) application which estimates the workforce needed for a business. The WFP application may need to determine estimated sales volume to estimate the number of sales associates needed. The analytics engine141amay include a sales forecasting analytics engine estimating sales volume based on data from one or more of the data sources110a-n. The WFP application uses estimated sales volume to estimate work force needed for a future time period, which may include an increase or decrease in current workforce. The WFP application may connect to the client's enterprise system to perform activities. For example, the analytics engine141aestimates a 50% sales increase for the eastern region. The WFP application can connect to the enterprise system and identify a sales manager for the eastern region from a contact resource management database. The WFP application sends an instruction to increase hiring by a certain percentage based on the forecasted sales increase.

Another example of the applications171may be a home security sales application. The home security sales application may be used to identify target areas for home security sales based on home sales data provided by one or more of the data sources110a-n. The analytics engine141amay be used to segment home sales data or forecast home sales, and this information may be used by the home security sales application to identify target areas.

Applications may be non-sales related. For example, an application may be used to predict weather or traffic based on data provided by one or more of the data sources110a-n. Also, an application may be interactive. For example, a client may enter a zip code into an application to get reports on crime in the area. Another application may allow a client to visualize consumer spending across geographies, segments, and product categories based on data from one or more of the data sources110a-n. Another application may allow a client to select a product category (e.g., printers, TVs, etc.) to investigate further in order to understand what is driving the spending patterns. For example, consumer product UPC codes are determined and used to identify product reviews. Sentiment analytics are performed, and the application generates reports visualizing consumer product sentiments. Many other types of applications may be stored in the applications interface and storage system170.

In another example, an application and an analytics engine may be interactive. For example, the application may be a marketing application for targeting promotions. The analytics engine determines from data received from the data storage system130that a particular demographic of individuals may be receptive to a product promotion in a particular geographic location, such as one or more zip codes. The application may send a promotion for the product to individuals within the demographic and geographic location, and the application may receive other statistics, such as whether the promotion was accessed or used and where it was used. This data may be provided from the application to the analytics engine as feedback. The analytics engine may use this information and other information from the data storage system130to perform additional analytics and send that information to the application. For example, the analytics engine may identify that text messaging is the best medium to provide the promotion to users. Then, the application may use this information to further optimize or target promotions. This process may be periodically repeated.

Many components of the system100may comprise software modules comprised of machine readable instructions. For example, the data management system121may comprise software modules performing the functions of the ETLs122a-c, data management functions and other functions of the data management system. The analytics engines, the AE interfaces and the applications171also comprise software.

FIG. 2shows a flowchart of a method200, according to an embodiment. The method200is described with respect to the system100shown inFIG. 1by way of example. The method200may be practiced in other systems.

At step201, the data management system121stores data for the analytics engines141a-fand the applications170. In one embodiment, the data may be related to a category associated with one or more of the applications171. For example, the category is weather for a weather forecasting application of the applications171. The ETL122astores weather data in the storage unit131afrom various data sources according to the rules stored in the ETL122a. The data stored for the category may be periodically updated as new data is received from the data sources110a-n. Rather than storing data for a broad category, the ETL122amay be programmed to store more specific data in a storage unit. For example, the ETL122amay include rules to store data related to tornado forecasts or weather conditions that may be indicative of a tornado and geographic locations along with the conditions. The rules may specify to store the data in the storage unit131a. The analytics engine142aincludes a model for predicting whether a tornado may occur based on the conditions. The predictions are provided to an application which provides reporting to users and other systems that may be relevant to the particular geographic location for the condition and prediction.

At step202, the analytics engines141a-freceive the data from the data management system121. For example, the AE interface142ais programmed to retrieve the tornado weather condition data from the storage unit131aand provides the data to the analytics engine142a.

At step203, the analytics engines142a-fperform analytics on the data. For example, the analytics engine142amakes predictions on whether a tornado may occur based on the weather conditions.

At step204, the applications171use data output from the analytics engines141a-fas input for execution of their functions. For example, the output of the analytics engine142aincludes predictions on whether a tornado may occur based on the weather conditions and geographic locations where the tornadoes may occur. An application may use this information to generate alerts to systems and emergency personnel in the geographic locations. A client of the clients180a-nmay selectively execute an application of the applications171. In one example, one or more of the applications are available on-demand or through a subscription service. Thus, a client may selectively invoke applications as needed.

FIG. 3illustrates a method300, according to an embodiment. The method300is described with respect to the system100shown inFIG. 1by way of example. The method300may be practiced in other systems. The method300is similar to the method200, however, the method300describes an embodiment whereby queries are generated and used to retrieve desired data from the data sources for performing analytics and running the applications171.

At step301, the applications171are generated and stored in the applications interface storage170.

At step302, data needed for analytics associated with the applications171are determined. For example, the data may be categories of data, such as data related to sales of a product.

At step303, queries are determined that identify the categories of data to be retrieved from the data sources. The queries may be generated by users. In one example, a query is generated to target specific data for analytics. For example, the query may include determine sales data for a particular geographic region for a particular time period.

At step304, ETLs are created to run the queries on data from the data sources. For example, the ETL122bmay receive data from one or more of the data sources and run a query on the data from the data sources.

At305, the ETLs are executed to run the queries and store the data in the storage units. Then, analytics are performed on the data and provided to the applications171such as described above with respect to steps203and204. For example, the ETL122bmay communicate with the data sources to receive the data. The ETL122bmay store the data for the categories in corresponding storage units.

FIG. 4shows examples of components of the system100. For example, the system may include an analytics engine and application used to determine the impact of social media applications on sales of a product. Social media applications may include web-based technologies that use the Internet to publish user generated content. A social media application may use web-based technology for social interaction. The data sources may include public data that is available on the Internet, such as product reviews or blogs110aand other data sets110b. The data sources may include private data110cwhich may be provided by the client. 3rdparty data110dmay include data provided by commercial databases. ETLs112a-cintegrate the data into the data storage system130. The integration may include translation, filtering, querying, etc, such as described above. Integration may include storing the data in predetermined storage units, not shown. The analytics engine system140may include sentiment analytics engine141aand AE interface142a. The AE interface142aretrieves data from the data storage system130for processing by the sentiment analytics engine141a. The data may be retrieved from the predetermined storage units. The sentiment analytics engine141amay include a model comprised of social media variables that are used to estimate the impact of social media applications on sales or other marketing objectives. The sentiment analytics engine141amay forecast or estimate sales based on a set of inputs comprised of data from the data sources. The sales estimates may be provided to the application171a. The application171amay identify optimal investments in various marketing channels based on the forecasting to maximize sales. End user180amay interact with the application171athrough web portal172to determine the optimal investments in the marketing channels.

FIG. 4also shows an example of components of the system100that may be used to optimize power plant performance. For example, the data sources may include public data110e, such as energy costs. The data sources may include private data110f, such as data captured from sensors and maintenance logs in power plants owned by a utility. The data sources may include 3rdparty data110g, such as maintenance schedules provided by parts manufacturers. ETLs112d-fintegrate the data into the data storage system130. The integration may include translation, filtering, querying, etc, such as described above. Integration may include storing the data in predetermined storage units.

The analytics engine system140may include plant performance analytics engine141band AE interface142b. The AE interface142bretrieves data from the data storage system130for processing by the plant performance analytics engine141b. The data may be retrieved from the predetermined storage units. The plant performance analytics engine141aforecasts plant metrics to identify days for performing plant maintenance. For example, the plant performance analytics engine141aforecasts energy usage for future time periods and low energy usage time periods may then be used for performing scheduled maintenance. Another forecasted plant metric may be associated with energy costs, e.g., cost per kilowatt hour. Maintenance may be scheduled when energy costs are the least. The application171bmay be a plant performance application that schedules maintenance for the power plant. The application171bmay use the low energy usage days or time periods identified by the plant performance analytics engine141bto schedule maintenance. User180bmay be a plant manager that accesses the application171bvia the web portal to facilitate the scheduled maintenance.

The plant performance analytics engine141bmay estimate when maintenance is due based on the data from the data sources. For example, manufacturer data may indicate that a fan needs to be replaced every 7 years if oiled yearly. The plant performance analytics engine141bdetermines that the fan has been oiled every two years. Based on data from other plants and the manufacturer data, the plant performance analytics engine141bestimates the fan may fail prematurely. The application171bprovides an alert to the user180bto indicate when to change the fan.

FIG. 5shows a computer system500that may be used as a hardware platform for the system100. The computer system500may be used as a platform for executing one or more of the steps, methods, and functions described herein that may be embodied as software stored on one or more computer readable storage devices, which are hardware storage devices. In an embodiment, the data management system121, the analytics engine system140and the applications interface and storage system170are run on different computing platforms, and each platform may include the components of the computer system500. Each platform may include a server. The system100may be run on a distributed computing system, such as a cloud computing system.

The computer system500includes a processor502comprising processing circuitry that may implement or execute software instructions performing some or all of the methods, functions and other steps described herein. Commands and data from the processor502are communicated over a communication bus504. The computer system500also includes a non-transitory computer readable storage device503, such as random access memory (RAM), where the software and data for processor502may reside during runtime. The storage device503may also include non-volatile data storage. The computer system500may include a network interface505for connecting to a network. It will be apparent to one of ordinary skill in the art that other known electronic components may be added or substituted in the computer system500.

While the embodiments have been described with reference to examples, those skilled in the art will be able to make various modifications to the described embodiments without departing from the scope of the claimed embodiments.