The disclosed embodiments generally relate to the assisted onboarding of complex datasets. More specifically, example embodiments relate to graphical user interfaces configured for creating scripts that onboard multiple complex datasets into a cohesive single dataset used for predictive analytics.
There is a growing trend among companies to use large quantities of information collected about customers and consumers. For example, such information may be analyzed to increase sales, through more efficient advertising. Companies advertise products online in a variety of different ways, including websites (e.g., social. media site, search engines, news sites), social media sites (e.g., Facebook, Twitter, instagram, Linkedin, Pinterest, tumblr, flickr, meetup), and online marketing platforms (e.g., Constant Contact, AWeber, Benchmark, BigHip, Boomerang, Compaigner, iContact, MailChimp). The focus of most companies is usually increasing sales or visibility of the company, by utilizing one or more of the aforementioned internet resources. However, these resources also generate a lot of information that can be used to learn more about the people who visit these sites, and the types of products that they may or may not be interested in purchasing.
Predictive analytics may be used to identify relationships and trends from this collected information. However, this collected information may be widely dispersed within an organization. As a non-limiting example, resources may store information in differing formats, schemas, field names, and values. Consequently, processing the stored information into a useable form may require significant time and effort. As a result, there is a need for systems and method for assisting in the processing of such data into a system for analysis.
The disclosed embodiments may include systems, computer-implemented. methods, and non-transitory computer-readable media are provided for on-boarding client data received from multiple information sources. These systems, methods, and media may include a graphical user interface that receives metadata concerning information from one or more information sources. Instructions may be provided using the graphical user interface for mapping the information onto a schema of a trait-based modeling system. These instructions may be used to generate a script for onboarding the client data. The script may be provided to a server, which may execute the script, causing the resulting information to be provided to a trait-based modeling system to optimize a field in the schema of the trait-based modeling system.
The disclosed embodiments may include, for example, a computer-implemented method for onboarding information received from information sources. The method may include receiving metadata on information received from one or more information sources. The method may include receiving instructions for mapping the information onto a schema of a trait-based modeling system, generating a script based on the received instructions, and providing the script for execution. Execution of the script may generate information for provision to the trait-based modeling system. The trait-based modeling system may use the generated information to optimize a field in the schema of the trait-based modeling system.
The disclosed embodiments may include providing for concurrent display a first representation of the schema and a first representation of the metadata. The first representation of the schema may include objects representing fields of the trait-based modeling system displayed in an expandable list format, and the first representation of the metadata may include objects representing databases in the received information. The databased may be displayed in an array. In certain aspects, the disclosed. embodiments may include receiving a user selection of one of the databases in the received information, and responsive to the user selection, providing for display a second representation of the metadata. Receiving instructions may include receiving a user association between the first representation of the schema and the second representation of the metadata.
In certain aspects, the second representation of the metadata may include elements representing fields of the selected database, and the user association may include the user selection of a field of the trait based modeling system, and a field of the selected database. In some aspects, the objects representing databases in the received information may include an indication of a quality of the database. In various aspects, the elements representing the fields of the selected database may include i) at least one indication of the content of the field, and ii) an indication of a quality of the field. In some aspects, generating a script may include generating a script to optimize the selected field using the trait-based modeling system. In certain aspects, generating a script may include generating a script to perform natural language processing on the contents of the selected field using the trait-based modeling system.
The disclosed embodiments may further include providing for display a first representation of the schema including objects representing fields of the trait-based modeling system displayed in an expandable list format. The disclosed embodiments may also further include receiving a user selection of an object in the first representation representing a first field of the trait-based modeling system, and responsive to the user selection, providing for display a first representation of the metadata including at least one indication of the relevance of the metadata to the first field of the trait-based modeling system.
The disclosed embodiments may further include providing for display a representation of the metadata comprising elements representing fields of a database in the received information. In certain aspects, the disclosed embodiments may also further include receiving a user selection of a field of the database to filter. In various aspects, the disclosed embodiments may also include, responsive to the user selection, providing for display filtering options based on the contents of the selected field and receiving user instructions for filtering the selected field based on the filtering options. Generating a script may include generating a script to filter the selected field of the database.
The disclosed embodiments may further include providing for display a first representation of the metadata including elements representing fields of a first database in the received information. In certain aspects, the disclosed embodiments may also include receiving a user selection of a field of the first database as a first merger field. In various aspects, the disclosed embodiments may further include providing for display a second representation of the metadata comprising elements representing fields of a second database in the received information, responsive to the user selection of the first merger field. In some aspects, disclosed embodiments may include receiving a user selection of a second field in the second database as a second merger field corresponding to the first merger field, and responsive to the user selection of the second merger field, providing for display an indication of a connection between the first database and the second database. Generating a script may include generating a script to create a third database by merging the first database and the second database by the first merger field and the second merger field. In certain aspects, the second representation of the metadata indicates suitable merger fields, based on the selection of the first merger field.
The disclosed embodiments may further include providing for display a first representation of the metadata including elements representing fields of a first database in the received information. In certain aspects, the disclosed embodiments may include receiving a user selection of at least one first field in the first database, providing first prescriptive metric options based on the contents of the selected at least one first field, and receiving first instructions for creating the prescriptive metric responsive to the first prescriptive metric options. Generating a script may include generating a script to create the prescriptive metric based on the first instructions and to include the prescriptive metric in the resulting information provided to the trait-based modeling system.
The disclosed embodiments may further include providing for display a second representation of the metadata comprising elements representing fields of a second database in the received information. In certain aspects, the disclosed embodiments may include receiving a user selection of at least one second field in the second database, providing second prescriptive metric options based on the contents of the at least one selected second field, and receiving second instructions for creating the prescriptive metric responsive to the second prescriptive metric options. Generating a script to create the prescriptive metric based on the first instructions may include generating the script to create a prescriptive metric based on the first instructions and the second instructions.
The disclosed embodiments may further include providing for display a list of supplementary sources of information and receiving a user selection of at least one supplementary source of information. Generating a script may include generating a script to include the selected at least one supplementary source of information in the resulting information provided to the trait-based modeling system.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosed embodiments, as claimed.
The drawings are not necessarily to scale or exhaustive. Instead, emphasis is generally placed upon illustrating the principles of the inventions described herein. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. In the drawings:
Reference will now be made in detail to exemplary embodiments, which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. It is apparent, however that the embodiments shown in the accompanying drawings are not limiting, and that modifications may be made without departing from the spirit and scope of the present disclosure.
According to some embodiments, the system and methods consistent with this disclosure provide a system for onboarding client data.
In an embodiment, server 102 may include one or more applications or scripts that generate metadata from the provided information. For example, the application or script may generate metadata about the type, structure, content, and/or attributes of the provided information. As shown in element 201 of
Server 103 may include one or more applications for conducting the on hoarding or mapping process. For example, server 103 may contain, or be connected to, one or more web servers that, as shown in element 202, provide instructions for generating a user interface to a user device 104. The user device 104 may include, for example, one or more of a personal computer, laptop, tablet, smartphone, mobile device. The user device 104 may include one or more of a processor, a memory, computer readable storage medium, a display, and user interfaces. The user device 104 may include a web browser that generates a user interface based on the instructions from the one or more web servers.
A display of user device 104 may present the user interface to a user 105. The user interface may be designed to interact with user 105 to conduct an on-boarding or data mapping process. The user 105 may provide user input using the user interface, and the user device 104 may present the user input, as shown in element 203, to server 103. Server 103 may use the user input to generate one or more scripts for processing the information stored (or to be stored) in server 102. As shown in element 204, these scripts may be provided by server 103 to server 102. Server 102 may then execute the scripts to complete the on-boarding or mapping process. If the one or more information sources 101 provide additional information, server 102 may use instructions from the scripts to process (e.g., filter) the additional information as it is received. These scripts may improve the stored information in one or more of the following ways: (i) the scripts may identify relationships between one or more data fields; (ii) the scripts may join data from multiple sources; (iii) the scripts may filter data; and (iv) the scripts may instruct a cleansing routine to be performed on information that remains after the scripts are processed.
In one embodiment, the information stored in server 102 may be used by a trait-based system for identifying, visualizing, predicting, and optimizing relationships between a company's objectives and a company's existing and potential customer base. To this end, the trait-based system may define a number of traits. As used herein, the term trait may refer broadly to any attribute, characteristic, value, or other factor associated with an individual or group of individuals. The detailed description below provides further examples of such traits.
For example, when receiving information about an individual, the trait-based system 100 may comprise a relationship-determining component, implemented in software, hardware, firmware, or a combination of the three. The relationship-determining component may comprise relationship-determining algorithms that may determine correlations, between the information collected about an individual and traits that the individual may or may not have. These correlations may be described using a numerical value, textual identifier, graphical icon, color, opacity, or other suitable method of representing the relationship. The correlations may represent how strongly the information is related to the traits, including the lack of any relationship at all. The relationship may also be identified as positive, negative, or neutral. The term “positive” may broadly refer to a relationship where the existence of, or a change in, one member of the relationship corresponds to a similar existence of or a similar change in, the other members. The term “negative” may broadly refer to a relationship where the existence of, or a change in one member of the relationship corresponds to a lack of the existence of, or an inverse change in, the other members. The term “neutral” may broadly refer to a relationship where the existence of, or a change in one member of the relationship does not correspond to any existence or change in the other members.
In some embodiments, the system 100 may also be configured to receive a metric, representing an overall goal or interest of a company. As used herein, the term metric broadly refers to any attribute, measurement, goal, strategy, or other information of interest. The metric may also consist of a number of sub-metrics. As used herein, the term sub-metric broadly refers to any attribute, measurement, goal, strategy, or other information related to the metric. For example, the system may use a relationship-determining component to identify relationships between one or more metrics and the traits of an individual. The system may also determine the relationship between groups of traits and the metric, and individuals and the metric. In this manner, the organization may gain information on how personality types or individuals contribute to a metric of interest.
The system 100 may also contain a visualization component that may be used to display the correlations between traits that an individual, or group of people, may or may not possess, and the information collected about that person or group of people.
All components of
The various components of the system of
In one embodiment, a method for on-boarding or mapping information into a schema of another system (e.g., the trait-based system discussed above) is disclosed. The method or portions of the method, discussed below, may be repeated for each information source 101. While discussed as a particular sequence of steps, a person of ordinary skill in the art would understand that the process could be performed by combining, removing, or reordering the steps.
The exemplary method may comprise a further step of receiving instructions 310 from the user device 104. These instructions may be received in response to the generated user interface provided by server 103. In some embodiments, these instructions may specify associations between fields of the trait-based modeling system and the received information. In other embodiments, these instructions may specify tables containing fields similar to an indicated a field of the trait-based modeling system. In another embodiment, these instructions may specify filtering of received information. These instructions may specify generation of a third table based on a first table and a second table in the received information in another embodiment. These instructions may specify generation of a prescriptive metric in another embodiment. In some embodiments, these instructions may specify provision of supplementary sources of information to the trait-based modeling system.
The method may comprise a step of presenting, on user device 104, the user 105 with an option of implementing the instructions consistent with the disclosed embodiments. Server 103 may use these instructions to generate a script (step 315). As discussed above, that script may then be sent to server 102 and executed on the information (step 320). For example, the script may join information based on the mapping identified using the user interface. Running the script may also include running one or more cleansing processes on the resulting set of information. The resulting information may be provided by server 102 to the trait-based system for modeling. In some embodiments, this step may be completed without modifying the underlying information. These steps and further variations on these steps are described in greater detail below.
This method may comprise the step 410 of receiving a user selection 203 consistent with disclosed embodiments. In some embodiments, user selection 203 may indicate an object in the first representation of the metadata. The selected object may correspond to a table in the received information.
This method may comprise the step 415 of providing for display on the user device 104 a second representation of metadata consistent with the disclosed embodiments. In some embodiments, this second representation may be provided for concurrent display with the first representation of the schema of the trait based modeling system. In such embodiments, this second representation may show fields in the selected table. In some embodiments, the second representation of the table is a matrix with a row for each field in the table. In these embodiments, the elements of the matrix may comprise at least one indication of the content of the field and an indication of the quality of the field. In some embodiments, such content indications may include matrix elements displaying additional metadata associated with the selected table. This additional metadata may include identifiers, datatypes, number of datapoints, and number of distinct datapoints for each field. Quality of a field may be indicated at least by one or more of the color, font, size, placement, or shape of at least one or more matrix elements. The second representation may include a mapping column for associating a field of the selected table and a field of the trait-based modeling system.
This method may comprise the step 420 of receiving a user association between a field of the selected table and a field of the trait-based modeling system. In some embodiments, this association may comprise indicating the trait of the trait-based modeling system and indicating the field of the selected table. In such embodiments, this indication may be effectuated through any number of user actions familiar to one of ordinary skill in the art. For example, as described above, user 105 may interact with user device 104 to indicate a field of the trait-based modeling system by pressing a keyboard key, clicking a mouse button, or gesturing on a touch-sensitive interface. User 105 may similarly interact with the user device 104 to indicate a field of the selected table. In some embodiments, a single user action may indicate both the field in the trait-based modeling system and the field of the selected table. For example, user 105 may tap and drag a representation of the indicated field of the trait-based modeling system from a first location to a second location of a touch-sensitive interface of user device 105. In such embodiments, the first location may correspond to the field of the trait-based modeling system. The second location may correspond to an element of the matrix. In such embodiments, the column of this element may be the mapping column and the row may correspond to the selected field of the table.
This method may comprise the step of providing, for display on user device 104, an indication of the association between the field of the trait-based modeling system and the field of the table consistent with disclosed embodiments. This indication may be provided in the matrix for the table. In some embodiments, this indication may be provided in the element of the mapping column corresponding to the indicated field of the selected table. For example, this element of the mapping column may be populated by the representation of the trait-based modeling system dragged from the expandable list.
As described above, this method may comprise a script generation step consistent with disclosed embodiments. In some embodiments, the server 103 may generate a script based on the instructions received from the user device 104. In some embodiments, this script may specify the optimization of the selected field of the table using the trait-based modeling system. In other embodiments, this script may specify performing natural language processing on the content of the selected field using the trait-based modeling system. The schema for the trait-based modeling system may differentiate between content provided to a third party and content received from a third party. For example, the natural language processing may be performed on solicitations provided to third parties to identify effective language. As an additional example, natural language processing may be performed on complaints received from customers to identify weaknesses in customer service.
As described above with reference to
This method may further include the step 610 of receiving a user selection 203 of a first merger field. In some embodiments, this user selection may be effectuated through any number of user actions familiar to one of ordinary skill in the art. For example, user 105 may interact with user device 104 to indicate the first merger field by pressing a keyboard key, clicking a mouse button, or gesturing on a touch-sensitive interface.
This method may further include the step 615 of providing a second representation of the diagnostic metadata 201 for display on the user device 104. In some embodiments, this representation of diagnostic metadata 201 may represent fields of a second table. In some embodiments, the second representation of the table is a matrix with a row for each field in the table. In these embodiments, the elements of the matrix may comprise at least one indication of the content of the field and an indication of the relevance of the field. In some embodiments, such content indications may include matrix elements displaying additional metadata associated with the selected table. This additional metadata may include identifiers, datatypes, number of datapoints, and number of distinct datapoints for each field. Relevance of a field may be indicated at least by one or more of the color, font, size, placement, or shape of at least one or more matrix elements. For example, rows of the matrix corresponding to relevant fields may be placed at the top of the matrix. In some embodiments, such rows may be further called out with icons, such as plus signs. The determination of relevance may be made according to artificial intelligence methods. The second representation may include a mapping column for associating the first merger field and a second merger field. User 105 may interact with the user device 104 to indicate a second merger field in the second table by any number of user actions familiar to one of ordinary skill in the art (step 620). For example, user 105 may interact with user device 104 to indicate the first merger field by pressing a keyboard key, clicking a mouse button, or gesturing on a touch-sensitive interface. In sonic embodiments, the fields of the first table and the fields of the second table may be concurrently displayed. In such embodiments, a single user action may indicate both the first merger field of the first table and the second merger field of the second table. For example, user 105 may tap and drag a representation of the indicated field of the trait-based modeling system from a first location to a second location of a touch-sensitive interface of user device 105. In such embodiments, the first location may correspond to the first merger field of the first table. The second location may correspond to an element of the matrix. In such embodiments, the column of this element may be the mapping column and the row may correspond to the selected second merger field of the second table.
This method may further comprise the step 625 of providing, for display on user device 104, an indication of the relationship of the first table and the second table consistent with disclosed embodiments. In such embodiments, this indication may show that the script may specify the combination of the first table and the second table according to the values of the first merger field of the first table and second merger field of the second table. In some embodiments, this indication may be provided in the matrix for the second table. For example, the row of the mapping column corresponding to the merger field may include an indication of the combination, such as a field identifier for the first merger field. In other embodiments, the server 103 may provide user device 104 a third representation of diagnostic metadata 201, indicating that the script will specify the combination of the first table and the second table. In such embodiments, the indication distinguishing the second table from tables not combined with the first table may include at least one of color, placement, or font, or the addition of an icon to the representation of the second table. For example, the third representation of the second table may include a check mark or plus sign to indicate that it will be combined with the first table.
As described above, the method may further comprise the step 630 of generating or modifying a script to create a third table. This script may specify the creation of the third table from the second table and the first table by merging according to the values of the first and second merger fields. The script may specify that the third table include every field in either the first or second table. For each unique value of the first and second merger fields, a record may be created in the third table.
The methods disclosed herein may be implemented as a computer program product comprising computer-readable instructions. Computer-readable instructions may be stored on a tangible non-transitory computer-readable medium, such as a flexible disk, a hard disk, a CD-ROM (compact disk-read only memory), an MO (magneto-optical) disk, a DVD-ROM (digital versatile disk-read only memory), a DVD RAM (digital versatile disk-random access memory), or a semiconductor memory. Alternatively, the methods may be implemented in hardware components or combinations of hardware and software of a data processing apparatus, e.g., a. programmable processor, a computer, or multiple computers. The computer program may be written in any form of programming language, including compiled or interpreted languages, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
In the preceding specification, the embodiments have been described with reference to specific exemplary embodiments. It will however, be evident that various modifications and changes may be made without departing from the broader spirit and scope of the exemplary embodiments as set forth in the claims that follow. The specification and drawings are accordingly to be regarded as illustrative rather than restrictive sense. Other embodiments of the present disclosure may be apparent to those skilled in the art from consideration of the specification and practice of the description disclosed herein.
This application claims the benefit of U.S. Provisional Application No. 61/981,887, filed Apr. 21, 2014, which is incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US15/26649 | 4/20/2015 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61981887 | Apr 2014 | US |