DETAILED ACTION
Status of the Application
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status
This action is a Final Action on the merits in response to the application filed on 06/25/2025.
Claims 1, 8, and 15 have been amended.
Claims 1-20 remain pending in this application.
Response to Amendment
Applicant’s amendments are acknowledged.
The 35 U.S.C. 101 rejections of claims 1-20 in the previous office action have been maintained.
The 35 U.S.C. 103 rejections of claims 1-20 in the previous office action are withdrawn in light of applicant’s amendments, however a new 103 rejections was added.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-7 are directed towards a method, claims 8-14 are directed towards a computer-readable medium, and claims 15-20 are directed towards a system, both of which are among the statutory categories of invention.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claims are directed to a judicial exception without significantly more.
Regarding claims 1-20, under Step 2A claims 1-20 recite a judicial exception (abstract idea) that is not integrated into a practical application.
With respect to claims 1-20, the independent claims (claims 1, 8, and 15) are directed to a managing of marketing data (e.g. receiving marketing campaign data from a user, storing marketing campaign data, generating marketing campaign data, integrating marketing data, analyzing user interaction, providing suggestions based on user interaction patterns). These claim elements are considered to be abstract ideas because they are directed to a method of organizing human activity which include commercial interactions such as marketing; managing personal behavior such as following rules or instructions. The commercial interaction and managing personal behavior is entered into when the user data and interactions are received and analyzed. If a claim limitation, under its broadest reasonable interpretation, covers commercial interactions, managing personal behavior, then it falls within the “method of organizing human activity” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
This judicial exception is not integrated into a practical application. In particular, the claim recites additional element – device, database, external CRM system, machine learning model, dashboard, computer-readable medium, processor, cloud-based software, user interface, module, to perform the claim steps. The processor in both steps is recited at a high-level of generality (i.e., as a generic processor performing a generic computer function of providing and processing information at 0030) such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
The independent claims are additionally directed to claim elements such as device, database, external CRM system, machine learning model, dashboard, computer-readable medium, processor, cloud-based software, user interface, module. When considered individually, the device, database, external CRM system, machine learning model, dashboard, computer-readable medium, processor, cloud-based software, user interface, module claim elements only contribute generic recitations of technical elements to the claims. It is readily apparent, for example, that the claim is not directed to any specific improvements of these elements.
Examiner looks to Applicant’s specification in at ([00275]) “The CPU 420 reads and executes program instructions which may be used across many application domains, for example, but not limited to, general purpose computing, embedded computing, network computing, digital signal processing (DSP), and graphics processing (GPU). The CPU 420 may run multiple instructions on separate CPU cores 421 simultaneously. The CPU 420 may be integrated into at least one of a single integrated circuit die, and multiple dies in a single chip package. The single integrated circuit die and/or the multiple dies in a single chip package may contain a plurality of other elements of the computing device 400, for example, but not limited to, the clock 410, the bus 430, the memory 440, and I/O 460.” [00283] “The network may comprise one or more communications protocols to organize network traffic, wherein application-specific communications protocols may be layered, and may be known to a person having ordinary skill in the art as being improved for carrying a specific type of payload, when compared with other more general communications protocols.” ([00273]) “In a system consistent with an embodiment of the disclosure, the computing device 400 may include the clock module 410, known to a person having ordinary skill in the art as a clock generator, which produces clock signals. Clock signals may oscillate between a high state and a low state at a controllable rate, and may be used to synchronize or coordinate actions of digital circuits. Most integrated circuits (ICs) of sufficient complexity use a clock signal in order to synchronize different parts of the circuit, cycling at a rate slower than the worst-case internal propagation delays. One well-known example of the aforementioned integrated circuit is the CPU 420, the central component of modern computers, which relies on a clock signal.” ([00279]) “Consistent with the embodiments of the present disclosure, the aforementioned computing device 400 may employ hardware integrated circuits that store information for immediate use in the computing device 400, known to persons having ordinary skill in the art as primary storage or memory 440.” ([00282]) “The network may allow computing devices 400 to exchange data using connections, which may also be known to a person having ordinary skill in the art as data links, which may include data links between network nodes. The nodes may comprise networked computer devices 400 that may be configured to originate, route, and/or terminate data.”
These passages, as well as others, makes it clear that the invention is not directed to a technical improvement. When the claims are considered individually and as a whole, the additional elements noted above, appear to merely apply the abstract concept to a technical environment in a very general sense – i.e. a generic computer receives information from another generic computer, processes the information and then sends information back. The most significant elements of the claims, that is the elements that really outline the inventive elements of the claims, are set forth in the elements identified as an abstract idea. The fact that the generic computing devices are facilitating the abstract concept is not enough to confer statutory subject matter eligibility.
Dependent claims 2-7, 9-12, 16, 18-20 directed to managing of marketing data. This process is similar to the abstract idea noted in the independent claims because they further the limitations of the independent claim which are directed to a method of organizing human activity which include commercial interactions such as marketing; managing personal behavior such as following rules or instructions. Accordingly, these claim elements do not serve to confer subject matter eligibility to the claims since they are directed to abstract ideas.
Dependent claims 14, 17 are not directed towards any additional abstract ideas and, are also not directed to any additional non-abstract claim elements. Rather, these claims offer further descriptive limitations of elements found in the independent claims and addressed above – such as by describing the nature and content of the data that is received/sent. While these descriptive elements may provide further helpful context for the claimed invention these elements do not serve to confer subject matter eligibility to the invention since their individual and combined significance is still not heavier than the abstract concepts at the core of the claimed invention.
Examiner respectfully reminds Applicant, the general use of machine learning techniques does not provide a meaningful limitation to transform the abstract idea into a practical application. The claims discloses the defining of machine learning models at a high-level of generality, without incorporating any updating (i.e. training) limitations. Therefore, currently, the machine learning recited in the claims is solely used a tool to perform the instructions of the abstract idea.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-19 are rejected under 35 U.S.C. 103 as being unpatentable over United States Patent Publication US 20170177309, Bar-or, et al to hereinafter Bar-or in view of United States Patent Publication US 20220383125, Kewalramani, et al.
Referring to Claim 1, Bar-or teaches a method for managing marketing (See Kewalramani) taxonomy, the method comprising:
receiving, by a computing device, marketing campaign (See Kewalramani) data from a user (
Bar-or: Sec. 0066, Signals are organized into signal sets that describe (e.g., relate to) specific business domains (e.g. customer management). Signal sets are industry-specific and cover domains including customer management, operations, fraud and risk management, maintenance, network optimization, digital marketing, etc. Signal Sets could be dynamic (e.g., continually updated as source data is refreshed), flexible (e.g., adaptable for expanding parameters and targets), and scalable (e.g., repeatable across multiple use cases and applications).
Bar-or: Sec. 0088, Signal Hub 304 integrates seamlessly with a variety of front-end systems 322 (e.g., use-case specific apps, business intelligence, customer relationship management (CRM) system, content management system, campaign execution engine, etc.). More specifically, Signal Hub 304 can communicate with front end systems 322 via a staging database (e.g., MySQL, HIVE, Pig, etc.). Signals are easily fed into visualization tools (e.g. Pentaho, Tableau), CRM systems, and campaign execution engines (e.g. Hubspot, ExactTarget). Data is transferred in batches, written to a special data landing zone, or accessed on-demand via APIs (application programming interfaces).);
storing the marketing campaign (See Kewalramani) data in a structured database (
Bar-or: Sec. 0075, The data models and schemas are stored along with the code and can be governed and maintained using modern software lifecycle tools. Typically, at the beginning of a Signal Hub project, the Workbench 70 is used by data scientists for profiling and schema discovery of unfamiliar data sources. Signal Hub provides tools that can discover schema (e.g., data types and column names) from a flat file or a database table. It also has built-in profiling tools, which automatically compute various statistics on each column of the data such as missing values, distribution parameters, frequent items, and more.
Bar-or: Sec. 0083, Raw data is stored in the raw data database 258 of the Hadoop Data Lake 256. In step 260, Hadoop/Yarn and Signal Hub 254 process the raw data 258 with ETL (extract, transform, and load) modules, data quality management modules, and standardization modules. The results of step 260 are then stored in a staging database 262 of the Hadoop Data Lake. In step 260, Hadoop/Yarn and Signal Hub 254 process the staging data 262 with signal calculation modules, data distribution modules, and sampling modules. The results of step 264 are then stored in the Signals and Model Input database 266. In step 268, the model development and validation module 268 of the model building tools 252 processes the signals and model input data 266. The results of step 268 are then stored in the model information and parameters database 270.);
automatically (See Kewalramani) generating, by the computing device, a marketing (See Kewalramani) taxonomy based on the stored marketing (See Kewalramani) campaign data (
Bar-or: Sec. 0057, The system 10 includes a computer system 12 (e.g., a server) having a database 14 stored therein and a Signal Hub engine 16…The database 14 could be stored on the computer system 12, or located externally therefrom (e.g., in a separate database server in communication with the system 10).
Bar-or: Sec. 0066, Signals are organized into signal sets that describe (e.g., relate to) specific business domains (e.g. customer management). Signal sets are industry-specific and cover domains including customer management, operations, fraud and risk management, maintenance, network optimization, digital marketing, etc.
Bar-or: Sec. 0091, These tags and taxonomy information are then used by the Knowledge Center to enable signal search and reuse, which greatly enhances productivity.
Bar-or: Sec. 0099, Multiple features of the Knowledge Center facilitate accessing and consuming intelligence. The first is its filtering and searching capabilities. When signals are created, they are tagged based on metadata and organized around a taxonomy.
Bar-or: Sec. 0101, The Knowledge Center also allows for a complete visualization of all the elements involved in the analytical solution. Users can visualize how data sources connect to models through a variety of descriptive signals, which are grouped into Signal Sets depending on a pre-specified and domain-driven taxonomy… The same interface also allows users to drill into specific signals. Visualization tools can also allow a user to visualize end-to-end analytics solution components from the data, to the signal and finally to the use-cases. The system can automatically detect the high level lineage between the data, signal and use-cases when hovering over specific items. );
Bar-or describes the storing of marketing taxonomy and campaigning.
integrating the marketing (See Kewalramani) taxonomy with at least one external customer relationship management (CRM) system (
Bar-or: Sec. 0062, raw input data is consolidated across industries to create a specific relationship with a particular customer.
Bar-or: Sec. 0088, Signal Hub 304 integrates seamlessly with a variety of front-end systems 322 (e.g., use-case specific apps, business intelligence, customer relationship management (CRM) system, content management system, campaign execution engine, etc.). More specifically, Signal Hub 304 can communicate with front end systems 322 via a staging database (e.g., MySQL, HIVE, Pig, etc.). Signals are easily fed into visualization tools (e.g. Pentaho, Tableau), CRM systems, and campaign execution engines (e.g. Hubspot, ExactTarget). Data is transferred in batches, written to a special data landing zone, or accessed on-demand via APIs (application programming interfaces). Signal Hub 304 could also integrate with existing analytic tools, pre-existing code, and models. Client code can be loaded as an external library and executed within the server. All of this ensures that existing client investments in analytics can be reused with no need for recoding);
analyzing, by the computing device, user interaction patterns with the marketing (See Kewalramani) taxonomy (
Bar-or: Sec. 0061, Descriptive signals could include purchase history, usage patterns, service disruptions, browsing history, time-series analysis, etc.
Bar-or: Sec. 0071, The system allows users to determine whether a specified sequence of events occurred in the data and then submit a query to retrieve information about the matched data. For example, in FIG. 4C, for the raw input data shown, a user can (1) define an event; (2) create a pattern matcher; and (3) query the pattern matcher to return the output as shown. As can be seen, a user can easily define with a regular expression an occurrence of a specified event such as “service fixed after call.” Once the pattern matches algorithm is executed, a signal is extracted in the output showing the pattern occurrence
Bar-or: Sec. 0097, As shown, analytic code development window 504 allows a user to view relations and interactions between various data elements. );
providing, by the computing device, automated data entry suggestions based on the analyzed user interaction patterns (
Bar-or: Sec. 0061, Descriptive signals could include purchase history, usage patterns, service disruptions, browsing history, time-series analysis, etc.
Bar-or: Sec. 0069, Signals are hierarchical, such that within Signal Hub 60, a signal array might include simple signals that can be used by themselves to predict behavior (e.g., customer behavior powering a recommendation) and/or can be used as inputs into more sophisticated predictive models. );
generating, by the computing device, a customizable analytics dashboard based on the marketing (See Kewalramani) taxonomy and the integrated CRM data (
Bar-or: Sec. 0108, A user is able to create various type of graphs (e.g. line chart, pie chart, scattered 3D chart, heat map, etc) in the Knowledge Center and populate dashboard with graphs created in certain layout. Dashboard will get refreshed automatically as the backend data get refreshed. A user can also export the dashboard to external system.
Bar-or: Sec. 0121, The Signal Hub manager 800 facilitates easy viewing and management of signals, signal sets, and models. The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process. ).
Bar-or and Kewalramani both teaches taxonomy; generating, by the computing device, a marketing taxonomy based on the stored marketing campaign data
Bar-or does not explicitly teach marketing taxonomy; automatically generating, by the computing device, a marketing taxonomy based on the stored marketing campaign data.
However, Kewalramani teaches marketing taxonomy; automatically generating, by the computing device, a marketing taxonomy based on the stored marketing campaign data (
Kewalramani: Sec. 0003, marketing automation platforms (MAPs), customer relationship management (CRM) systems, and websites, organize records differently. Thus, a platform that receives data from these different systems, as data sources, must utilize a taxonomy to aggregate records from these data sources. A taxonomy maps data from different data sources into a common and consistent labeling system to ensure compatibility with downstream functions. Without a taxonomy, the downstream functions may be unable to understand the data.
Kewalramani: Sec. 0020, In an embodiment, systems, methods, and non-transitory computer-readable media are disclosed for machine-learning-aided automatic taxonomy for MAPs and CRM systems.
Kewalramani: Sec. 0047, Embodiments of processes for machine-learning-aided automatic taxonomy for MAPs and CRM systems will now be described in detail. It should be understood that the described processes may be embodied in one or more software modules that are executed by one or more hardware processors (e.g., processor 210), for example, as a software application (e.g., server application 112, client application 132, and/or a distributed application comprising both server application 112 and client application 132), which may be executed wholly by processor(s) of platform 110, wholly by processor(s) of user system(s) 130, or may be distributed across platform 110 and user system(s) 130, such that some portions or modules of the software application are executed by platform 110 and other portions or modules of the software application are executed by user system(s) 130.
Kewalramani: Sec. 0052, A MAP is a software platform that automates repetitive tasks that enable an organization to more effectively market on multiple channels (e.g., email, social media, websites, etc.). A MAP will generally provide a dashboard that enables marketing personnel to plan, coordinate, manage, and measure online and offline marketing campaigns, and to manage leads (i.e., potential customers) generated by the marketing campaigns, with the goal of converting those leads into actual customers (i.e., purchasers of a product offered by the organization). Examples of MAPs include the Marketo™ products offered by Marketo, Inc. of San Mateo, Calif., the Eloqua™ product offered by Oracle Corp. of Austin, Tex., the Pardot™ product offered by Salesforce.com, Inc. of San Francisco, Calif., the products offered by Hubspot, Inc., of Cambridge, Mass., and the like.
Kewalramani: Sec. 0057, relevant data that may be normalized and stored in the common intermediate representation for each activity record that is acquired from a MAP may include, without limitation, a user identifier, user activity, type of user activity, details of user activity, Internet Protocol (IP) address of the user, identifier of the marketing campaign associated with the user activity, name of the marketing campaign, description of the marketing campaign, URL associated with web visit, referrer (e.g., address of the webpage that referred the user to the URL), click event in an email message (e.g., sent as part of the marketing campaign), subject of the email message, body of the email message, email address (e.g., from which the email message was sent), description of program used, asset, name of form that was submitted, date of user activity, date of activity record, and/or the like. In an embodiment, when the data source of activity records is a MAP, the type of user activity, the name of the marketing campaign, and the description of the marketing campaign are extracted from each activity record as each of action features 330, channel features 340, and type features 350. Examples of relevant data that may be normalized and stored in the common intermediate representation for each activity record that is acquired for campaign(s) from a CRM system may include, without limitation, an identifier of a campaign, name of the campaign, type of the campaign, description of the campaign, campaign member identifier, campaign member status, campaign member description, contact email, lead email, date of activity record, and/or the like. Examples of relevant data that may be normalized and stored in the common intermediate representation for each activity record that is acquired for event(s) in scheduling information (e.g., synched from a calendar, meeting schedule, etc.) from a CRM system may include, without limitation, type of source, event identifier, attendee identifier(s), subject of the event, location of the event, duration of the event, description of the event, type of the event, whether or not the event is recurring, date of the event, date of the record, and/or the like. It should be understood that, even though the features extracted from a given activity record may comprise a type (e.g., type of source, type of event, etc.), this type may differ from the predicted type 358 that will be output by type model 356. In particular, the value of the predicted type 358 will be a class within a taxonomy of types used by platform 110, whereas the type in the features will have an arbitrary value defined by the data source (e.g., external system 140) that will typically not directly correspond to a class within the taxonomy used by platform 110.).
Bar-or and Kewalramani are both directed to the analysis of customer relationship management (See Bar-or at 0060-0063, 0088; Kewalramani at 0002, 0003, 0012, 0052,). Bar-or discloses that additional elements, such as determining customer satisfaction can be considered (See Bar-or at 0061). It would have been obvious for one having ordinary skill in the art before the effective filing date of the claimed invention to have modified Bar-or, which teaches detecting and repairing information technology problems in view of Kewalramani, to efficiently apply analysis of customer relationship management to enhancing the capability to processing customer relationship management data to include marketing taxonomies. (See Kewalramani at 0002, 0003, 0062, 0063).
Referring to Claim 2, Bar-or teaches the method of claim 1, further comprising:
receiving, by the computing device, user input to customize the analytics dashboard (
Bar-or: Sec. 0108, A user is able to create various type of graphs (e.g. line chart, pie chart, scattered 3D chart, heat map, etc) in the Knowledge Center and populate dashboard with graphs created in certain layout. Dashboard will get refreshed automatically as the backend data get refreshed. A user can also export the dashboard to external system.
Bar-or: Sec. 0116, A dedicated workspace can be created in the shared cluster which can be read-only for other developers and only the owner of the workspace can write and update data.
Bar-or: Sec. 0121, The Signal Hub manager 800 facilitates easy viewing and management of signals, signal sets, and models. The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process. );
updating the analytics dashboard based on the received user input (
Bar-or: Sec. 0125, FIG. 32 is another screenshot of the Signal Hub manager 800 generated by the system. More specifically, shown is the monitor system of the Signal Hub manager 800. This facilitates easy monitoring of all analytic processes from a single dashboard. ).
Referring to Claim 3, Bar-or teaches the method of claim 1, wherein the at least one external CRM system comprises Salesforce or HubSpot (
Bar-or: Sec. 0088, Signal Hub 304 integrates seamlessly with a variety of front-end systems 322 (e.g., use-case specific apps, business intelligence, customer relationship management (CRM) system, content management system, campaign execution engine, etc.). More specifically, Signal Hub 304 can communicate with front end systems 322 via a staging database (e.g., MySQL, HIVE, Pig, etc.). Signals are easily fed into visualization tools (e.g. Pentaho, Tableau), CRM systems, and campaign execution engines (e.g. Hubspot, ExactTarget). Data is transferred in batches, written to a special data landing zone, or accessed on-demand via APIs (application programming interfaces).).
Referring to Claim 4, Bar-or teaches the method of claim 1, further comprising:
executing, by the computing device, a machine learning model to predict optimal marketing (See Kewalramani) taxonomy structures based on historical data and user interactions (
Bar-or: Sec. 0007, significant effort is spent on data preparation (e.g., cleaning, linking, processing), and less is spent on analytics (e.g., business intelligence, visualization, machine learning, model building).
Bar-or: Sec. 0056, As the number of signals grows, the model development time shrinks. In this “bow tie” architecture, model developers concentrate on creating the best predictive models with expedited time to value for analytics.
Bar-or: Sec. 0061, Descriptive signals could include purchase history, usage patterns, service disruptions, browsing history, time-series analysis, etc.
Bar-or: Sec. 0124, the chart area 804 could provide one or more tabs related to performance, invocation history, data result, and configuration. The invocation history tab could include invocation, status, result, elapsed time, wait time, rows per second, time to completion, update (e.g., input record number, output record number), and historical (e.g., input record number, output record number). ).
Referring to Claim 5, Bar-or teaches the method of claim 1, further comprising:
synchronizing, by the computing device, the marketing (See Kewalramani) taxonomy data with the integrated CRM system in real-time (
Bar-or: Sec. 0093, The YAML tab 510 includes a synchronized editor so that a user can develop the code in a graphical way or in a plain text format, where these two formats are easily synchronized.
Bar-or: Sec. 0097, Similar to excel, users can select from a function list 524 and a column list 526 to create new signals with a description 528 and example code provided at the bottom. Users can use Signal API either in a plain text format or in a graphical way, where these two formats are easily synchronized.
Bar-or: Sec. 0121, The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process).
Referring to Claim 6, Bar-or teaches the method of claim 1, further comprising:
implementing, by the computing device, a user authentication and access control system to manage user accounts and permissions for accessing the marketing (See Kewalramani) taxonomy (
Bar-or: Sec. 0067, the Signal Hub manager 65 provides role-based access control for all Signal Hub platform components to increase network security in an efficient and reliable way.
Bar-or: Sec. 0122, FIG. 30B is a screenshot for user access management of the Signal Hub manager 800 generated by the system. The Signal Hub manager 800 provides role-based access control for all Signal Hub platform components to increase network security in an efficient and reliable way. As shown, users are assigned to different groups and different groups are authorized with different permissions including admin, access, operate, develop and email. Besides global permission management, Signal Hub platform also allows admin user to manage authentication and authorization on solution basis.).
Referring to Claim 7, Bar-or teaches the method of claim 1, further comprising:
generating, by the computing device, performance metrics for marketing (See Kewalramani) campaigns associated with the marketing taxonomy; displaying the performance metrics on the customizable analytics dashboard (
Bar-or: Sec. 0121, FIG. 30A is a screenshot of the Signal Hub manager 800 generated by the system. The Signal Hub manager 800 facilitates easy viewing and management of signals, signal sets, and models. The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process..the chart area 804 could provide one or more tabs related to performance, invocation history, data result, and configuration. The data result tab could include information such as data, data quality, measure, PMML, and graphs. The Signal Hub manager 800 could also include additional information as illustrated in window 806, such as performance charts and heat maps. The chart area allows a user to drill down on every workflow to easily understand the processing of all views involved in the execution of a use case.).
Bar-or describes the displaying of performance of marketing.
Claims 8-14 recite limitations that stand rejected via the art citations and rationale applied to claims 1-7. Regarding a non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations (
Bar-or: Sec. 0126, The storage device 104 could comprise any suitable, computer-readable storage medium.
Bar-or: Sec. 0127, The functionality provided by the present disclosure could be provided by a Signal Hub program/engine 106, which could be embodied as computer-readable program code stored on the storage device 104 and executed by the CPU 112 using any suitable, high or low level computing language, such as Python, Java, C, C++, C#, .NET, MATLAB, etc.)
Referring to Claim 15, Bar-or teaches a system for managing marketing (See Kewalramani) taxonomy, comprising:
a cloud-based software platform (
Bar-or: Sec. 0085, Signal Hub 304 could also include a server in electronic communication with the Workbench 306 and the Knowledge Center 308, such as via Signal Hub manager 312. Signal Hub further comprises infrastructure 314 (e.g., Hadoop, YARN, etc.) and hosting options 316, such as Client, Opera, and Virtual Cloud (e.g., AWS).);
a database configured to store marketing (See Kewalramani) taxonomy data (
Bar-or: Sec. 0075, The data models and schemas are stored along with the code and can be governed and maintained using modern software lifecycle tools. Typically, at the beginning of a Signal Hub project, the Workbench 70 is used by data scientists for profiling and schema discovery of unfamiliar data sources. Signal Hub provides tools that can discover schema (e.g., data types and column names) from a flat file or a database table. It also has built-in profiling tools, which automatically compute various statistics on each column of the data such as missing values, distribution parameters, frequent items, and more.
Bar-or: Sec. 0083, Raw data is stored in the raw data database 258 of the Hadoop Data Lake 256. In step 260, Hadoop/Yarn and Signal Hub 254 process the raw data 258 with ETL (extract, transform, and load) modules, data quality management modules, and standardization modules. The results of step 260 are then stored in a staging database 262 of the Hadoop Data Lake. In step 260, Hadoop/Yarn and Signal Hub 254 process the staging data 262 with signal calculation modules, data distribution modules, and sampling modules. The results of step 264 are then stored in the Signals and Model Input database 266. In step 268, the model development and validation module 268 of the model building tools 252 processes the signals and model input data 266. The results of step 268 are then stored in the model information and parameters database 270.
Bar-or: Sec. 0099, Multiple features of the Knowledge Center facilitate accessing and consuming intelligence. The first is its filtering and searching capabilities. When signals are created, they are tagged based on metadata and organized around a taxonomy. The Knowledge Center empowers business users to explore the signals through multiple filtering and searching mechanisms.);
a user interface configured to receive user input for creating and managing marketing (See Kewalramani) campaigns (
Bar-or: Sec. 0009, Often, such code is expensive to develop, is highly customized, and is not easily adopted for other uses in the analytics field. Minimizing redundant costs and shortening development cycles requires significantly reducing the amount of time that data scientists spend managing and coordinating raw data.
Bar-or: Sec. 0069, Signals are hierarchical, such that within Signal Hub 60, a signal array might include simple signals that can be used by themselves to predict behavior (e.g., customer behavior powering a recommendation) and/or can be used as inputs into more sophisticated predictive models.
Bar-or: Sec. 0108, FIG. 21C is a screenshot illustrating a user interface screen generated by the system for displaying dashboard created using the Knowledge Center 600 generated by the system. A user is able to create various type of graphs (e.g. line chart, pie chart, scattered 3D chart, heat map, etc) in the Knowledge Center and populate dashboard with graphs created in certain layout. Dashboard will get refreshed automatically as the backend data get refreshed. A user can also export the dashboard to external system. FIG. 21D is a screenshot illustrating a user interface screen generated by the system for exploring data dictionary created using the Knowledge Center 600 generated by the system. A user is able to learn all the data input tables used the solution, with name, description, metadata, columns, and refresh rate information for each data input table. A user can also further explore individual data input table and learn the meaning of each column in the table. );
an integration module configured to connect with external customer relationship management (CRM) systems (
Bar-or: Sec. 0088, Signal Hub 304 integrates seamlessly with a variety of front-end systems 322 (e.g., use-case specific apps, business intelligence, customer relationship management (CRM) system, content management system, campaign execution engine, etc.).);
a machine learning component configured to analyze user interaction patterns and provide automated data entry suggestions (
Bar-or: Sec. 0007, significant effort is spent on data preparation (e.g., cleaning, linking, processing), and less is spent on analytics (e.g., business intelligence, visualization, machine learning, model building).
Bar-or: Sec. 0061, Descriptive signals could include purchase history, usage patterns, service disruptions, browsing history, time-series analysis, etc.
Bar-or: Sec. 0069, Signals are hierarchical, such that within Signal Hub 60, a signal array might include simple signals that can be used by themselves to predict behavior (e.g., customer behavior powering a recommendation) and/or can be used as inputs into more sophisticated predictive models. );
a dashboard generator configured to create customizable visualizations of marketing (See Kewalramani) data (
Bar-or: Sec. 0108, FIG. 21C is a screenshot illustrating a user interface screen generated by the system for displaying dashboard created using the Knowledge Center 600 generated by the system. A user is able to create various type of graphs (e.g. line chart, pie chart, scattered 3D chart, heat map, etc) in the Knowledge Center and populate dashboard with graphs created in certain layout. Dashboard will get refreshed automatically as the backend data get refreshed. A user can also export the dashboard to external system. FIG. 21D is a screenshot illustrating a user interface screen generated by the system for exploring data dictionary created using the Knowledge Center 600 generated by the system.
Bar-or: Sec. 0121, The Signal Hub manager 800 facilitates easy viewing and management of signals, signal sets, and models. The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process);
a processor configured to:
receive marketing (See Kewalramani) campaign data from the user interface (
Bar-or: Sec. 0066, Signals are organized into signal sets that describe (e.g., relate to) specific business domains (e.g. customer management). Signal sets are industry-specific and cover domains including customer management, operations, fraud and risk management, maintenance, network optimization, digital marketing, etc. Signal Sets could be dynamic (e.g., continually updated as source data is refreshed), flexible (e.g., adaptable for expanding parameters and targets), and scalable (e.g., repeatable across multiple use cases and applications).
Bar-or: Sec. 0083, In step 276, the Hadoop/Yarn and Signal Hub 254 processes the model output data 274 with a business rules execution output transformation for business intelligence and case management user interface
Bar-or: Sec. 0088, Signal Hub 304 integrates seamlessly with a variety of front-end systems 322 (e.g., use-case specific apps, business intelligence, customer relationship management (CRM) system, content management system, campaign execution engine, etc.). More specifically, Signal Hub 304 can communicate with front end systems 322 via a staging database (e.g., MySQL, HIVE, Pig, etc.). Signals are easily fed into visualization tools (e.g. Pentaho, Tableau), CRM systems, and campaign execution engines (e.g. Hubspot, ExactTarget). Data is transferred in batches, written to a special data landing zone, or accessed on-demand via APIs (application programming interfaces).);
store the marketing (See Kewalramani) campaign data in the database (
Bar-or: Sec. 0075, The data models and schemas are stored along with the code and can be governed and maintained using modern software lifecycle tools. Typically, at the beginning of a Signal Hub project, the Workbench 70 is used by data scientists for profiling and schema discovery of unfamiliar data sources. Signal Hub provides tools that can discover schema (e.g., data types and column names) from a flat file or a database table. It also has built-in profiling tools, which automatically compute various statistics on each column of the data such as missing values, distribution parameters, frequent items, and more.
Bar-or: Sec. 0083, Raw data is stored in the raw data database 258 of the Hadoop Data Lake 256. In step 260, Hadoop/Yarn and Signal Hub 254 process the raw data 258 with ETL (extract, transform, and load) modules, data quality management modules, and standardization modules. The results of step 260 are then stored in a staging database 262 of the Hadoop Data Lake. In step 260, Hadoop/Yarn and Signal Hub 254 process the staging data 262 with signal calculation modules, data distribution modules, and sampling modules. The results of step 264 are then stored in the Signals and Model Input database 266. In step 268, the model development and validation module 268 of the model building tools 252 processes the signals and model input data 266. The results of step 268 are then stored in the model information and parameters database 270.);
synchronize the marketing (See Kewalramani) campaign data with the connected external CRM systems (
Bar-or: Sec. 0086, Signal Hub 304 can ingest both internal and external data as well as structured and unstructured data.
Bar-or: Sec. 0088, Signal Hub 304 integrates seamlessly with a variety of front-end systems 322 (e.g., use-case specific apps, business intelligence, customer relationship management (CRM) system, content management system, campaign execution engine, etc.). More specifically, Signal Hub 304 can communicate with front end systems 322 via a staging database (e.g., MySQL, HIVE, Pig, etc.). Signals are easily fed into visualization tools (e.g. Pentaho, Tableau), CRM systems, and campaign execution engines (e.g. Hubspot, ExactTarget). Data is transferred in batches, written to a special data landing zone, or accessed on-demand via APIs (application programming interfaces). Signal Hub 304 could also integrate with existing analytic tools, pre-existing code, and models. Client code can be loaded as an external library and executed within the server. All of this ensures that existing client investments in analytics can be reused with no need for recoding.
Bar-or: Sec. 0093, The YAML tab 510 includes a synchronized editor so that a user can develop the code in a graphical way or in a plain text format, where these two formats are easily synchronized.
Bar-or: Sec. 0097, Similar to excel, users can select from a function list 524 and a column list 526 to create new signals with a description 528 and example code provided at the bottom. Users can use Signal API either in a plain text format or in a graphical way, where these two formats are easily synchronized.
Bar-or: Sec. 0121, The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process);
analyze the marketing (See Kewalramani) campaign data using the machine learning component (
Bar-or: Sec. 0007, significant effort is spent on data preparation (e.g., cleaning, linking, processing), and less is spent on analytics (e.g., business intelligence, visualization, machine learning, model building).
Bar-or: Sec. 0066, Signals are organized into signal sets that describe (e.g., relate to) specific business domains (e.g. customer management). Signal sets are industry-specific and cover domains including customer management, operations, fraud and risk management, maintenance, network optimization, digital marketing, etc. Signal Sets could be dynamic (e.g., continually updated as source data is refreshed), flexible (e.g., adaptable for expanding parameters and targets), and scalable (e.g., repeatable across multiple use cases and applications).);
generate automated data entry suggestions based on the analysis (
Bar-or: Sec. 0061, Descriptive signals could include purchase history, usage patterns, service disruptions, browsing history, time-series analysis, etc.
Bar-or: Sec. 0069, Signals are hierarchical, such that within Signal Hub 60, a signal array might include simple signals that can be used by themselves to predict behavior (e.g., customer behavior powering a recommendation) and/or can be used as inputs into more sophisticated predictive models. );
and generate customized dashboards displaying marketing (See Kewalramani) campaign performance metrics (
Bar-or: Sec. 0108, A user is able to create various type of graphs (e.g. line chart, pie chart, scattered 3D chart, heat map, etc) in the Knowledge Center and populate dashboard with graphs created in certain layout. Dashboard will get refreshed automatically as the backend data get refreshed. A user can also export the dashboard to external system.
Bar-or: Sec. 0121, FIG. 30A is a screenshot of the Signal Hub manager 800 generated by the system. The Signal Hub manager 800 facilitates easy viewing and management of signals, signal sets, and models. The management console allows for the creation of custom dashboards and charting, and the ability to drill into real time data and real time charting for a continuous process..the chart area 804 could provide one or more tabs related to performance, invocation history, data result, and configuration. The data result tab could include information such as data, data quality, measure, PMML, and graphs. The Signal Hub manager 800 could also include additional information as illustrated in window 806, such as performance charts and heat maps. The chart area allows a user to drill down on every workflow to easily understand the processing of all views involved in the execution of a use case.).
Bar-or describes the displaying of performance of marketing.
Bar-or and Kewalramani both teaches taxonomy; campaign data
Bar-or does not explicitly teach marketing taxonomy; taxonomy generation; marketing campaign data.
However, Kewalramani teaches marketing taxonomy; taxonomy generation; marketing campaign data (
Kewalramani: Sec. 0003, marketing automation platforms (MAPs), customer relationship management (CRM) systems, and websites, organize records differently. Thus, a platform that receives data from these different systems, as data sources, must utilize a taxonomy to aggregate records from these data sources. A taxonomy maps data from different data sources into a common and consistent labeling system to ensure compatibility with downstream functions. Without a taxonomy, the downstream functions may be unable to understand the data.
Kewalramani: Sec. 0020, In an embodiment, systems, methods, and non-transitory computer-readable media are disclosed for machine-learning-aided automatic taxonomy for MAPs and CRM systems.
Kewalramani: Sec. 0047, Embodiments of processes for machine-learning-aided automatic taxonomy for MAPs and CRM systems will now be described in detail. It should be understood that the described processes may be embodied in one or more software modules that are executed by one or more hardware processors (e.g., processor 210), for example, as a software application (e.g., server application 112, client application 132, and/or a distributed application comprising both server application 112 and client application 132), which may be executed wholly by processor(s) of platform 110, wholly by processor(s) of user system(s) 130, or may be distributed across platform 110 and user system(s) 130, such that some portions or modules of the software application are executed by platform 110 and other portions or modules of the software application are executed by user system(s) 130.
Kewalramani: Sec. 0052, A MAP is a software platform that automates repetitive tasks that enable an organization to more effectively market on multiple channels (e.g., email, social media, websites, etc.). A MAP will generally provide a dashboard that enables marketing personnel to plan, coordinate, manage, and measure online and offline marketing campaigns, and to manage leads (i.e., potential customers) generated by the marketing campaigns, with the goal of converting those leads into actual customers (i.e., purchasers of a product offered by the organization). Examples of MAPs include the Marketo™ products offered by Marketo, Inc. of San Mateo, Calif., the Eloqua™ product offered by Oracle Corp. of Austin, Tex., the Pardot™ product offered by Salesforce.com, Inc. of San Francisco, Calif., the products offered by Hubspot, Inc., of Cambridge, Mass., and the like.
Kewalramani: Sec. 0057, relevant data that may be normalized and stored in the common intermediate representation for each activity record that is acquired from a MAP may include, without li