SYSTEM FOR HIGH VOLUME DATA ANALYTICS AND DATA INGESTION

- Nanigans, Inc.

A system and user interface capable of effectively manipulating high volumes of data is provided. The system and/or user interface is specially-configured to aggregate large data volumes and translate the large data volumes into summary information associated with navigable categorizations (e.g., categorizations linked to selectable visualizations in the user interface) and groupings of management functions that enable dynamic selection and visualization of portions of the large data volumes. In one particular example, the system and/or user interface is adapted to generate selectable panels having a plurality of management tools displayed coextensive with portions of the large volumes of data. Such panels may be particularly useful for managing a placement (e.g., an advertisement) while reviewing or managing large amounts of information, such as ad placement and performance information for hundreds or thousands or advertisements including placements on third party systems.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
RELATED APPLICATIONS

This application is a continuation-in-part of and claims priority under §120 to U.S. patent application Ser. No. 15/166,815, entitled “GRAPHICAL USER INTERFACE FOR HIGH VOLUME DATA ANALYTICS,” filed on May 27, 2016, and Ser. No. 15/166,852, entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTIC INTEGRATION AND CHANNEL-INDEPENDENT ADVERTISEMENT GENERATION,” filed on May 27, 2016; each of which applications claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 62/168,303 entitled “GRAPHICAL USER INTERFACE FOR HIGH VOLUME DATA ANALYTICS,” filed on May 29, 2015, U.S. Provisional Application Ser. No. 62/190,451 entitled “SYSTEM AND METHOD FOR ACCOUNT INGESTION,” filed on Jul. 9, 2015, U.S. Provisional Application Ser. No. 62/208,241 entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTICS AND DATA INGESTION,” filed on Aug. 21, 2015, and U.S. Provisional Application Ser. No. 62/239,145 entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTIC INTEGRATION AND CHANNEL-INDEPENDENT ADVERTISEMENT GENERATION,” filed on Oct. 8, 2015; U.S. patent application Ser. No. 15/206,581, entitled “SYSTEM AND METHOD FOR ACCOUNT INGESTION,” filed on Jul. 11, 2016 claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 62/190,451 entitled “SYSTEM AND METHOD FOR ACCOUNT INGESTION,” filed on Jul. 9, 2015, U.S. Provisional Application Ser. No. 62/208,241 entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTICS AND DATA INGESTION,” filed on Aug. 21, 2015, and U.S. Provisional Application Ser. No. 62/239,145 entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTIC INTEGRATION AND CHANNEL-INDEPENDENT ADVERTISEMENT GENERATION,” filed on Oct. 8, 2015; and this application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application Ser. No. 62/208,241 entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTICS AND DATA INGESTION,” filed on Aug. 21, 2015, and U.S. Provisional Application Ser. No. 62/239,145 entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTIC INTEGRATION AND CHANNEL-INDEPENDENT ADVERTISEMENT GENERATION,” filed on Oct. 8, 2015, all of which previously identified applications are incorporated herein by reference in their entirety.

BACKGROUND

A variety of platforms exist to manage complex advertising networks. Under many conventional approaches no unified management system completely integrates management systems having different formats, different analysis metrics, and different functionality or control operations. Further, portability of existing networks is severely limited by the differing formats and differing operations established to manage the existing networks.

SUMMARY

According to various aspects of the present invention, a user interface capable of effectively manipulating high volumes of data is provided. The system and/or user interface is specially configured to aggregate large data volumes and translate the large data volumes into summary information and incorporate navigable categorizations that enable dynamic selection and visualization of portions of the large data volumes. Such interfaces may be particularly useful for managing large amounts of information, such as ad placement and performance information that is generated within an advertising network. In some embodiments, the system and user interface enables management of hundreds, and even hundreds of thousands of currently executing placements in real time. The management functions can trigger actions on various content provider systems to modify, control, and even create new placements in real time, for example, as performance data is captured and/or analyzed on the system.

For example, according to one embodiment, an interface may be provided that is a data-centric pivot table that allows dynamic navigation between layers of ad placement information where deeper layers are accessed to provide access into more specific information. The underlying data can be organized into hierarchical structures and the user interface optimized to leverage the data hierarchies. For instance, a user may be presented an interface that allows a user to navigate through performance analysis data (e.g., ad placement performance information) visualized according to hierarchical structures to locate specific ads and their performance within the hierarchical view. The specific ad information that is displayed may include performance information specific to the filters used to navigate to the specific ad. Such an interface is beneficial, as it permits an advertising manager to quickly locate relevant ad placement details through a data-driven interface. It is further realized that providing management functions organized in similar or parallel hierarchies generates an intuitive structure for both the data and numerous management operations that enhance use of the system, reduce time/computer operations needed to find data, reduce time/computer operations needed to access data, reduce user error in selecting management functions, and reduce user error in navigating to desired management functions. According to some embodiments, the corresponding reduction in user error yields a far more efficient system. For example, even minimal reductions in user error is magnified over a massive user base and translates directly into reduce computation, reduce memory allocation, and greater systematic efficiency.

In one embodiment, the interface may include the ability to present an inline summary of an ad placement within a tabular view of the performance data. Summary information associated with the displayed ads may be changed dynamically depending on the filters or other user selections within the interface. Such capabilities may permit a user (an advertising manager or other user type that manages ad placements) to quickly locate relevant ads within the user interface that relate to the displayed placement performance data.

According to one aspect, the user interface is specially configured to manage, aggregate, and dynamically select data for visualization responsive to constantly updating data feeds (e.g., live placement data associated with an advertising network). In one example, the dynamic nature of the received data, and allowing a user to selectively control their view of the changing data provides improvement over some conventional systems. In one implementation, a database management component is configured to receive the dynamic data feeds, translate the dynamic data feeds into standardized formats, and group the dynamic data into dynamically selectable and displayable elements.

According to one aspect of the present invention, a visualization interface may be provided that includes a web-enabled pivot table used to analyze and present ad performance data. According to one embodiment, advertisers may use such a pivot table to view, sort through, and visualize multiple dimensions of campaign data. Such tables, according to various embodiments, are configured with the attributes and metrics that matter by adding predefined audiences, creative elements, data-related attributes or placement details, followed by the metrics that determine campaign success. Once the selections within the interface have been made, the user may be permitted to simply drag and drop to re-order metrics to create a customized campaign dashboard. Such interfaces may be modified to include a summary view associated with a specific ad within the table based on specific user selections within the pivot table. This permits, for example, a user to selectively create a dashboard using certain metrics while at the same time seeing the specific ad placements and their associated summaries according to the configured dashboard. For instance, if an advertiser wants to see which creative was performing the best, the user is permitted to sort by key metrics (e.g., ROI, LTV, CTR, CPC, etc.) and locate specific summary view information relating to those placements.

According to various aspects, the system for managing and displaying high data volume analytics can be integrated with data ingestion subsystems. The data ingestions systems can be configured to access existing platforms, capture advertising networks made of advertising nodes or adverting placements. The ingestion subsystems can be configured to capture and format high volumes of data into native formats usable by the user interface discussed above. According to various aspects, an ingestion subsystem is provided for ingesting existing advertisement networks. In some embodiments, the ingestion subsystem is specially configured to capture data from known advertising platforms (e.g., FACEBOOK, TWITTER, etc.) and further tailored to capture specific data proceed on those systems (e.g., FACEBOOK action data).

In one embodiment, the ingestion subsystem is specially configured to capture existing advertisements, advertising campaigns, or any existing marketing accounts, and aggregate, translate, and/or associate the existing information into an automated management system or a consistent management system. Various embodiments of the ingestion subsystem enable users to port large advertising campaigns or large volumes of advertisements into an automated management system. According to some implementations, it is also realized that a need exists not only for porting advertisements or advertising campaigns between service providers, but also a need exists to effectively port historic data generated by different service providers. According to one embodiment, in order for such transitions to be effective, various embodiments enable immediate use of the ported historic data to optimize and/or automate execution of advertisements and/or advertising networks and management functions (e.g., end spend, modify advertisement, bid up position, etc.).

In various embodiments, the ingestion subsystem is configured to capture and translate advertising information from a first provider format into a destination format associated with an automated management and performance analysis system. The destination format is configured to enable predictive optimizations on the execution and management of individual advertisements, groups of advertisements, and entire advertising campaigns.

Conventional systems attempt to provide for portability of advertising campaigns between providers. These systems provide for moving advertisements, however, conventional systems typically fail to integrate historical data into any new functionality provided, among other issues. Accordingly, various embodiments of the ingestion subsystem are configured to translate historical data into a format usable by a destination management system. In some embodiments, after porting advertising campaigns by the ingestion subsystem, a new management system can operate on historical data to predict performance and/or optimize execution of advertisements. After the ingestion subsystem has translated an advertising campaign, the destination management system can then enable any level of service. For example, the destination management system can incorporate, or not, historical data into performance predictions, determinations of bid value, automated bidding control, shutting down advertisements, creating new advertisements, etc. According to one embodiment, user roles are defined and the destination management system to provide varying levels of automated assistance and analysis information. In some embodiments, regardless of the service level being employed, the ingestion subsystem captures and associates any historical information made available by the first service provider with the destination management system format, so that all the historic information is later useable

According to one embodiment, the ingestion subsystem is specially configured to capture advertisement data (e.g., existing ads, performance values, historic information, any management rules, etc.) for a service provider having a first format for data organization. In some embodiments, the first format can be pre-defined and the ingestion subsystem can translate or associate the first formation to a destination format for advertising data. In one example, the system is specially configured to capture information from the known FACEBOOK platform. The ingestion subsystem is configured to translate and/or associate any available advertising information into the destination format, and store any of the translated and/or associated advertisements and/or historical information on a destination advertisement management system. In further embodiments, how the historic information is employed by the destination advertisement management system depends on an assigned user role and service level.

According to another aspect, the high data volume analytic system is configured to handle and display results from millions of attributes and data values that are constantly being updated. Under conventional approaches such implementations (e.g., using PHP script to create a plain HTML table with one million rows) immediately result in problems. The problems include requiring downloading of hundreds of megabytes (depending on row size) to load the table and data. When loaded in a browser, the browser will create millions and millions of DOM elements and run out of memory. Under such strain, the browser will freeze and crash.

Conventional solutions to such an approach include paging long tables for loading into web browsers. However, in such settings, usability of that volume of data is questionable at best. From a usability point of view, simply having a million rows loaded is effectively a waste of resources, as a user can never reasonably view all of the data or records.

According to one embodiment, the high data volume analytics system handles both issues. In one environment, the data volume that must be handled and understood by the end user is based on creating and managing thousands, hundreds of thousands, and millions of ads or ad placements. The “ad” can include a creative design and some targeting parameters that can be automatically distributed to an ad network (e.g., FACEBOOK). Automation enables the system to distinguish between ads that have good value, and ads that are likely throwing money away—equally important, in some examples, is that the system can convey high volumes of data to an end user, understandably and manageably, through customized displays.

In some embodiments, the user interfaces operate as web-enabled pivot tables. The user interfaces allow user to select portions of data and pivot intuitively into different segments of data, navigate from summary views into highly detailed data attributes seamlessly, and link management functions contextually to the data being viewed. According to one embodiment, the system provides the ability to navigate and manage massive amounts of data intuitively.

Further, under the automated analysis provided good ads survive (e.g., meet performance targets), and bad ads are killed (e.g., system automatically pauses any spending and/or placement with an ad network). In parallel, the system presents these massive volumes of data in accessible and navigable data visualizations (as described in greater detail below). The automation operations for selecting good advertisements and eliminating bad are automatically executed by the system constantly and are reflected in the displays of the data. The result is constantly evolving data and data structures, and correspondingly evolving user interfaces that convey the changes on managed ad placements (i.e., ads).

According to one aspect, a system for generating and displaying a graphical user interface for high volume data analytics is provided. The system comprises at least one processor operatively connected to a memory, the at least one processor when executing, is configured to receive advertising metrics; analyze and group the advertising metrics into an advertising demographic hierarchy; determine summary information for the advertising metrics in each level of the advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, among others); and generate a navigable user interface display comprising: at least one selectable drawer associated with a hierarchical group of advertising metrics (e.g., site, budget pool, strategy group, ad set, placement, among other options), wherein the at least one selectable drawer includes a display of a title of a respective hierarchical group; and wherein the at least one selectable drawer is associated with a respective summary view of the advertising metrics within the hierarchical group.

According to one embodiment, the navigable user interface display includes a first portion configured to display advertising metrics, and a selectably visualizable second portion configured to display management functions for placements managed with the system. According to one embodiment, the second portion is configured to be displayed with a visualization of moving into the display screen from a side edge of the display screen, responsive to selection. According to one embodiment, the second portion organizes management functions into a plurality of groupings including at least attribute functions and attribute subgroupings; filter functions and filter subgroupings; and metric visualization functions with metric subgroupings. According to one embodiment, the plurality of groupings are display in the second portion in a visualization order, such that data associated with each sub grouping is configured to display in the first portion of the display reflecting the ordering of the groupings and subgrouping shown in the second portion of the display.

According to one embodiment, the second portion of the display is accessible by at most one click or computer operation in the user interface. According to one embodiment, the second portion of the display is accessible by at most one click or computer operation in the user interface regardless of content being shown in the first portion of the display. According to one embodiment, the metric visualization functions available in the second portion of the display are configured to generate visualization of FB Action metrics in the first portion of the display responsive to selection. According to one embodiment, the visualization of the FB Action metrics occurs responsive to selection of a first sub grouping in the second portion of the display to trigger visualization of respective metrics available in the first sub grouping within the first portion of the display, and responsive to selection of one or more of the respective metrics in the first sub grouping.

According to one embodiment, the first portion of the display includes a main body, a separator visualization for controlling a display boundary of the main body and an adjacent display portion, and a minor portion adjacent to the separator comprising at least a portion of the adjacent display portion. According to one embodiment, the user interface is configured to maintain the ordering of information in the second portion of the display when displaying the associated data in the first portion of the display. According to one embodiment, the ordering is maintained in at least the main or minor portion of the display. According to one embodiment, the at least one selectable drawer includes a display of a membership number associated with the respective hierarchical group.

According to one embodiment, the system specifies the advertising demographic hierarchy to include at least a first hierarchy level corresponding to a strategy grouping of ad plans, a second hierarchy level corresponding to an ad plan organizing a group of placements, and at least a third hierarch level for organizing the placements. According to one embodiment, the system is further configured to access and display the advertisement hierarchy according to a first default display absent user intervention, wherein the first default display, displays the hierarchy organized based on strategy group, with the strategy group displaying one or more ad plans, and with the one or more ad plans displaying the associated placements. According to one embodiment, the system displays a second display of the advertisement hierarchy responsive to user specification, wherein the user specification re-orders the levels of the hierarchy.

According to one embodiment, the system is configured to execute filtering operations responsive to re-order the levels of the hierarchy and display at least the first, second, and third levels of the hierarchy dynamically in any order responsive to user selection of the order. According to one embodiment, the system is further configured to save properties of the hierarchy as a temporary view accessible in an administration display bar. According to one embodiment, the system is configured to save currents views until deleted responsive to user selection in the administration display bar. According to one embodiment, the administration display bar is configured to be visualized responsive to selection in the user interface. According to one embodiment, the administration display bar when triggered is configured to display from a left side of the screen and display over currently visualized advertising metrics.

According to one embodiment, the system further comprises a rendering engine, executed by the at least one processor configured to selectively render hierarchical groupings and selected sub-sets of the hierarchical data, wherein the rendering engine is further configured to organize massive data structures (e.g., data tables with greater than 100,000 rows), into recursive hierarchies of rows, such that the recursive hierarchies define sub-sets of the hierarchical data, and a first sub-set of the hierarchical data can be displayed in a web browser on an end user system, and triggering loading and/or displaying of a second sub-set of the hierarchical data responsive to scrolling via the web browser. According to one embodiment, the rendering engine is configured to separate a large number of data element into a first level of row groupings, wherein the first level of row groupings is selected based on a capability to quickly render the first level groups (e.g., 8, 9, 10, 11, 12 row groups, among other options).

According to one embodiment, all data to be displayed is a first one of the first level groupings is analyzed to further segregate the data of the first one of the first level groupings into at least second level row groupings. According to one embodiment, a first one of the second level groupings is analyzed to determine is further sub-groupings are required, and segregating the data of the first one of the second level groupings in response to a positive determination, and displaying or loading the data from the first one of the second level groupings in response to a negative determination. According to one embodiment, the rendering engine is configured to recursively segregate the large number of data elements into multiple levels of row groupings beyond the first level, responsive to determining that the data organized by the first level grouping exceeds a threshold amount (e.g., over 10-100 rows of data, volume of data cannot be quickly (<1 second rendered). According to one embodiment, the rendering engine loads or displays a first one of a sub-level grouping in a user interface responsive to determining that the first one of the sub-level grouping meets any display criteria (e.g., lower than threshold number of rows, displayable in <1 second, etc.).

According to one aspect, a system for high volume data visualization is provided. The system comprising: at least one processor operatively connected to a memory, the at least one processor when executing, is configured to manage display of high data volumes in a user interface; a user interface (“UI”) component configured to: display high volume data analytics; and display information dimensions associated with advertisements in a selectable pivot table display. According to one embodiment, the UI component is further configured to: receive current advertising metrics; analyze and group the current advertising metrics into an advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, among others) configured for display in a selectable visual interface.

According to one embodiment, the UI component is further configured to dynamically generate visual displays on historical advertising metrics responsive to user selection of information dimensions (e.g., descriptive information for the advertisements or information associated with the advertisements) associated with one or more advertisements. According to one embodiment, the UI component is configured to display metrics selections that are associated with data operations for calculating data values on the displayed data. According to one embodiment, the UI component is configured to display attribute selections, wherein the attribute selections cause the at least one processor to execute GROUP BY functions of the displayed data. According to one embodiment, the UI component is further configured to display summary information for the advertising metrics in each level of an advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, among others). According to one embodiment, the UI component is further configure to generate a navigable user interface display including at least one selectable drawer associated with a hierarchical group of advertising metrics (e.g., site, budget pool, strategy group, ad set, placement, among other options), wherein the at least one selectable drawer includes a display of a title of a respective hierarchical group; and wherein the at least one selectable drawer is associated with a respective view of advertising data within the hierarchical group.

According to one aspect, a computer implemented method for generating and displaying a graphical user interface for high volume data analytics is provided the method comprises receiving, by at least one processor, advertising metrics based on executing placements; analyzing and grouping, by the at least one processor, the advertising metrics into an advertising demographic hierarchy; determining, by the at least one processor, summary information for the advertising metrics in each level of the advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, among others); and generating, by the at least one processor, a navigable user interface display comprising at least one selectable drawer associated with a hierarchical group of advertising metrics (e.g., site, budget pool, strategy group, ad set, placement, among other options), wherein the at least one selectable drawer includes a display of a title of a respective hierarchical group; and wherein the at least one selectable drawer is associated with a respective summary view of the advertising metrics within the hierarchical group.

According to one embodiment, the method further comprises generating the navigable user interface display to include a first portion configured to display advertising metrics, and a selectably visualizable second portion configured to display management functions for placements managed with the system. According to one embodiment, the method further comprises displaying the second portion with a visualization, the visualization reflecting moving into the display screen from a side edge of the display screen, responsive to selection. According to one embodiment, the method further comprises organizing management functions into a plurality of groupings including at least attribute functions and attribute subgroupings; filter functions and filter subgroupings; and metric visualization functions with metric subgroupings. According to one embodiment, the method further comprises displaying the plurality of groupings in the second portion in a visualization order, such that data associated with each sub grouping is configured to display in the first portion of the display reflecting the ordering of the groupings and subgrouping shown in the second portion of the display.

According to one embodiment, the method further comprises providing access to the second portion of the display by at most one click or computer operation in the user interface. According to one embodiment, the method further comprises providing access to the second portion of the display by at most one click or computer operation in the user interface regardless of content being shown in the first portion of the display. According to one embodiment, the method further comprises generating visualization of FB Action metrics in the first portion of the display responsive to selection of the metric visualization functions available in the second portion of the display. According to one embodiment, the method further comprises generating the visualization of the FB Action metrics occurs responsive to selection of a first sub grouping in the second portion of the display and triggering visualization of respective metrics available in the first sub grouping within the first portion of the display, and responsive to selecting of one or more of the respective metrics in the first sub grouping.

According to one embodiment, the method further comprises generating the first portion of the display with a main body, a separator visualization for controlling a display boundary of the main body and an adjacent display portion, and a minor portion adjacent to the separator comprising at least a portion of the adjacent display portion. According to one embodiment, the method further comprises maintaining with the user interface the ordering of information in the second portion of the display when displaying the associated data in the first portion of the display. According to one embodiment, the method further comprises maintaining the ordering in at least the main or minor portion of the display. According to one embodiment, the at least one selectable drawer includes a display of a membership number associated with the respective hierarchical group.

According to one embodiment, the method further comprises specifying the advertising demographic hierarchy to include at least a first hierarchy level corresponding to a strategy grouping of ad plans, a second hierarchy level corresponding to an ad plan organizing a group of placements, and at least a third hierarch level for organizing the placements. According to one embodiment, the method further comprises accessing and displaying the advertisement hierarchy according to a first default display absent user intervention, wherein the first default display, displays the hierarchy organized based on strategy group, with the strategy group displaying one or more ad plans, and with the one or more ad plans displaying the associated placements. According to one embodiment, the method further comprises displaying a second display of the advertisement hierarchy responsive to user specification, wherein the user specification re-orders the levels of the hierarchy.

According to one embodiment, the method further comprises executing filtering operations responsive to re-order the levels of the hierarchy and display at least the first, second, and third levels of the hierarchy dynamically in any order responsive to user selection of the order. According to one embodiment, the method further comprises saving properties of the hierarchy as a temporary view accessible in an administration display bar. According to one embodiment, the method further comprises saving currents views until deleted responsive to user selection in the administration display bar. According to one embodiment, the method further comprises generating a display of the administration display bar responsive to selection in the user interface.

According to one embodiment, the method further comprises generating a visualization of the administration display bar when triggered entering into the display screen from a left side of the screen and display over currently visualized advertising metrics. According to one embodiment, the method further comprises selectively rendering hierarchical groupings and selected sub-sets of the hierarchical data, wherein selectively rendering includes organizing massive data structures (e.g., data tables with greater than 100,000 rows), into recursive hierarchies of rows, such that the recursive hierarchies define sub-sets of the hierarchical data, and a first sub-set of the hierarchical data can be displayed in a web browser (e.g., conventional browser) on an end user system, and wherein the rendering engine triggers loading and/or display of a second sub-set of the hierarchical data responsive to scrolling via the web browser. According to one embodiment, the method further comprises separating a large number of data element into a first level of row groupings, wherein the first level of row groupings is selected based on a capability to quickly render the first level groups (e.g., 8, 9, 10, 11, 12 row groups, among other options).

According to one embodiment, the method further comprises analyzing all data to be displayed is a first one of the first level groupings, wherein analyzing includes further segregating the data of the first one of the first level groupings into at least second level row groupings. According to one embodiment, the method further comprises analyzing a first one of the second level groupings to determine further sub-groupings are required, and segregating the data of the first one of the second level groupings in response to a positive determination, and displaying or loading the data from the first one of the second level groupings in response to a negative determination. According to one embodiment, the method further comprises recursively segregating the large number of data elements into multiple levels of row groupings beyond the first level, responsive to determining that the data organized by the first level grouping exceeds a threshold amount (e.g., over 10-100 rows of data, volume of data cannot be quickly (<1 second rendered). According to one embodiment, the method further comprises loading or displaying a first one of a sub-level grouping in a user interface responsive to determining that the first one of the sub-level grouping meets any display criteria (e.g., lower than threshold number of rows, displayable in <1 second, etc.).

According to one aspect, a computer-readable media, that contains instruction that when executed cause a computer system to perform a method for generating and displaying a graphical user interface for high volume data analytics, is provided. The method comprises receiving, by at least one processor, advertising metrics based on executing placements; analyzing and grouping, by the at least one processor, the advertising metrics into an advertising demographic hierarchy; determining, by the at least one processor, summary information for the advertising metrics in each level of the advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, among others); and generating, by the at least one processor, a navigable user interface display comprising at least one selectable drawer associated with a hierarchical group of advertising metrics (e.g., site, budget pool, strategy group, ad set, placement, among other options), wherein the at least one selectable drawer includes a display of a title of a respective hierarchical group; and wherein the at least one selectable drawer is associated with a respective summary view of the advertising metrics within the hierarchical group. According to some embodiments, various computer-readable media contain instructions that when executed perform each of the method embodiments described above.

Still other aspects, embodiments, and advantages of these exemplary aspects and embodiments, are discussed in detail below. Moreover, it is to be understood that both the foregoing information and the following detailed description are merely illustrative examples of various aspects and embodiments, and are intended to provide an overview or framework for understanding the nature and character of the claimed aspects and embodiments. Any embodiment disclosed herein may be combined with any other embodiment in any manner consistent with at least one of the objectives, aims, and needs disclosed herein, and references to “an embodiment,” “some embodiments,” “an alternate embodiment,” “various embodiments,” “one embodiment” or the like are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment. The appearances of such terms herein are not necessarily all referring to the same embodiment. Various aspects, embodiments, and implementations discussed herein may include means for performing any of the recited features or functions.

BRIEF DESCRIPTION OF THE FIGURES

Various aspects of at least one example are discussed below with reference to the accompanying figures, which are not intended to be drawn to scale. The figures are included to provide an illustration and a further understanding of the various aspects and examples, and are incorporated in and constitute a part of this specification, but are not intended as a definition of the limits of a particular example. The drawings, together with the remainder of the specification, serve to explain principles and operations of the described and claimed aspects and examples. In the figures, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every figure. In the figures:

FIG. 1 is block diagram of an example system, according to one embodiment;

FIG. 2A-C are block diagrams of example systems, according to one embodiment;

FIG. 3 is an example view of a user interface, according to one embodiment;

FIG. 4A-B are example views of user interfaces, according to one embodiment;

FIGS. 5-13 are example views of user interfaces, according to some embodiments;

FIGS. 14-21 are example views of user interfaces, according to some embodiments

FIGS. 22A-B are example views of user interfaces, according to some embodiments;

FIGS. 23A-B are example views of user interfaces, according to some embodiments;

FIGS. 24A-B are example views of user interfaces, according to some embodiments;

FIGS. 25A-B are example views of user interfaces, according to some embodiments;

FIGS. 26A-B are example views of user interfaces, according to some embodiments;

FIGS. 27A-B are example views of user interfaces, according to some embodiments;

FIGS. 28A-B are example views of user interfaces, according to some embodiments;

FIGS. 29-30 are example views of user interfaces, according to some embodiments;

FIG. 31A-B are example views of user interfaces, according to some embodiments;

FIG. 32 is an example process flow, according to one embodiment;

FIG. 33 is a block diagram of an example specialized computer system, according to one embodiment;

FIG. 34 is block diagram of an example system, according to one embodiment;

FIG. 35 is block diagram of an integrated system, according to one embodiment;

FIGS. 36A-36J are screenshot images showing various user interfaces, according to some embodiments;

FIG. 37 is a flow chart illustrating an example process, according to one embodiment;

FIG. 38 is a flow chart illustrating an example process, according to one embodiment;

FIG. 39 is a flow chart illustrating an example process, according to one embodiment; and

FIGS. 40-60 show screen captures of user interface screens, according to some embodiments.

DETAILED DESCRIPTION

According to some embodiments, system components, user interface elements, and user interface displays are provided to facilitate interaction with and to expedite display of any data associated with system managed media objects (e.g., placements). In one embodiment, a user interface capable of effectively manipulating high volumes of data is implemented. The system and/or user interface is specially configured to aggregate large data volumes and translate the large data volumes into summary information and incorporate navigable categorizations within the data that enables dynamic selection and visualization of portions of the large data volumes. Such interfaces may be particularly useful for managing large amounts of information, such as ad placement and performance information that is generated within an advertising network associated with ad campaigns. Further, organizations of the underlying data enables improved visualizations, reduced retrieval time, reduced computational delays, and reduces the computational efforts required by the system to display the large data volumes. In one example, visualization of data based on cached data structures enables consistent views of dynamically changing data. In other examples, cache invalidation protocols limits the need to re-load data while triggering updates where existing data sets diverge past a threshold amount. These implementations improve over some known systems which fail to provide consistent data views, and that do not address data divergence issues in consistent views.

According to one embodiment, an interface may be provided that is visualization of a data-centric pivot table that allows dynamic navigation into more specific information, such as ad placement information. The visualization can be limited to portions of the high data volumes, with subsequent portions being identified by the system and retrieved only as a user scrolls through a first set of information. For instance, a user may be presented an interface that allows a user to navigate through performance analysis data (e.g., ad placement performance information) to locate specific ads and their performance within a hierarchical view. According to one embodiment, pivot table visualizations enable superior customization of data over some known approaches, and enable reduction in data visualization (e.g., with focus views and storing of view configurations, among other options) and the associated computations that would be required to visualize the same information in other conventional systems.

Examples of the methods, devices, and systems discussed herein are not limited in application to the details of construction and the arrangement of components set forth in the following description or illustrated in the accompanying drawings. The methods and systems are capable of implementation in other embodiments and of being practiced or of being carried out in various ways. Examples of specific implementations are provided herein for illustrative purposes only and are not intended to be limiting. In particular, acts, components, elements and features discussed in connection with any one or more examples are not intended to be excluded from a similar role in any other examples.

Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. Any references to examples, embodiments, components, elements or acts of the systems and methods herein referred to in the singular may also embrace embodiments including a plurality, and any references in plural to any embodiment, component, element or act herein may also embrace embodiments including only a singularity. References in the singular or plural form are not intended to limit the presently disclosed systems or methods, their components, acts, or elements. The use herein of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. References to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms.

FIG. 1 shows an example of a system 100 for generating and displaying a graphical user interface for high volume data analytics. The system receives advertising metrics 102 from any number of advertising platforms or publishers of advertisements. A data analytic and grouping component 104 is configured to process the received metrics and store the data according to, for example, advertising type, advertising groupings, advertising targets. In one example, the analytic and grouping component captures information on the advertising type, advertising groupings, advertising targets from a database engine 108, determines the appropriate associations, and the database engine stores the associated data and any summarizations or calculations on those values in a database. In one embodiment, the user interface component 106 is configured to provide a visual representation of pivot tables executed against the database. Each view of the database can be likened to a new pivot table, where each view performs specific selections on the database data and presents analysis on the current selections.

According to one embodiment, the system presents a unified user interface layer 110 that is presented to users of the system. The user interface layer 110 is configured to organize and display the variety of summary views 112 (e.g., views 400, 600, 1400 of FIGS. 4A, 6, and 14 respectively); the variety of detailed views 114 (e.g., FIGS. 22-31); and any management functions 116 and/or views.

Further, various aspects of the invention may be practiced with one or more advertising automation systems shown by way of example in FIG. 2A. In particular, system 200 can be configured for processing high volumes of advertising-related events in a distributed advertising network. Such events may be originated by one or more sources and may be of various types (e.g., pixel events 202, S2S (server to server tracking) events 204, mobile events 206, etc.) that are received and handled by a web queue tier 208. The system may also include various components, such as a component that performs user resolution functions (determining users across multiple platforms e.g., 210), a component that determines attributions 212 (e.g., by observing impression/click histories and tracking conversions/actions), among other functions. The system may have other components, such as components that perform CRM functions, receive product/inventory information, real time structured data (e.g., real time bid (RTB) data (e.g., bids, wins, clicks)), and receives offline conversion events or other information that may be used to analyze performance of particular ads. For instance, there may be components that perform offline analysis of performance data to determine higher level functions, such as optimized bidding and budgeting of ads. In some embodiments, mobile measurement partners (MMP) and respective application programming interfaces (e.g., MMP APIs 214) can be integrated into the system to facilitate attribution management, data capture, events information, etc.

According to one embodiment, FIG. 2A illustrates an embodiment of a data measurement and attribution layer integrated into the system. The bottom blocks (e.g., 202, 204, 206) illustrate examples of the sources of user interaction data. For example, javascript pixels are used to communicate website interaction events for individual users to the system. In another example, a mobile software development kit (“SDK”) is similarly used to communicate mobile app interactions. In another example, there is also an interface to capture server to server based events, where a server belonging to an advertiser or content provider entity can directly provide respective data to the system.

As illustrated, each of the example sources communicate with a set of servers, for example in the second layer of the figure (e.g., the “web queue tier” at 208). The web queue tier 208 includes globally distributed web servers which provide load distribution, queuing, and cookie management, so that the end user's browser or mobile app is not slowed down waiting for the completion of the attribution process (e.g., data tracking and identification of associated users and/or actions).

In one example the web queue tier is a set of servers implementing user resolution and attribution operations. User Resolution at 210 includes a plurality of servers configured to utilize tokens collected by the data sources to synthesize an internal identifier which is unique to each user. According to one embodiment, the synthesizing of the internal identifier does not connect to identifiable information about that user, but rather provides a way to connect events over time to determine which interaction events should be aggregated together for performance reporting. In Attribution Management 212, a group of servers are configured to evaluate each tracked interaction in light of a respective user's history in order to determine which advertisements or content, if any, should receive credit for causing the interaction. According to one embodiment, the system currently implements a “last touch” attribution model, but others are possible (e.g., first touch attribution model, weighted attribution models, hybrid attribution models, among other options). For mobile app interactions, various embodiment of the system are configured to automatically query other servers via mobile measurement partnership (“MMP”) APIs to determine the best attribution. Based on the data returned form MMP APIs, the system identifies a best attribution and stores the attribution information.

According to some embodiments, the user interface layer 110 is configured to generate and present tailored views to end users, where the views include navigable visualizations of advertising data. For example, the user interface layer can generate a user interface that is a data-centric pivot table that allows dynamic navigation into more specific information, such as ad placement information through navigable data representations, wherein each data representation can be selected in the user interface to dynamically alter the data displayed or navigate into further detailed selections.

For example, a user may be presented an interface that allows a user to navigate through performance analysis data (e.g., ad placement performance information) to locate specific ads and their performance within a hierarchical view. The specific ad information that is displayed may include performance information specific to the filters used to navigate to the specific ad. Such an interface is beneficial, as it permits an advertising manager to quickly locate relevant ad placement details through a data-driven interface. In one embodiment, the interface may include the ability to present an inline summary of the ad placement within a tabular view of the performance data. Summary information associated with the displayed ads may be changed depending on the filters or other user selections within the interface. Such capabilities may permit a user (an advertising manager or other user type that manages ad placements) to quickly locate relevant ads within the user interface that relate to the displayed placement performance data.

FIG. 2B illustrates data management systems and functions executed by the system. According to one embodiment, the system 200 is configured to receive, analyze and return processed analytics to online advertisers, by aggregating respective data from the measurement and attribution layer (e.g., illustrated in FIG. 2A). In one embodiment, the system implements a set specialize servers (e.g., 222) configured to provide information about interactions aggregated by advertisement, attribution time, and interaction time—these aggregations can be referred to as of time cohort rollups which can include aggregation of related information or information that can be grouped based on similarity.

In further embodiments, the system can be configured to combine this information with data drawn from advertising publisher APIs (e.g., 224) and RTB data streams (e.g., 232), as well as various advertiser data sources (e.g., conveying conversion events at 234), such as customer relation management (“CRM”) systems (e.g., 228) and product and inventory feeds (e.g., 226). FIG. 2B illustrates these data sources connecting to a set of data clusters (e.g., 230). In one embodiment, the data clusters 230 include storage systems that provide a variety of mechanisms of access to the integrated data with different performance characteristics suitable for different applications using the data. In one example, a MySql cluster can be configured to support functions and displays of the high volume analytics systems. In another example, the other systems (e.g., Hadoop, Aerospike, etc.) support real-time bidding and performance modeling and optimization.

Various embodiments of the system enable one or more of or any combination of: processing and rendering of analytics on 600 million conversion events each day; globally (DNS) balanced web tier; manage cookies; handle redirects and containers; accept and queue events; user resolution; horizontally scalable processing; multiple tokens and/or levels of authority for accessing and/or visualizing data; device bridging by first party ID; MMP API integrations; bridge click-to-install gap; attribution management—for example, based on user impression/click/event history; in another example attribute is defined by last click but other models possible. Further embodiments enable one or more of or any combination of: processing 600 million conversions/day; 100 thousand RTB events/second; 400 million user records; 100 million feed elements; 10 million MMP API data rows/day; mixed granularity (e.g., by event, user, product, ad time); storing real-time structured data, for user management, attribution, RTB match; execute map/reduce and/or ETL frameworks; which can be used for modeling and exploration; and can include low latency rollups (e.g., information aggregations) which provide merged cohort data with time information, which the system can use for reporting and/or API decisions.

Yet other embodiments are configured to execute one or more or any combination of the following: unique interface paradigm which provides visualization of live performance context data while executing management functions, editing existing placements, etc.; context-specific actions and visualizations for live campaigns and directly integrate live analytics views; fast, configurable analytics interface responsive to user input; API triggering responsive to user interface input; multi-layer, multi-dimensional aggregation of performance/placement data; comprehensive ad attributes and metrics; powerful sorting and filtering in responsive user interface; variable time frames and granularity associated with data aggregates accessible and tunable in the user interface; graphic and tabular views; near real-time reporting (e.g., with hour granularity, minute granularity, etc.); and tailored performance even for large campaigns and wide time windows. Still other embodiments enable one or more of or any combination of: a custom procedural query engine; queries against generic object hierarchy; building result trees with multi-layer aggregation and, for example, loading of tree segments to optimize fast visualization; attribute and metric filtering at any tree layer; persistent result set management; smart object/data and result set caches to optimize visualizations; pre-loading of frequently used data; object definition and data access plug-ins; client-side data browser and object manager; interfaces to server API for analytics access; smart client-server scrolling (e.g., incremental loading of data); dynamic attribute and metric panels; context/selection-specific action menus and panels; load and pivot ad-level lifetime campaign data visualized in under one second; remains responsive for time-based analysis over GBs of data; and a dynamically load balanced, fault tolerant cluster.

FIG. 2C is an example block diagram showing data analytic components and workflow executions. FIG. 2C shows the same components of the system that enable various features of the system and/or user interface displays. For example, models definitions (e.g., 252) describing the organization of placement metadata (e.g., 266 detailing, for example, how to find the creative elements of an ad from an ad id in a data row) and code to fetch data from the system, as well as provide signals for cache invalidation (e.g., 254) when key data changes. In one example, data is loaded and cached for display in the user interface. The data is cached to facilitate access, while cached, monitoring processes review cached data for changes (e.g., real time data feeds can constantly update data). By invalidating a cached entry or data object the system forces loading of the most up to date information in the user interface, and for example, when the user is accessing administrative functions/UIs, and/or where the real time data in not part of the active display.

In one embodiment, the query engine implements in-memory queries against aggregate advertising data (e.g., loaded from FIG. 2B) stored in an object/data cache (e.g., at 262). The engine can be specialized for flexible dimensional aggregation, such that the underlying (ad, attribution_time, event_time, etc.) data can readily be analyzed based on ad properties and time window aggregates. As the query engine answers queries, it stores results in a result set cache (e.g., 264) so that the results for a specific UI session do not change unexpectedly as data is updated.

The analytics user interfaces cane be implemented through a javascript client side app (e.g., 260) with a corresponding server-side API (e.g., 258) that interfaces with the query engine (e.g., 256). The JS app issues data requests to the API (e.g., 258) as users configure aggregation, filtering, and date range settings, and then manages data fetched via the API from the matching result sets to provide high performance on the client while operating within reasonable client memory limits.

According to one aspect, the user interface is specially configured to manage, aggregate, and dynamically select data for visualization responsive to constantly updating data feeds (e.g., live placement data associated with an advertising network). The dynamic nature of the received data allows a user to selectively control their view of the changing data, for example by creating and saving user interface views. In one implementation, a database management component is configured to receive the dynamic data feeds, translate the dynamic data feeds into standardized formats, and group the dynamic data into selectable and displayable elements.

According to another aspect of the present invention, a visualization interface may be provided that includes a web-enabled pivot table used to analyze and present ad performance data. According to one embodiment, advertisers may use a pivot table to view, sort through, and visualize multiple dimensions of advertising or groups of advertising data. Such tables, according to various embodiments, are configured with the attributes and metrics that are specifically tailored to user's needs by adding predefined audiences, creative elements, data-related attributes or placement details, followed by the metrics that determine campaign success. Once the selections within the interface have been made, the user may be permitted to simply drag and drop displayed elements to re-order metrics and/or to create a customized campaign dashboard. Such interfaces may be modified to include a summary view associated with a specific ad within the table based on specific user selections within the pivot table. This permits, for example, a user to selectively create a dashboard using certain metrics while at the same time seeing the specific ad placements and their associated summaries according to the configured dashboard. For instance, if an advertiser wants to see which creative was performing the best, the user is permitted to sort by key metrics (e.g., ROI, LTV, CTR, CPC, etc.) and locate specific summary view information relating to those placements.

An example interface template for a inline summary view is shown in FIG. 3. FIG. 3 illustrates an example format and organization for an inline user interface display that can be triggered to display in a pivot table visualization or in conjunction with a tabular visualization, for example, of performance data. In one example, the inline display can be rendered by the user interface as an embedded row spanning the length of any available columns in a current visualization (discussed in greater detail below).

In one example, the inline user interface display can include an ad preview portion for the inline display 352. Proximately displayed at 354 is a hierarchy display for accessing information on the ad placement being previewed, where the advertisement information is stored according to hierarchical layers. The hierarchy display 354 can be configured to enable navigation between visualizations on the inline display showing respective layers and associated detail. In one example, responsive to selection in the hierarchy at 354 an inline detail portion of the display 356 provides additional information on the ad placement relevant to the selection made in 354. In another example, the default display shown in 356 is shown based on the first level of the hierarchy selected in 354.

The display template can also include further selection menus to facilitate navigation within, for example, the inline display. In one embodiment, display section 354 includes vertically arranged display of hierarchy objects, and each hierarchy object is associated with a display in section 356. In another embodiment, a horizontally displayed inline menu section 357 can enable further navigation through placement information (e.g., via hierarchy object selection at 358), definitional selections associated with a given placement (e.g., via selection at 360), targeting information (e.g., via selection at 362), and may optionally include additional information menus (e.g., at 364) to access information not categorized in the preceding options.

Further examples of the user interfaces are shown and described in FIGS. 4A, 4B,-49, which can be arranged based on the master template 350. Shown in FIG. 4A, is an embodiment of a user interface 400 that may be used to display ad information to a user. The user interface 400 is specially configured according to minimizing the data volume required to convey necessary management information for an advertising network. Some difficulties in managing advertising networks include the high volume of constantly changing data that often needs to be reviewed by a network manager in order to make decisions on how to change, update, terminate, or suspend any number of a high volume of advertising placements. In various embodiments, maintaining contextual information associated with a placement shown in user interface 400 enables visualization of data faster. As data is updated in real time, the contextual display likewise render the data faster that implementations that use separate windows or display for managing additional views. In further embodiments, inline displays paired with additional contextual information on the same placements reduces the need to render as many visualizations, and further eliminates the need to return to prior screens to capture the details information that is maintained through navigation in the inline display.

Summary view 400 includes an example of a view tailored for understanding and summarizing metrics associated with individual advertisements. In one embodiment, view 400 is configured to be introduced into a data-centric pivot table that allows dynamic navigation into more specific information. In one example, view 400 is generates a row in the data-centric pivot table and sized to span the width of available columns in the data-centric pivot table. At 401, a preview of a specific ad is shown to provide a visual indicator and/or reference for a specific advertisement. A second portion of the display 400 includes a plurality of drawers (e.g., 402-410). According to one embodiment, each of the plurality of drawers is a navigable data and visual structure, that is executable via selection in the user interface.

The plurality of drawers are arranged in the visual display 400 based on a hierarchy of groupings. In the example, the hierarchy includes a site grouping—value “AllModern”; Budget Pool grouping with value—“Gateway”; strategy group grouping with value “Gate Desk Feed CPC” (Cost Per Click); ad set grouping with an unique identifier for the ad set; and placement grouping with an unique identifier for the placement. Each drawer having more than one member in its associated grouping is configured to display membership information, for example, the number of members of the grouping. In one embodiment, the summary view 400 includes a longitudinal menu 418 for selecting a display format of the summary 400. In one example, the display format includes a first default view showing an object hierarchy. The currently selected display format can be highlighted in the longitudinal menu 418, for example, at 420. Object 422 is also configured to transition the user interface to summary 400 via selection on 422.

In further embodiments, each drawer (e.g., 402-410) includes an active state and a passive state. In a passive state grouping information, specific value, and membership number information can be displayed. Once selected, for example, by hovering with a user interface pointer or clicking with a user interface pointer—each drawer triggers display of an associated visualization, for example, the active state of the placement drawer triggers a display at 412.

In some embodiments, the drawer is associated with a plurality of information views. Each view operates as a dynamic selection of data from the database that presents summary and/or aggregate information or in some alternative views and management information that can be used to add, modify, delete, and/or update advertising placements. At 412 is shown some additional detailed information relating to the placement being visualized. In some examples, an initial view can include placement number, current bid, date created, a current bid type, ad group name, stop loss credit (for reactivating ads that would otherwise fail stop loss criteria), and an associated Facebook or other advertising source identifier. In some embodiments, selections made within summary view 400 are reflected in real time on the data-centric pivot table, that summary view 400 is integrated into. According to one aspect, the immediate connection between changes made in the summary view and the data-centric pivot table ensure accuracy in entered information (e.g., facilitates user understanding of context for each selection) and reduce errors in data entry as users reviews and/or manipulates thousands of advertisements.

The views associated with a respective drawer in the active state can also include a graphical representation of the principal information for that view. In the initial view 412, the principle information being conveyed to the user is bid amount for the advertising placement. At 414, the initial view displays recent bids, bid time, and bid amount in a graphical form, so that the user is immediately provided a reference and recent historical window to understand how the current bid amount relates to the placement. Each active drawer view (e.g., initial view 412) can include links to underlying information being displayed/summarized in the view (e.g., at 416 a user can navigate to the underlying information being conveyed by the view).

According to some embodiments, each active drawer can be associated with a plurality of views and can include additional summarizations of additional views. For example, FIG. 4B, includes a second view associated with the budget pool drawer 404. According to one embodiment, the layout of the views associated with each respective drawer is specially configured to appear consistent between drawers, share a basic organization, and convey summary information in a comparable format. The consistent views as a user navigates through a multitude of advertisements and associated data ensure better understanding across larger amounts of data and directly results in reduced errors in management functions and data modification and/or entry in the user interface. In some embodiments, selection of the object hierarchy at 422, triggers the display of a second vertical menu 428 (e.g., comprising a plurality of drawers). According to some embodiments, the first longitudinal menu provides access to additional views (e.g., an object hierarchy view (e.g., FIG. 4A), and a creative details view (e.g., FIG. 6), a targeting view (e.g., FIG. 14). Each additional view can be associated with vertically displayed menus, that enable further refinements of each view, as discussed in greater detail below.

According to one embodiment, FIG. 4B shows an example transition to detailed information on a specific placement via selection of “Placement” 450 in the user interface. To facilitate navigation, selection in the user interface vertical menu 454 is highlighted at 456 with a visual indicator that tracks the current view based on selection on a hierarchy level (e.g. in menu 454). Optional menu options can be visualized, responsive to user selections in the user interface. In one example, “Additional Details” at 452 is visualized responsive to a transition into the “placement” hierarchy via selection at 450. The additional detail option at 452 enables access to additional information (e.g., view log, placement performance, and/or old placement details.

Various embodiments describe the summary views implemented as inline displays. According to some embodiments, the same functions can be implemented as overlay displays. According to one example, the overlay displays are positioned in the user interface to enable visualization of contextual information associated with a placement being reviewed in the overlay display.

According to another embodiment, shown at 504 in FIG. 5 is a view 500 for conveying budgeting information across the gateway grouping. Included with the summary data at 506 is a graphical representation of the total budgetary information with reference to the portion of the total budgetary information made up by the strategy group at 508. Responsive to accessing detailed information and/or selecting “Placement” in the vertical menu 510, the system is configured to display action control s at 512. The action controls are configured to start and stop advertisement bidding and/or execution in real time. For example, selection of 502 triggers the action control to transition between active and paused states depending on a beginning state of the action control. In the illustrated example, 502 is in a paused state, thus, selection at 502 triggers a transition to an active state. In response to the transition to an active stated the system is configured to communication with a hosting system for the respective placement and activate any bidding instructions for executing the respective advertisement. In one example, the placement can be hosted on the known FACEBOOK platform, and the transition to active state is configured to cause the system to communicate with the FACEBOOK platform via an API executed on the system, that triggers bidding as defined on the system (e.g., in the placement details) and monitors spend and tracks performance of the placement. Transitions to a paused state perform similar operations in reverse (e.g., triggering an API to communicate with a hosting platform to suspend bidding activity). As any changes are made in the summary view, so too does the data-centric pivot table update any corresponding record in real time.

According another aspect, the high data volume analytic user interface is further configured to manage creation and/or modification of advertising placements or ads. The user interface includes selections for navigating to “creative details” associated with an advertisement. Similar to the view 300, view 600 includes a preview of an advertisement 602, and a set of user interface drawers 604-618. Each drawer is selectable in the user interface and configured to present an associated view or associated information in an adjacent portion of the user interface (e.g., at 620). The highlighted portions of the user interface examples shown in FIG. 6-FIG. 13 identify the selected drawer via the highlighting and show the associated view with each drawer. As shown in FIG. 6, a creative details view can include a vertically oriented menu at 622, reflecting each selectable portion (e.g., 604-618) of an advertisement or placement that can be modified. In some examples, creative details view 600 can enable creation of a new placement or modification of an existing one. For example, as shown in FIGS. 7-15 selection within vertically oriented menu 622 enables an end user to navigate through portions of an existing (or new) placements, edit any defined portions (or create new portions), and responsive to leaving the creative details views, the system is configured to capture any changes, any new data, new information, and trigger a respective API that, for example, instantiates a new placement on a third party system (e.g., FACEBOOK) according to the user definitions, or in another example, updates an existing placement via execution of a respective API.

According to one embodiment, similar to changes made in view 400, changes in view 600 are reflected in the data-centric pivot table in real time. Additionally, as new data is captured by the system (e.g., via one or more APIs connected to respective hosting systems) entries in the data-centric pivot table update and provide real time contextual information, while a user is navigating summary views and/or summary information shown inline. In further embodiments, the system can delay updating of information to avoid confusion. For example, the system can operate on cached data and/or cached date results, and new data received by the system will not be updated until a cache invalidation event occurs. Cache invalidation can be executed based on detecting a period of time has elapsed, or identifying a threshold number of changes have occurred, among other options.

FIGS. 14-21 provide additional examples of user interface views. In particular, FIGS. 14-21 provide example interfaces for summarizing targeting information associated with a particular advertisement, advertisement group, etc. In the example of FIG. 14, user interface 1400 provides a preview view of the advertisement being analyzed (e.g., similar to views 400 and 600). Interface 1400 also provides summary information associated with consumer target of the selected advertisement at 1404. The system and/or user interface arranges target audiences into hierarchical groupings and presents the membership numbers accordingly (e.g., location with value US; age with value 25-35; gender with value male, female; custom audiences with value 4.14 LaS (e.g., a customized grouping of users that may be created, for example, responsive to a listing of attributes to an advertising server (e.g., providing a listing of email addresses and receiving Facebook user names within a defined group)); and relationship with a value of “single”—1408-1416).

Additional views summarize the targeting information for a viewing user differently (e.g., 1500, FIG. 15). Each categorization is selectable to view information on categories (e.g., view 1600, FIG. 16) and can be navigated via selection in the user interface at 1602. View 1700, FIG. 17 shows the information associated with selection of Location 1702. FIGS. 18-20 likewise show views associated with selection of respective hierarchical groups. FIG. 22 is another example view of targeting information 2200. View 2200 displays information on each applicable hierarchical group and membership information on each group via a visual indicator associated with each group. In one example, each visual indicator (e.g., 2202-2210) can be sized relative to the associated information (e.g., membership numbers).

According to other embodiments, the user interface can include additional detailed displays of advertising metrics and/or data associated with managing an advertising network or campaign. FIGS. 22-31 illustrate various examples of user interfaces and organization of detailed advertising metrics.

Shown at FIGS. 24-28 are examples of summary inline displays that can be accessed by users while in the detailed views. In one example, FIG. 24 shows a performance view within a pivot table that is configured to display performance data associated with particular advertisements. Actions may be performed with particular entries based on the selected ad placement. For example, in the interface shown in FIG. 24, a right click of a pointing device over a particular selected placement in the displayed data-centric pivot table, cause the system to perform one or more actions. For instance, a “Placement Summary” action may be selected that permits the user to see specific information associated with a particular ad (e.g., FIG. 24 shows the result of a selection of the “Placement Summary” option within the interface). Such a summary may include a preview of the ad, details relating to the creative, placement attributes, placement structure and status, and targeting information associated with this particular ad, among other ad summary information.

Other actions may be selected, including a menu option to access detailed logging activity. In one examples, a menu titles can specify “AI Logs” (e.g., at 2204 in FIG. 22), which transitions the system to detailed logging information tracked by the system showing the automatic placement of ads according to artificial intelligence functions. More generally, various embodiments of the system are configured to tailor machine learning algorithms based on prior user's data. In one example, selections made in the user interface are tracked by the system constrained by a current state of the system that is associated with each selection. Machine learning matching and/or fitting can be used to predict what information subsequent users will find useful by matching similar or same states to various subsequent user contexts. The system can be configured to include matching information fields based on such learning algorithms. In some examples, user interface views can be tailored to highlight such fields, and/or tailored to include or exclude information fields based on matching.

Further, other actions may be performed, such as applying additional filters to the display (e.g., via the “Add Filters” action), isolating or eliminating certain ad placements from the display (e.g., via the “Only show this Placement ID” action or the “Exclude this Placement ID” action), or displaying detailed placement performance relating to the selected ad placement (e.g., via the “Placement Performance” action).

The summary overlays displays aggregate the information being viewed in the detailed view organized based on the management function (e.g., FIG. 24 Creative Details 2402, Placement Attributes 2404, Placement Structure & Status 2406; and Targeting 2408) for a selected advertisement. FIG. 24 illustrates an example in-line user interface element introduced into a table based visualization of placement data (e.g., data-centric pivot table). As shown the inline display is configured to span the length of a row and expand automatically the height of a row to accommodate the in-line display. Multiple in-line displays can be accessed in the user interface and can facilitate direct comparison without requiring the user to navigated through other screens to have access to the same comparison information. The inline display can also be configured to be navigable, for example, FIGS. 4A, 4B-21 show additional embodiments of example displays that can be access from table based views and inline line displays similar to FIG. 24. In other embodiments, the views shown in FIG. 4A, 4B-FIG. 21 can be displayed as an overlay window, shown in proximity (e.g., just below or above) a row in a table based view of associated detailed placement data so that the detailed placement data is shown as context in conjunction with the overlay windows.

According to one embodiment, a visual indication of a separator bar 2410 is shown. The user interface can be configured to be responsive to user actions associated with repositioning the separator 2410, so that a first portion of the display 2412 and a second portion of the display 2414 can be dynamically manipulated. For example, in response to the translation of the separator 2410 (e.g., moving the separator 2410 left or right in the display), additional advertisement data or metrics can be hidden or displayed in either of the first portion 2412 or the second portion of the display 2414. FIG. 24 shows advertisement metrics 2416-2420 as including spend data 2416, impressions 2418, and clicks 2420, among other data columns of the tabular display. The first portion of the display can include metrics such as placement identifier 2422, placement status 2424, image 2425, Ad Plan 2426 (e.g., hierarchical grouping of placements and budget groups), budget pool 2428 (e.g., hierarchical grouping of placements based on common budget), strategy group (e.g., hierarchical grouping of placements under common management control), audience information 2430 (e.g., reach—showing number of discrete or not users shown placement), current bid 2432, and current spend limit basis 2434 (e.g., cost per click).

In some embodiments, translation of the separator 2410 can trigger the user interface to automatically resize information displayed in the first and/or second portion of the view in the display, and in some examples, enable the user interface to continue to visualize the current advertising parameters 2416-2420, while introducing additional relevant information in the first portion of the display by manipulating the separator 2410. In some embodiments, detailed information fields are ordered automatically by the system and responsive to manipulations of the separator 2410, the detailed information is introduced into the display based on the system based ordering (e.g., spend 2416, impressions 2418, clicks 2420, etc.). In some alternatives, the system and/or user interface retains information on any modifications to a view that and end user selects, including for example, user specified ordering of column and/or selection/exclusion of columns to be displayed. In one example, the modifications to the view (e.g., data ordering, selected data elements, removed data elements, separator position, etc.) can be retained as a temporary view. The temporary view can be preserved across multiple logins, etc. but can also be subject to any latter modifications. In further embodiments, any changes a user wishes to maintain can be saved as user named views and made accessible through the user interface.

According to one embodiment, the operation/translation of separator bar 2410 is configured to operate only on the first portion and second portion of the user interface. In one example, the separator 2410 does not affect the display of an integrated summary view regardless of resizing the first portion and/or second portion of the display.

FIG. 32 illustrates an example process for displaying summary information contextually. Process 3200 beings with receiving, advertising metrics from at least one API connected to a third party content provider at 3202. Where the metrics can be analyzed and grouped at 3204 into an advertising demographic hierarchy. In some embodiments, part of the analysis at 3204 can include determining summary information for the advertising metrics in each level of the advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, among others) or in others determining summary information can be a separate step 3206. Process 3200 continues with generating a navigable user interface display at 3208 comprising at least one selectable drawer associated with a hierarchical group of advertising metrics (e.g., site, budget pool, strategy group, ad set, placement, among other options), wherein the at least one selectable drawer includes a display of a title of a respective hierarchical group. When selected the at least one selectable drawer is associated with a respective summary view of the advertising metrics within the hierarchical group that is then displayed. In one embodiment, responsive to selection of a view summary data control, process 3200 continues at 3210 with integrating the summary view into a first display of advertising metrics arranged in a tabular format. In one example, integrating occurs responsive to user selection in the user interface (e.g., of a view summary data control), In another example, the act of integrating into the first display optionally includes expanding a row of the tabular format to accommodate the summary view, and spanning the summary view across a plurality of columns of the first view.

FIG. 26 illustrates another example display structure for a display focused on reducing information overload by only displaying information in one group selected at 2602, which can be displayed responsive to selection of that group (e.g., at 2604). FIGS. 29-30 display example views of detailed information for a particular advertisement or advertising group based on received advertising metrics that are analyzed and/or summarized by the system into the preceding displays.

In other examples, summary information views can be combined with other graphical summarization information. For example, FIG. 31 illustrates and example view 3100 combining summary information views with detailed graphical analysis of a particular advertisement. The user interface simplifies comparison of summary information (which can be used as a benchmark) with individual performance (e.g., over time).

In some examples, the system and/or user interface facilitates the consumption of large volumes of data associated with advertisement placement and execution. For example, the user interface provides a placement summary (e.g., FIG. 24) that users can access to view granular information on the creative (e.g., 2402), placement attributes (e.g., 2404, ad structure (e.g., 2406), and targeting (e.g., 2408) detail for individual ads. When comparing ad performance, the placement summary can be used to view attributes of any ad such as, delivery location, audiences you are targeting, bid type, bid amount, among other information.

Another option provided in some embodiments includes visualizations of the performance of an individual placement over time. In one example, selection in the user interface triggers the system to display a table and chart of how that ad placement performed over time. The display can dynamically refresh during viewing as additional advertising metrics are received by the system. In one example, the placement summary also provides additional information such as, logged information that allows a user to see more detail about optimization logic applied to a placement. In one embodiment, the logged information includes system automated tuning selections and/or updates made on existing placements. For example, machine learning algorithms are configured to optimize return on spend (e.g., by optimizing for click through, conversion, sales, etc. relative to dollars spent). In addition, the user can also view ad placement on advertising platforms (e.g., Facebook) to see comments, likes, and shares.

According to another aspect, generation of logical groupings of advertising types provides selectable options in the user interface that facilitate advertising management. Each grouping is responsive to mouse over operations to display information for matching. The Ad Type groupings remain the same across any view, and are selectable within the user interface to display how each ad will be presented on Facebook.

In various examples, extremely long urls are handled by the system by creating shorter visualizations of the long urls.

Historic data may be captured and associated with data structures on the destination system to enable dynamic and interactive displays of the historic data. The interfaces can be configured to merge current data with historic data to facilitate user access to information. The dynamic displays can be responsive to user selection of data dimensions (e.g., information associated with ads, metadata, further information associated with the descriptive information, etc.). In some embodiments, the system generates interfaces that enable easy selection of data dimensions (e.g., right click to add available data dimensions, or drag and drop data descriptors into a visual display). The interfaces can then dynamically generate and redisplay advertisement information as new data dimensions are incorporated, removed, repositions, and/or re-ordered. In some embodiments, the interfaces may be browser-based applications written in a variety of programming language including, but not limited to Java, Javascript, PHP, among others. Such an architecture (e.g., the Data Analytics and Workflow Architecture) may be designed to handle many events in a scalable manner. Raw data may be stored in a relational database (e.g., MySQL) as the vast majority of the data is relational in nature and databases such as MySQL provide ACID transactions.

According to one embodiment, to achieve the performance required and support multi-tier pivoting, the system may be configured to load all of the required MySQL data into memory. In one embodiment, the system may break the information (e.g., data dimensions) into two types:

    • Placement metadata such as creative, and audience
    • Performance time based data

Placement metadata may be stored in memory and, according to one embodiment, the placement metadata is immutable. Loading this data often requires joins across many tables and can be slow, however, it is appreciated that once in memory, the data can be accessed very quickly. Recent performance data may be kept in memory while older data is retained based on user access. The data may be refreshed regularly, or changes to data may be streamed into the architecture to ensure the query results represent real-time metrics.

A query engine acts upon the data in memory using data agnostic actions (i.e. group, sort, where, having). In one example, because the data volumes for advertising metrics are so large, an infrastructure may be provided that is capable of handling billions of events and aggregating the information into displays that are capable of being acted upon in real time by users (e.g., ad managers). Information may be aggregated and for use in pivot tables that can be presented to users within a management interface. Such pivot tables may access a tree-like data structure having multi-layer aggregation that permits attribute and metric filtering at any layer. To this end, a custom procedural query engine may be provided that is capable of generating this tree-like structure. The infrastructure itself may be underpinned by a dynamically balanced fault tolerant server structure. For example, a load balancer may be provided that distributes load to one or more nodes which performs various functions (such as tree generation/management and SQL operations on a MySQL database).

It is noted that, according to one implementation, the data model and data access layers are completely decoupled from the query engine. The paths given to the query engine refer to fields within the object using reflection and support expressions against those fields. This allows for using the architecture to analyze other future data objects beyond just placements.

The query engine may use a procedural language to process the data. Below is an example:

GET(1234)

WHERE(EQUAL,placement.audience.minage,15)

GROUP(placement.audience.gender,placement.creative.title)

SORT(0,placement.creative.image,DESC,placement.bidtype,ASC)

ATTACH(1234,TODAY,HOUR)

HAVING(1,GREATER_THAN,placementperformance.clicks/placementperformance.impressions,0.5)

In this case, placement metadata for site 1234 is utilized and first filters out any placements whose audience's minimum age is 15. The results are then grouped by audience gender and creative title and sorted by image and bid type. Attach then combines metadata with today's time based performance data and groups it by hour. Finally, the having step filters any aggregate data for each hour to only include those whose click through rate is greater than 50%. Data is represented as a tree with aggregate summaries at each non-leaf node. The result is that loading Placement Analysis for a customer in a conventional architecture with 1 million placements would take between 20-30 minutes, while the architecture is capable of executing a more complex query in under 2 seconds.

Example Ingestion Subsystems And Methods

According to one embodiment, an ingestion subsystem is configured to automate capture of advertisement information from the known FACEBOOK platform. In other embodiments, the ingestion subsystem is configured to automate capture of advertisement information from other systems (e.g., GOOGLE, YAHOO, etc.). Shown in FIG. 36A, is an embodiment of a user interface and user interface screens (e.g., I100) that may be used to display ingestion information to a user. The user interface is specially configured to walk the user through the steps of automatically capturing information from an outside advertising service provider. In this example, the user interface display I100 is tailored specifically to the FACEBOOK platform. In other embodiments, additional user interfaces can be presented to the user by the ingestion subsystem to determine which outside provider has advertising data to be captured. Responsive to identification of the provider, the ingestion subsystem can use tailored user interfaces show to the user based on the identified provider.

UI I100 is configured to walk the user through a first phase of the ingestion process (e.g., Setup Import I102). At I104, the user is prompted to identify the site for which the user wishes to import the advertising data. The site specified by the user is used by the destination system to define an advertising site and associate the site with any number of advertisements, that can be further organized by budget pool. Each budget pool represents a logical organization of advertisements that can be managed together (e.g., manage advertising spent by budget pool, view revenue by budget pool, accounting by budget pool, etc.). At I106, the user is prompted to assign a budget pool to the information to be imported. In various embodiments, the budget pool associated for each advertisement is an editable field that the user can modify, for example, after import. At I108, the user is prompted to specify a time window for the information to be imported. In some embodiments, the time window may be specified via a drop-down menu containing popular choices for time window input values such as “last 28 days”, or “last 7 days”, or any suitable time window value for the user's ingestion process. In FIG. 36B, user interface I110 shows the UI with user entered information. Upon selection of I112, the ingestion subsystem is configured to advance to a next phase of the ingestion process (e.g., Configure Actions, FIG. 36C, I122).

UI I120 illustrates an example display for facilitating capture and configuration of existing advertising actions from, for example, a FACEBOOK account. The UI is configured to organize actions from the service provider and the management system into sections of the display. For example, at I124 the UI displays available system actions, and applies an ordering to those actions the system determines to be of the most importance. According to one embodiment, the ingestion subsystem is configured to analyze an advertising account of another provider (e.g., a FACEBOOK account) and identify advertising actions configured on that account. For example, advertising actions can be defined based on rules. The rules can be defined with conditions and at least one action to take, responsive to the condition occurring or not occurring.

According to one embodiment, the system is configured to automatically identify system based actions (e.g., defined by programmatic language, logical execution conditions, visual based programming, etc.) to identify a condition predicate (e.g., a test condition) and a resulting operation tied to the condition predicate. The resulting operation can include complex management functions, individual actions to take with respect to a placement (e.g., pause placement, bid up placement, bid down placement, etc.), or trigger status change (e.g., alert to management, increase value, decrease value, etc.). In some examples, the ingestion subsystem is specially configured to parse displays on an access system to identify execution logic or condition statements and match that execution logic and/or condition statements to potential operations to be performed on placements. Matching between existing operations and ingested operations can be executed based on a target platform. For example, a known platform may have a multitude of known actions. Some of the known actions may include consistent formats that can be used to reduce execution complexity during matching. Known operations can be searched first for matches before any complex matching logic or machine learning based approaches to identifying and implementing ingested actions.

In some embodiments, the ingestion subsystem list identifies service provider actions and presents an ordering of the available system actions in the UI at I126. In one embodiment, the system can be configured to organize the service provider actions into management system actions based on whether each action is important for performance. In yet other embodiments, the ingestion subsystem can apply different weightings based on defined rules or information extracted from historical performance and generate an ordering based on weighted evaluations (e.g., the system assigns the highest weight to predefined actions, the next weight value to most triggered actions, etc.)

Returning to the example UI I120, the system is configured to automatically identify the highest ranked actions and display those actions in window I126. The UI I120 specifies that the actions will be used by the destination system to optimize advertising performance and/or management. In further embodiments, the destination system can limit the number of actions that are considered in generating optimization and/or analytic information.

According to one embodiment, the ingestion subsystem is configured to capture any action in window I126, so that each action will be captured by the destination system. However, as indicated in the UI 120 (at I128—“actions below this line cannot be used for optimization”), some actions will only be made available for reporting of the action but not for use in optimizing management of the advertisement(s). Selection of I130 triggers the ingestion subsystem to transition to a next phase of the ingestion process which may include, e.g., downloading of the advertisement information (e.g., ads, rules, performance, historic performance data, etc.). FIG. 36D illustrates another example UI I140, configured to educate the user on the download phase, and provide the user an option to have execution occur in the background. Selection at I142 triggers the ingestion subsystem to start downloading. In other embodiments, the UI I140 can also include a “Begin in Background” button to trigger downloading operations that run in the background of the user's computer.

FIG. 36E shows another example UI I150. UI I150 displays an indicator showing the progress of the download operation (e.g., at I152). In some embodiments, UI I150 can also include displays configured to educate the user on use of the destination system, and/or educate the user on performance analytics that will be made available on the destination system. In one example, window I154 shows information on using analytic dashboards of the destination system, information on the available performance analytics, information on automated management of an advertising campaign, among other options.

FIG. 36F shows an example UI I160 configured to display responsive to completing capture of information from the outside advertising service provider (e.g. FACEBOOK). Once data capture (and any transformation and associations between source and destination formats) is complete, the ingestion subsystem is configured to request that the user validate the captured information.

FIG. 36G shows an example UI I170. In this example, the ingestion subsystem is configured to display summary information on the captured data and request user validation (e.g., via selection at I172). UI I170 can display information on current live ads captured, total ads imported, and average daily spending (e.g., at I174). The display information can also include account demographic information (e.g., client name, site name, source account information, and budget pool assignment—at I178). In other examples, graphical information can also be displayed to facilitate validation (e.g., at 176). FIGS. 36H, 36I, 36J show additional examples of user interfaces (e.g., I180, I182, and I184) that the ingestion subsystem can utilize to capture data from outside advertising services. At I186, the ingestion subsystem can provide information on optimization of conversion type events identified in the data to be captured. In some embodiments, the ingestion subsystem can be configured to give the highest rank to conversion type events. The conversion type events can then be used by the destination system to optimize management and performance of the imported advertisements. Generally speaking, conversion is associated with converting site visitors into paying customers. In various embodiments, the ingestion subsystem is configured to identify the conversion event(s) based on identified actions or acts that are meaningful to the user (e.g., trigger payment events based on user activity). Some examples of such meaningful conversion actions are: registering for an account on a site, viewing a product from a search listing, adding items to a “shopping cart,” installing a mobile apps or games, and reaching a certain level of completion in a game.

Example System

FIG. 34 shows an example of an ingestion subsystem 34100 for capturing, translating and/or associating existing advertising data from an outside advertising service provider to a destination advertising management system. According to one embodiment, the system is configured to receive account information 34102 for an existing advertising account serviced by an outside provider. According to one embodiment, the system 34100 can include an ingestion engine 34104. The ingestion engine can be configured to access outside advertising providers using the account information 34102 and capture advertising data (e.g., 34118, 34120, and 34122) from one or more providers. In some embodiments, the ingestion subsystem is specially configured to capture information from specific providers (e.g., FACEBOOK). The system can capture advertising data through one or more application programming interfaces (APIs) (e.g., 34112—FACEBOOK API, non-vendor specific APIs—34114, and/or capture data directly—116 (e.g., via queries, exports, direct downloads, robot crawling).

According to one embodiment, the ingestion engine 34104 and/or system 34100 can include components specifically configured to execute functions as part of a process of capturing advertising data from one or more advertising service providers for use in a destination advertisement system. For example, the system can include an authorization component 34106 configured to use account information 34102 to authorize the system to capture information from an outside service provider. In another example, the system and/or ingestion engine 34104 can include a user interface component 34110. The user interface component can be configured to generate user interfaces that facilitate capture of existing advertising information (e.g., as described in FIGS. 36A-36J). In other examples, the user interface component 34110 can generate universal user interfaces configured to interact with multiple vendor APIs or non-vendor specific APIs to capture advertising data. The universal user interface can also be configured to facilitate capture of information from users to enable direct capture of information from an outside provider where no APIs are available.

In further embodiments, the ingestion subsystem 34100 and/or ingestion engine 34104 can also include a translation component 34108. The translation component 34108 can be configured to build associations between a first provider format for advertising data and a destination formation for advertising data. In some examples, the translation component includes information on data structures used by a first provider (e.g., FACEBOOK) and mappings to data structures used in on the destination system. The translation can then capture and fill destination formatted data structures containing all of the previous advertising information. In further embodiments, the translation component 34108 enables the destination system to use the historical advertising information as if it were originally created on the destination system.

According to one embodiment, FACEBOOK is configured with a strict object hierarchy in their data model. Each advertising account contains Campaigns, which contain Ad Sets, which contain Ads. In conventional implementation targeting, budgeting, and bidding are allowed at the adset level in their data model, and further ads are unique only in creative (and may also contain override bids). By ingesting existing advertisements (e.g., into ingestion subsystem of FIG. 34), the system enables more complex data structures for the existing advertisements and enables improved algorithmic control over each element of the complex data structures. For example, the ingested campaign management model is much more flexible, where targeting, bidding, budgeting, and creative may all be set at the Placement (e.g., ad level) level for each advertisement (which maps to a Facebook Ad—as discussed is not capable of targeting, bidding, and budgeting in the FACEBOOK system), and in addition placements may be organized and manually manipulated using a variety of organizational concepts including: grouping by targeting or creative feature, generic tagging, or by automation groupings, comprising Strategy Groups and Budget Pools.

When, for example, a Facebook Ad account is imported, the data structures corresponding to the Ad account are mapped to placements (e.g., individual ad objects) that are collected (e.g., automatically organized) into an “ingestion” Budget Pool and Strategy Group, and can later be moved according to whatever campaign management strategy suits the customer. The system can automatically manage the placements via the ingestion budget pool and strategy group, and also provide user interface prompts to enable end users to move placements into different groups and pools or create new strategy groups or budget pools. The system is configured to automatically manage any level of the end mapping organization structures holding the placements. In one embodiment, the ingestion subsystem maps each of the data structure elements from the FACEBOOK data models into the placement hierarchy of the ingestion subsystem via table based mappings.

FIG. 35 is a block diagram of an integrated system including an ingestion subsystem 35202 coupled to a performance analytic subsystem 35204, which may include a performance summary subsystem 35206 (e.g., as described U.S. patent application Ser. Nos. 15/166,815 and 15/166,827, entitled “GRAPHICAL USER INTERFACE FOR HIGH VOLUME DATA ANALYTICS,” filed on May 27, 2016, in U.S. patent application Ser. No. 15/166,852, entitled “SYSTEM FOR HIGH VOLUME DATA ANALYTIC INTEGRATION AND CHANNEL-INDEPENDENT ADVERTISEMENT GENERATION,” filed on May 27, 2016, Provisional Patent Application 62/168,303 filed on May 29, 2015 incorporated by reference herein in their entirety). Any number of users can access the integrated system 35200 using any number of computing devices (e.g., 35208-35214—mobile devices, laptops, desktops, tablets, smart phones, etc.). The users can connect to the integrated system over network 35216, which can include any of the following elements or any combination of the following elements: local area networks, wide area networks, private networks, virtual networks, and which can include or comprise the Internet.

According to various embodiments, the ingestion subsystem 34100 or subsystem 35202 can be configured to execute a variety of functions to capture existing advertisement information.

An example process flow for capturing information from an outside advertising provider is described below. In one embodiment, the ingestion subsystem 34100 or subsystem 35202 can be specially programmed to execute the example process flow. In other alternatives the integrated system 35200 can executed the example process flow. Other embodiments can execute different process flow and can execute different process flows based on the outside provider.

Example Embodiments for Vendor Specific Implementation

In one embodiment, users select functions for FACEBOOK Ad Account Import. The functions enable ingestion of ads, ad campaigns (groupings of ads), creative assets or “creatives”, and more from Power Editor, Ads Manager, or even another preferred marketing developer (“PMD”) (for example as long the assets were on the Open Graph—Open Graph is a protocol that enables web pages to become a rich data object in a social graph. For FACEBOOK, Open Graph enables any web page to have the same functionality as other objects on the FACEBOOK platform). Power Editor, Ads Manager, or PMD are advertising management systems, and their respective information can be ported via the ingestion subsystem in the destination format.

Once the advertising data is imported into the destination format, the destination system (e.g., 35204, FIG. 35) can implement performance analysis to analyze and compare campaign performance by filtering, sorting, and pivoting on the campaign metrics and details as if those ads, campaigns, etc., were originally created on the destination system.

In some embodiments, new performance analysis data structures and information are made available once the historic advertising information is imported and/or translated. For example, new data and attributes can include:

    • Strategy Group CPA Limit—The CPA goal associated with a Strategy Group using CPA bidding
    • Strategy Group Max Bid—The maximum bid value over the course of the campaign
    • Strategy Group Yield Goal—The target goal set up within the Strategy Group
    • Budget Pool Lifetime Budget—The amount of lifetime spend allocated for a Budget Pool

According to one embodiment, these new attributes enable additional insight and algorithmic over strategy control groups and budget pools that are not available in other advertising systems (e.g., FACEBOOK). Other additional features include interactive displays for creative group dialog box—users can view more content within the creative group organizational units within advertising networks and/or budget pools. The dialogue boxes include drop down selection of data and metrics allowing users to pivot information displays dynamically.

Aspects of the present disclosure relate to some benefits of some embodiments, and implementation associated with ingesting advertisements from the known FACEBOOK platform. The following examples include various steps implemented in some embodiments for ingesting data from FACEBOOK accounts. The following embodiments and example process flows describe user scenarios, data flows, and integration with publically available FACEBOOK APIs that enable processing and downloading of the advertisement data made available on the FACEBOOK platform. Different embodiments can provide different flows, and interactions with other service providers can also require integration with other APIs. However, the following example flows are used to illustrate aspects of the invention and the invention should not be limited to the following examples.

In a first example flow, a process to ingest and sync FACEBOOK Ad account data into Nanigans Ad Engine is described. In this example, FACEBOOK Ad Account ingestion will download existing ads running in Power Editor into Ad Engine for consolidation, analysis, and more. Some of the benefits customers may receive from utilizing FACEBOOK Ad Account ingestion are:

    • Consolidate FACEBOOK Ad Campaign Reporting: Easily view all FACEBOOK Ad campaign information in one solution, and take advantage of Nanigans advanced Business Intelligence capabilities using Performance Analysis.
    • Aggregate Campaign Data for Any Attribute/Metric: Utilize any of the 80+ reporting attributes available within Performance Analysis to drill-down into campaign and ad performance using an excel like pivot table that offers speed and flexibility in your reporting. Seamlessly compare performance of different creatives with the numerous attributes available in Performance Analysis.
    • Utilize ROI-Driven Budgeting and Optimization: For any further ad campaigns created in Ad Engine you can take advantage of Nanigans automation algorithms for budgeting and optimization to help make the most of every ad dollar.
    • Automate Ad Creation; Testing, and Bidding: Using Nanigans Ad Engine you can define the elements of a campaign (image, copy, targeting, etc.) and Ad Engine will automatically build all of the available ad combinations for you. In addition, after you define your campaign goals, Ad Engine will automatically bid and budget accordingly to maximize your campaign performance.

In this example, FACEBOOK Ad Account ingestion will download existing ads that are running in Power Editor and create a new Budget Pool inside Ad Engine for all of the placement data, then automatically create Goals and Rules for each different Ad Type. All historical data can be found within performance Analysis. Any creative such as images, etc. that was used within ads will be automatically downloaded and can be used within newly created Ad Plans. Additionally, this ingestion process allows users to take current ads managed in Power Editor and manage them within Ad Engine via Goals and Rules without having to repush or make changes to the ads.

FIG. 37 is a flow chart illustrating an example FACEBOOK Ad Account ingestion process 37600 as the following steps describe. Note that while in certain steps, numerical values such as the number of days, the number of accounts are given, though they are for illustrative purposes only. Any suitable numeric values may be used in an embodiment in accordance with aspects of the present disclosure.

Step 37601: Selecting an Ad Account:

    • From the Ad Account page you will see a new option next to credentials to “Import”.
    • Selecting Import will kick-off a wizard to import data from your FACEBOOK Ad Account into Nanigans Ad Engine.

Step 37602: Site Selection:

    • Select a site you would like to import data for.

Step 37603: Settings and Review:

    • Ensure all of your FACEBOOK Ad Account and Site data is correct and select the time period for data to import.
    • The options for importing time periods into Ad Engine are:
      • 7 Days (previous 7 days from current date)
      • 28 Days
      • 90 Days
      • Lifetime (includes all Power Editor data from the life of the FACEBOOK Ad Account)

Step 37604: Conversion Setup:

    • Select and prioritize up to 7 conversion events for optimization, and 8 for reporting.
    • By default all conversion events are setup with 28 day click, 1 day impression attribution window. The attribution window can be adjusted in the Conversion Setup window.
    • Note: Ad Engine can be configured to automatically select some conversions for optimization and reporting based on site setup and FACEBOOK Account. The UI enables re-ordering and removing these conversions as necessary.

Step 37605: Downloading Data into Ad Engine:

    • In this step data will begin to be downloaded from FACEBOOK and imported into Ad Engine. The progress bar will show you how much of the process of downloading has been completed.
    • Under the progress bar Ad Engine will highlight key features of the product with helpful “how to's” on how to begin utilizing each feature. You can exit this download window while in progress and the download will occur in the background. A button will appear in the top-right bar of Ad Engine next to Notifications, clicking this will recall the wizard so you can view the progress of downloading data.

Step 37606: Finalizing Data Import:

    • Once all of your FACEBOOK Ad Account data has been downloaded the final step of the process is to Review and Confirm your data. Ad Engine will display the following data once the download has been completed:
      • Ads Currently Live
      • Total Ads imported
      • Average Daily Spend
      • Graph (will show either Spend, Impressions or Clicks for imported time period)
    • Once you have confirmed your data, you can view all FACEBOOK ad account information within Performance Analysis by clicking the blue “OK, Take Me To Reporting” button.

In the example of process flow above, Performance Analysis is a feature that may enable advertisers to quickly get a holistic picture of campaign performance. Featuring an advanced pivot table, Performance Analysis, enables quick visualization and dive-into deep campaign metrics and view just the data that matters to you. In addition to viewing and saving custom reports—you can directly optimize and take action within your ad campaigns from Performance Analysis.

Another feature described in the example process flow above is Automatic Ad Building. Using Nanigans Ad Engine you no longer have to manually create every ad placement. Simply define the elements of your campaign—such as image, ad copy, link, and targeting then Ad Engine will automatically build all of the possible combinations for the ad types you specify. Whether you are creating 10 ads, or 10,000 ads Ad Engine saves you time building your ads and then optimizing for your business goals.

A third feature of the Nanigans Ad Engine described in this example is Revenue Optimization. Nanigans may enable one to optimize ad campaigns using Predictive Lifetime Value™ (pLTV) for the acquisition of profitable customers that lead to immediate and long term ROI. Move beyond proxy metrics to real results using Ad Engine and our algorithms that help you minimize spend, and maximize revenue.

Scheduling is a fourth feature described in this example process. Nanigans Ad Engine offers the flexibility to schedule your ad campaign for specific hours, days, weeks, or months. Whether you want to run a campaign only during weekdays, only on weekends, or only during business hours you have the ability to run your ad campaign within Ad Engine and have the system automatically determine when it is optimal to do so.

A fifth feature, FBX Product Feeds, allows one to manually upload a spreadsheet, or specify an automated product feed and automatically create ads within FACEBOOK Exchange (FBX). Using Ad Engine and FBX you gain the benefit of dynamically resizing product images to optimize display settings for placements automatically.

A sixth feature, Reporting API, automatically pulls-in reporting data and syncs it within your internal business systems. The Nanigans reporting API enables you to automatically pull campaign data and sync it within your own internal business systems as often as you want it. Whether you want holistic campaign data or event-level information for targeting you can seamlessly get this information from the Nanigans Reporting API.

Dashboard is another feature used in this example process, where a customer may get a snapshot of performance marketing data that is important to your business such as spend, ad type, and placement location across all ad campaigns. No diving into reporting, or collecting data—the Ad Engine dashboard gives you a holistic view of all your advertising information in one place.

FIG. 38 is a flow chart illustrating an example setup flow 38700 that includes data capture for use with full service access (i.e., complete functionality made available on historic data) and describes process elements to cover sales information and on boarding (i.e., activating) new clients. Given customers who are using FACEBOOK's advertisement management tools (e.g., Power Editor), the user of the destination advertisement management system should be able to view all the spend (i.e., all monetary outlays on advertising within a network or budget pool) side by side with PowerEditor metrics. In the alternative, the destination system should provide for tools to import those ads and/or ad information in the destination system.

The sales and onboarding process flow beings with

    • Step 38701: Question: “Would you like to import existing account data to Ad Engine”: received response options “Yes” or “Not Now”;
    • if “Not Now” exit flow; else
    • Step 38702: If “Yes” the user is presented with a screen that has them either select an existing site or create a new site;
    • new site flow includes generating a new site object under which the advertising information is organized;
    • Step 38703: Post site selection or Creation, “Campaign Options” appears:
    • a name option is display for user input or selection of the budget pool and for the template that system utilizes;
    • advanced options will include a time window of data to download. Options are 387 days, 14 days, 28 days, and 90 days (other embodiments enable time windows of one year or more—in one example default is 90 days);
    • system displays “Go Back” option and “Continue to Next Step” option for user selection;
    • Step 38704: Action Set Up (system queries account level of FACEBOOK data to find all existing actions (including inactive);
    • a user interface screen appears for the users to order the system identified actions (ordered action are used by the system to create a light weight funnel (i.e., filter) for optimization);
    • system displays “Select Actions to Track” option and present default order by sum of actions (see, e.g., FIG. 36C);
      • Example of default ordering includes—largest sum of actions to smallest sum of action when presenting the list
    • users can re-order the actions via drag and drop and/or trash ones they don't want to insert into tracking orders;
    • in one example user has two options one for “reset” which restores any changes and “Ok, I got it. Let's move on and review everything”;
    • in some embodiments, a default set of assumption are made for flow execution at step 38704—the default assumption can include any one or more of:

for actions—app install/mobile app install, offsite_conversion, link click, page like, and for engagement actions—pushed out;

    • Step 38705: Data downloading:
    • while the data is downloading, show a progress bar (if progress can be calculated);
    • the dialog can include text for example “This may take a few minutes. We will send you an e-mail when the download is complete.”;
    • in another example, under the progress bar, show a carousel-esque scrolling photo panel of 5 or so advertisement management features;
    • Step 38706: data is downloaded: once the data is imported, an email goes out to the user to let them know the data is imported and they need to come in and complete set up. Also this message appears on screen if the user has not closed the browser window. This Screen shows the sum of total spend Imported, the daily spend for the last 387 days, the number of ads imported, with a breakout of how many of them are “active.” User provide option to move forward “Ok, just one more step”;
    • Step 38707: Review: next a screen shows a review panel with metadata, ad count and spend and the mapped actions (mapped action refer to actions identified by definition on the system as conversion events), and a graph of the last 387 days of spend; option: “Ok, take me to Reporting”;
    • Step 38708: Product Tour—the user is shown Performance Analysis and a light overview via app cues sits on top of New PA that covers: reporting, bidding, budgeting, and additional features offered by the destination system (e.g., Nanigans Ad Engine)

FIG. 39 is a flow chart illustrating another example process flow 39800 that describes another use case for advertisement information ingestion. The process flow begins with:

    • Step 39801: sign up form. The form can request name, company, email address, password, site name, vertical, direct or agency, and terms of service to accept. The company name becomes client identifier, site specified name is use to populate the site name filed (also used as application id), email validation email is sent on the completion of this step contains a code. To conclude user is provided option, “Continue Sign Up.”
    • Step 39802: Validation—includes display of an input box for the code that is emailed in the previous step:

Options for “Back” and “Next” are shown—next is grayed out until the input boxes are filled in;

    • Step 39803: FACEBOOK Account Set Up: button for “Link FACEBOOK Account to Ad Engine” is shown;
    • one example used oAuth protocols to generated a pop up display to input authentication information for FACEBOOK account and data capture;
    • once the account is authorized, the option to Name the account gains focus and an input box is show for name;
    • validation that an email address is there;
    • user is then show options “Back” and “All Set! Let's keep going”;
    • Step 39804: Start Data Import: display splash page and message “We will now start downloading your Ad Account, this may take a few minutes. We will send you an email when the download is complete”;
    • a small hyper link button to toggle advanced options exists;
    • advanced options are configured to let the user select time window of data to download. Options are 7,14,28 and 90 (in days). An example default is 28 days;
    • user shown option “Let's Go!” to continue;
    • Step 39805: data downloading: while the data is downloading, show a progress bar;
    • under the progress bar, show a carousel-esque scrolling photo panel of 5 or so destination system features (e.g., Nanigans AdEngine features—performance analytics, cohort, dashboard, etc.);
    • Step 39806: Action Set Up: screen appears for the users to order their FACEBOOK actions to create a light weight funnel (filter);
    • example advancement includes a “Select Actions to Track” option shown in display;
    • UI can include default order by sum of actions, largest to smallest when presenting the list where users can re-order the actions via drag and drop and trash ones they don't want to insert into tracking orders;
    • to continue user shown two options one for “reset” to restores any changes that were done to the order and “Ok, I got it. Let's move on and review everything”;
    • Step 39807: Your Data is downloaded: once the data is imported, an email goes out to the user—summary information can be displayed here to show the sum of total spend imported, the daily spend for the last 7 days, the number of ads imported, with a breakout of how many of them are “active.”;
    • example option to advance in flow—select “Ok, just one more step”;
    • Step 39808: Review: next a screen shows a review panel with naming conventions, Ad Count and Spend and the mapped actions;
    • example to advance flow—user presented options for “Back” or “Ok, take me to Reporting”;
    • Step 39809: Product Tour—the user can be shown features of the destination management system, including for example, performance analysis and a detailed overview via application cues of reporting functions, bidding, budgeting functions, and additional features offered by the system (e.g., Nanigans' Ad Engine)
    • Step 39810: follow up—upon completion of the wizard (i.e., steps 39801-809) the user is placed fully into the product; a “Congratulations Email” is sent and the user can analyze the imported data used the new features provides by the destination advertising management system.

Examples of general data flow elements for ingestions include (any number or combination of the follow elements can be used in various process flows):

    • a boolean option display requesting download existing (live) ad groups and associated data;
    • data download options includes trailing time options, 7 days, 14 days, 28 days, and 90 days with default to 28 days;
    • other examples enable download all data (not time range input);
    • trigger oAuth 2.0—display a window to grab the username and password; and
    • authorization process can be implemented to remain on destination system web site, i.e. retrieve data from target systems rather than transition and capture.

In other examples, ingestion process execution can also include universal object creation—to make sure all the meta data tied to a placement exists. For example, data fields created for universal objects can include: Ad Plan (hidden object); “Allocation” (‘Simple’ template), Ad Plan Policy object aka Strategy Group; Budget Pool (new BP—require naming in flow, no daily budget needs to be set in advance); Ad Plan Pricing; Pricing.

In further examples, advertising campaign downloads can include operations to fetch campaign names, id, objective, and status. Adset downloads can include operations to fetch adset names, id, status, budget_cents, start_date,end_date, and parent_campaign_id. Once captured, the process can execute mapping operations to find parent data objects in the destination system and associate the preceding fields into a structure table. Query ad group from downloaded information to obtain: ad group end point to find ads and fetch adgroup name, id, status, bid_cents, and objective. Once captured, the process can execute operations to find a parent data object on the destination system and write structure_id row to a placements table and put row in placement_set_links table, as well as placement_relations, and placement_pricings. Additional operations are configured to detect “ad type” (this is in the creative object as define by FACEBOOK). In one example, the system is configured to operate as a reverse compiler to take FACEBOOK specialized data and map it to sets. According to one embodiment, a set is a data model object which includes FACEBOOK's creative and also includes targeting data. Using a broader (i.e. more inclusive data model) enables functionality across a plurality of advertising systems that extend the options available through various conventional systems. When the destination system (e.g., Nanigans' AdEngine) deploys ads, the ads are compiled or pushes from the universal data objects into the FACEBOOK data model. Ingestion reverses this approach and translated FACEBOOK's data model into the universal form of the destination system.

In further examples, responsive to importing creatives (FACEBOOK data object), the system captures: Title, Body, Image, Post Text, Caption, Description, and post id and maps to the universal data object. Also captured and mapped are conversion specification data, tracking specification data, keyword sets and any virtual target creations. Additional details can be captures and mapped, including: page posts, add to Library.opengraph_actions and objects tables based on conversion, specifications and/or tracking specifications.

Other data capture based actions can include:

    • set Creation
    • use each element to create records in “sets” table, set_details too . . . and update placement-relations
    • placement record creation and incorporate assorted links
    • Bid, bid type and budget fetch from ad group and campaign
    • ad plan set links (site_id, ad_plan_id, set_id, etc.)
    • create actions
    • scan all the “actions” across the graph, create a list of “actions”
    • present list of actions in order for the user to select to set up, allow the users to drag and drop them in a stack rank order to create the “funnel” concept
    • fetch stats: if possible fetch stats in hourly intervals for the select time period, and if not, fetch daily stats and note during the import process hourly stats won't be available historically but will be there going forward.

In various embodiments, the system includes a predictive, analytics, and optimization executables interposed between an advertisement representation layer and the campaign configuration layer. The predictive, analytics, and optimization layer may be configured to provide one or more advertisement parameter suggestions automatically. In various embodiments the destination format is configured to enable predictive optimizations on the execution and management of individual placements, budget pools, strategy groups, and entire advertising campaigns. In some embodiments, after ingesting advertising campaigns, a new management system can operate on historical data to predict performance and/or optimize execution of advertisements and/or make one or more suggestions. Automation enables the system to distinguish between ads that have good value (methods and systems for determining value are described in Co-Pending U.S. patent application Ser. No. 14/324,992, entitled PREDICTING CONSUMER LIFETIME VALUE, filed on Jul. 7, 2014, which is incorporated by reference herein in its entirety), and ads that are likely throwing money away—equally important, in some examples, is that the system can convey high volumes of data to an end user, understandably and manageably, through customized displays.

The system and UIs provided enable definition of advertising parameters for any ad placement. The UI can include contextual displays of a plurality of existing placements and the associated data can be captures and used to population data fields for the parameters for an ad placement. As the parameters are defined they can be passed through a gatekeeper server, which can be configured to reduce the received parameters to a core ad or placement representation, which can be used to establish a management ad representation configured to enable management of a plurality of channel specific ads or placements and/or associated functions, where the placements can be generated from the core representation. In one example, the management placement representation is configured to enable management across, for example FACEBOOK via an API, FACEBOOK EXCHANGE, MOPUB, TWITTER, etc. Each modification to the placement and/or execution of a management function (e.g., bid up, bid down, pause, re-target audience, re-deploy placement, etc.) can return performance information from the respective channels and map to data structures native to the ingestions system. The UI can be configured to visualize the returned information, for example, using the management placement representation.

According to some embodiments, historical data can take a while to ingest, and the machine learning model is configured to wait until the data is available. In some example accounts take less than a day to ingest, although large accounts can take substantially longer. According to some embodiments, data analysis is available for whatever data has completed ingest (e.g., a complete advertisement has been ingested) as the ingest is in process, but the system is configured to provide automatic operations as recommendations until the entire ingestion process has been completed. In another embodiment, the user can specify on the system, and the system is configured to automatically control, advertisements as they are ingested (and entire ingestion not complete), an options for the system to take over automatic control during ingestion.

For example, according to one embodiment, an interface may be provided that is a data-centric pivot table that allows dynamic navigation into more specific information, such as ad placement information. For instance, a user may be presented an interface that allows a user to navigate through performance analysis data (e.g., ad placement performance information) to locate specific ads and their performance within a hierarchical view. The specific ad information that is displayed may include performance information specific to the filters used to navigate to the specific ad. Such an interface is beneficial, as it permits an advertising manager to quickly locate relevant ad placement details through a data-driven interface. In one embodiment, the interface may include the ability to present an inline summary of the ad placement within a tabular view of the performance data. Summary information associated with the displayed ads may be changed depending on the filters or other user selections within the interface. Such capabilities may permit a user (an advertising manager or other user type that manages ad placements) to quickly locate relevant ads within the user interface that relate to the displayed placement performance data.

In further implementations, the ingestion subsystem is configured to capture new FACEBOOK metrics and readily translate the new metrics into performance analysis fields that are selectable in the high data volume user interface. Selection of any of the new metrics enables visualization of the action metrics within data pivot table displays. In some embodiments, the data fields are displayed such that various fields of the display elements are selectable to filer the data to display, group the data to display, and merge data fields in the display, among other options.

In some embodiments, the user interfaces operate as web enabled pivot tables. Under the automated analysis provided by the system good ads survive (e.g., meet performance targets), and bad ads are killed (e.g., system automatically pauses any spending and/or placement with an ad network). In parallel, the system presents the massive volumes of data associated with those ad placements in accessible and navigable data visualizations (as described in greater detail below). The automation operations executed by the system for selecting good advertisements and eliminating bad are executed automatically on the system, for example, constantly. The result is evolving data and data structures, and correspondingly evolving user interfaces that convey the changes on managed ad placements (i.e., ads).

According to some embodiments, end users should be able to readily see where any spending is occurring, and readily understand what features worked best so that future ad placements can perform even better. According to one aspect, the high data volume system implements data access and visualization tools that can include a thin wrapper over MySQL or other relational database formats. In some examples, the data is accessed through a number of “views” (e.g., built for example using GROUP BYs or clustering functionality), on which any number of filters can be applied (e.g., filters can be executed by WHERE clauses). In one example, the filters can be visually selected in user interface display to dynamically tailor ad placement information to the user's needs. Further, the views can be dynamically modified, and data views reorganized accordingly. In some examples, any selected view can be translated to database selection statements or groups of statements (e.g., SQL or other database logic statements), and the results are loaded onto the screen. In one example, the system renders one screen worth of rows at a time, and every row is a fixed height.

In further embodiments, the data access and visualization architecture is re-designed to accomplish any one of or any combination of the following targets:

    • Enable drilling (e.g., data selection, data filtering, data grouping, data refinement, among other options) into data to cut a variety of ways that are simple selections in user interface displays, and include rendering of drilling operations into data in a multi-level table (e.g., similar to a pivot table).
    • Generate result sets (e.g., initial views, drilled into views, filtered views, etc.) and display results in less than a second, regardless of Internet connection and computing device (e.g., smartphones, 3G connections, etc.).
    • Manage tables, data, and attributes of thousands, hundreds of thousands, and millions of rows—and do so at any level of display to the user's device.
    • Data cells and visualization of the data in the user interface include support for variable height cells, rows, columns, etc., and can further dynamically manage complex content (e.g., a preview of an ad placement, among other options).
    • Scrolling in the user interface should behave like a webpage (e.g., regardless of data volume). For example, scrolling should not lock to the top of each cell—and, for example, the user interface must be configured to handle really tall cells without comprising the visualization of other data.
    • changing the sorts on results needs to be incredibly fast.

In one embodiment, an inefficient implementation is described to emphasize how unique and efficient the use of recursive row groupings are. The inefficient implementation includes generation of a “row group” widget for any set of 50 rows. In its initial state, the widget is configured to start empty and attempt to approximate a height for a given display. If the scroll window of the browser gets close to the widget, the widget is configured to fetch the row data (e.g., preload) to make sure the data is ready for visualization. As the widget becomes visible on the screen, the widget is configured to fill itself with row data. As the widget goes off-screen, it is configured to adjust the height estimation, and empty itself out again.

In some examples, row group widgets were sufficient for loading and displaying data. However, in a preferred embodiment, rather than building one “row group” for every 50 rows, a recursive implementation causes the system to first generate 10 “row groups” and divide all rows of data evenly among the row groups. For example, the first “row group” is responsible for rows 1-100,000, the second for rows 100,001-200,000, and so on. In some embodiments, a row height estimator enables enhanced visualization of the massive amount of data and provides for seamless transition between the row groups.

According to one embodiment, if a “row group” is visible and spans more than 10 rows, instead of filling memory or the UI with all 100,000 rows, the system subdivides the main row group into subsidiary “row groups” again. At each stage of data loading and/or visualization of each large group of data can be divided into a first hierarchical level, a first sub-level, a second sub-level, and further sub-levels until a manageable number of rows is achieved. In some embodiments, by applying this algorithm recursively, the system reduces need for over 20,000 DOM elements (for a million rows) for inefficient systems down to approximately 60 DOM elements utilized in a display that allows users to access one million rows.

In further embodiments, searching for row groups that should be loaded into memory or shown the UI is executed by the system as a tree search that generates and returns results incredibly fast. In one example, the system reduces the problems associated with loading and displaying a million rows into a logarithmic solution. In terms of a logarithmic solution, increasing the data size handled by the recursive row group solution by 10 fold adds only 10 new DOM elements to the execution. Thus, the problem is resolved up and until the point that backend delivery sets a processing ceiling, and also where the maximum height of a page that a browser can render is limited to approximately 32 million pixels.

In some embodiments, the underlying functions of row rendering and height approximation can be implemented with a variety of solutions. For example, there are many approaches for rendering that can include traditional table elements, sized “divs,” or more complex solutions like “display:box.” The various approaches can be integrated with recursive row grouping to build, load, and display massive lists of an arbitrary number elements.

According to one embodiment, the recursive display of ad placements can be specifically tailored to facilitate management and review of FACEBOOK (“FB”) actions. In one embodiment, the recursive display can be tailored to include the FB actions within ingested advertisement and/or advertisement campaigns. In some examples, the actions can include FB audience network, FB defined actions, social actions, and video metrics. These actions, can be based on the FB metrics available for advertisement campaigns, track user engagement on the FB audience network and within FB owned properties, including video and social interactions.

Each of these data fields can be displayed in the UI for selection. The new metrics are ingested into the system and can be rendered in performance analysis views, where users can view reports based on pre-existing campaigns that are now visualized as any number of groupings of ad placements. Ingestion followed by visualization enables visualization and navigation of data and/or data attributes including those actions from FB advertising network (“FAN”), social, video, and custom actions defined native to FB. According to some embodiments, the system can trigger APIs that map to custom actions native to FB or other content host systems (e.g., via integration with public facing APIs made available on the respective content host systems. This enables the UI and/or system to present a consistent management interface that controls placements and specific actions associated with them regardless of the content host or advertising channel being used. In one example, various data attributes and data values can be ingested from FB (e.g., FB actions) and translated and/or mapped into the system for high data volume analytics. Although FB actions may be used, it is appreciated that any information identifying specific application related user actions for an advertisement may be ingested by a system that performs performance analysis of advertisements and the information may be visualized according to one aspect of the present invention.

According to one embodiment, the system includes an API configured to communicate with a graph based data structure exposed by third party APIs. In one example, the system and/or API is configured to communicate with a Graph API—a representation of the information on Facebook composed of: nodes—basically “objects” such as a User, a Photo, a Page, a Comment; edges—the connections between those “objects”, such as a Page's Photos, or a Photo's Comments; and fields—info about those “objects”, such as a person's birthday, or the name of a Page and map the retrieved data into the hierarchical data structures native to the system (e.g., advertising demographic hierarchy (e.g., advertising location, advertising target, advertising type, age group, budget pool, strategy group, ad set, individual placement, gender, custom audience, relationship, etc.). In some examples, the system API is configured to communicate using at least HTTP. The API is also configured to generate access tokens to pass security functions executed by the Graph API. In further embodiments, the system can continuously request updated information from the Graph API associated with placements being executed on the FACEBOOK platform. In yet other embodiments, the system API is configured to request publication or execution of placements through the Graph API, for example, to execute optimization functions/operations identified on the system. In other embodiments, the system can direct integrate with the Graph API or other content host APIs without need of an internal API.

In some embodiments, based on pre-existing advertisements (e.g., campaign level management with a FB audience network or advertisements that have defined custom actions) the FB metrics are ingested by the system, translated, and viewable in the user interface displays for navigation, filtering, grouping, and generating custom metrics that will be displayed within the management interface in subsequent sessions. The reporting features in the user interface enable more granular information on the performance of FB audience network, and social and video campaigns, beyond what the FB platform provides. In some embodiments, the user interface enables creation of custom metrics, and in particular creation of custom metrics based on FB actions. According to one embodiment, the user interface enables creation of custom metrics within three clicks of a mouse or within three executions of user interface operations within the performance analysis display of the user interface. In other embodiments, the system may take any number of actions with respect to advertisements, and the actions can be determined automatically in responsive to analysis of FB action information relating to those advertisements.

FIGS. 40-60 include examples of user interfaces for interacting with high volumes of placement data. The user interfaces shown include navigable data structures, and FIG. 54 includes display bars for selecting FB actions (e.g., in the right display bar 7505) within the placement data. Upon selection of the displayed elements, for example, at 7502 the user is able to create custom data metrics based on associated FB actions. The user interface also enables point and click creation of custom metrics on any displayed data attribute, combinations of data attributes, and/or introduction of new data attributes, which can yield data calculations on the selected data. For example, if a user wants FAN cost per impression, the user selects the FAN Spend data attribute and selects division by FAN Impressions to yield the custom metric FAN cost per impression. In one example, the new metric is then displayed in the main body of the user interface 7504. In some embodiments, custom metrics are persistent and remain in the UI until removed by the user.

After the FAN cost per impression metric is created, the metric is consistently available and can be shared across a management team with a single selection in the user interface. In further embodiments, the high volume data analytic system groups users to enable management of advertising accounts, advertising sites, advertising networks, and can be customized to provide group access and specific permissions for each user, even at the level of ad placement. In various embodiments of the analytic system, advertisements can be managed as individual placements. The user interface displays the individual placements, enables editing, manipulation, and/or customization of each attribute of the placement. Further, the placements are organized in various hierarchical levels. Ingestion operations typically include capture of grouping, organization, and/or hierarchy definitions.

For example, FIG. 40 includes organizations on Strategy groups and includes FB Ad Campaign 2014 and FB Ad Campaign—2013 09 in the main body of the display 6002. As shown, each group can be expanded in the UI via selection. Within the groupings, additional levels can exist—for example placements are grouped under Ad Plan. Each can be selected and reported on in the UI individually, collectively, and in any combination. The UI is further responsive to user actions to reposition displays via separator 6004. In response to manipulation of 6004, additional metrics can be displayed by sliding left, and displayed metrics can be hidden by sliding right.

In various embodiments, the UI simplifies access to the ingested FB metrics. In some examples, the UI flags metrics that are actively being used in the FB platform for prioritized display in the UI. In further examples, if an ingested campaign includes a campaign that has video placements, the respective video FB action metrics will now be viewable in the UI, and the corresponding data attributes available for selection to filer, merge, or customize visualization of data. Portions of the UI for FB action metrics are also shown in FIG. 61. For example, FIG. 41 includes a list of FB action metrics that can each be selected. Responsive to selection, the respective placements associated with the action metrics are displayed in the main body of the UI for further interaction. The UI enables advanced selections to further refine target audience (e.g., FIG. 61). Different audience segments are easily navigated with one or two clicks in the UI (e.g., see FIG. 61).

Ingested FB action metrics can be shown in multiple views and multiple attribution windows. The UI enables visualization of FB's default attribution window (e.g., 28-day click, 1-day view). With a single click in the UI the default view can be changed to individual attribution windows of 1-day click, 1-day view, 7-day click, 7-day view, 28-day click, and 28-day view. Each display of attribution in the window is individually selectable in the UI as shown in FIG. 61.

Other interactions with the high volume data are likewise simplified in the UI. For example, shown on FIG. 41 is a basic action function set. Selection of a Summary group in the main body of the UI 6202 (e.g., CPC Strategy Group [230] at 6203) opens the display of the underlying elements of the group 6204 to the placement level at 6205. Other groupings within the Summary Group can also be expanded in the UI via selection (e.g., at 6206). This data can be recursively organized (as discussed above with respect to row groups) enabling quick access to any data the user wishes to display. With the placements selected, an action bar display is shown on the right side of the screen at 6208. Each selection in the action bar 6208 triggers the respective action for the selected placements. FIG. 42 shows a higher level view of the strategy groups at 6304. Responsive to selection of adjust bid 6306 in the action window 6304, the UI transitions to the display show at FIG. 41. As also shown in FIG. 41, actions may be executed on multiple placements simultaneously. Any action selected in 6208 can be executed on the respective placements selected in the main body of the UI display. For example, individual placements can be selected in the UI (FIG. 43) at 6402 and any action shown in the placement action bar 6404 can be executed on the selected placement.

The data displayed via the UI can be customized responsive to user selection. In one example, the user may select various combinations of data dimensions creating their own display for any multi-dimension groups they build. For example, shown on FIG. 44, the main body of the display organizes information on placements into information hierarchies (at 6506), where each hierarchy level can be displayed as a row in the UI, and sublevels within the hierarchies can be indented. In the right side of the display screen 6504, shown are all available attribute sets (e.g., groups of data attributes associated with the placements in the main display 6502). In various embodiments, the system enables selection of multiple attributes and/or attribute groups to pivot the data being displayed in the main body of the display 6502. In some embodiments, the attribute selections can be made across any of the hierarchical groupings shown in the main body 6502. In the bottom portion of the attribute display bar any selected attributes and/or attribute set groups are displayed. Each display elements in the bar 6504 can be manipulated via further selection, edited, and/or deleted. In further embodiments, the ordering of functions in the display bar 6504 is maintained when the respective attributes are displayed (e.g., to the right of 6004 (FIG. 40). In some embodiments, ordering is enforced based on functional grouping (e.g., filters, attributes, metrics) first, then based on subgroupings within each functional grouping (e.g., FIG. 54 Cost, FB Actions, Return & Rates, Volume), and then based on listings of selectable elements (e.g., visualized list or FB actions 7514).

According to one embodiment, more generally, the function groupings are organized in a first level, each subgrouping within each function grouping is organized and ordered, as needed, second sub groupings with the first subgroupings are organized and ordered until the actual measurement object is visualized. This approach provides not only for consistent visualization of massive amounts of data (so that it is readily understood (unlike many conventional approaches)), but also so the steps necessary to access data in the management visualizations are consistent (as opposed to many conventional approaches).

According to other embodiments, to facilitate selection of any desired attribute, the attribute display bar (e.g., 6604, FIG. 45) can include a search tool 6606. The search tool provides an interface with any of the associated attributes for the placements and/or groupings of placements shown in the main body 6602 of the UI. Type ahead functionality can also be provided in the search tool (e.g., FIG. 46) and type-ahead matches shown in the UI at 6702. To facilitate user selection, descriptive dialogue bubbles (e.g., 6706) can be displayed, for example, based on the user hovering a displayed pointer over an attribute selection option, 6704. Once the attribute is selected (e.g., creative preview shown at 6802, (FIG. 47) in the selected attribute display), the placement data display is dynamically re-configured to include the newly selected attribute and/or attribute sets at 6804. According to some embodiments, the UI is configured to provide holistic and intuitive organization of functions that enable the user to easily drill into any aspect of the advertising campaign.

Further, the organization of functions shown enable easy transition into and out of detailed visualizations. The transitions are configured, in some examples, to limit the inputs needed from a user to access information and/or modify displayed information. For example, the user interface displays and organizes management functions in logical groupings, where the display is configured to “slide” (e.g., a visual animation of entering the screen) into the user interface display responsive to selection. Shown on FIG. 40 at 6006 are selectable groupings of management functions. The groupings can include “Chart,” “Data,” “Filters,” “Metrics,” and “Today.” The groupings provide quick access to management functions organized by logical groupings. Each logical grouping is designed to facilitate selection of common functions to enable a streamlined selection and further drilling into data analytics. For example, attribute functions and example selections with that logical group are illustrated in FIGS. 44-50.

In further embodiments, selected attributes can be further edited, for example, by selecting 6806. Responsive to selection of an edit function (e.g., 6806), the UI transitions to an overlay display for directly editing attribute selections within an attribute set, as shown in FIG. 48. The edit attribute display 6902 organizes available attribute options hierarchically (e.g., using recursive row groupings). The display 6902 includes a search tool 6904 for easy selection within the available attributes. The right side of the display 6906 shows any selected attributes. In some embodiments, as attributes are selected the greyed out display 6908 of the placements underlying display 6902 can visible change, responsive to attribute selection. Once complete, selection of “cancel” or “ok” returns the system to a placement view (e.g., FIG. 47). Available attributes that do not have corresponding information can be shown in the Edit Attribute Display (e.g., 7002 FIG. 49), however such selections can be greyed out (e.g., 7004, 7006, and 7008) to visually indicate to the user that such selections will have no effect on displayed data. The UI can also support drag and drop operations of any attribute or attribute group (e.g., FIG. 50).

According to one embodiment, the Attribute functions available in the UI enable selection, modification, and/or grouping of the data the user wishes to analyze. In another the Filter functions enable the user to selection within that main data set to analyze sub-sets of the data matching specific criteria. In various embodiments, the user can transition between attribute functions and filtering functions to dynamically broaden, narrow, shift, and/or merge data sets for review among other options. Thus it is appreciated that while attribute functions, and filter functions (as well as others) are described separately, the operations work together to facilitate any move within the data or transitions to other data sets.

Shown in FIG. 51, is a filter selection bar 7204 that can be used to manipulate the data displayed in the main body of the UI at 7202. As discussed above, the user can select from any available management option, including those shown at 7206 to actively manipulate the displayed data. In some embodiments, the filters displayed in bar 7204 can include hierarchy aware filters. In one example, the filters listed are determined by the system based on a position in the hierarchical display of the data in the main body of the user interface 7202. In further embodiments, the filer bar 7204 includes a search tool for accessing a filter, sub-filter, or custom filter executable against the current data set. Selected filters shown are at the bottom of bar 7204 at 7210. The selected filters can be edited (e.g., via selection of 7212 or removed 7214. In other embodiments, filtering can be applied at any level of the data hierarchy.

According to other embodiments, the user interface can also provide global views of ad placement being managed by the high data volume analytic system. FIG. 52 includes a global visualization of ad placement data. FIG. 53 illustrates a user interface showing graphical visualizations of the selected data at 7402, first level organization of strategy groups of ad placements 7204, and default attribute columns for the associated data at 7206. At 7408, a user can select the metrics on which the data in 7402 is graphed. The user interface is configured to display both rows and columns of data tailored to a display in which the data in rendered. In some examples, the column and/or row size is dynamically determined to optimize visibility of the displayed information (e.g., columns and rows can be hidden where the data volume comprises the ability to read the data).

According to some embodiments, the user interface can transition into a management display responsive to selection of a management function group (e.g., 7506 “Metrics”). Shown in FIG. 64 is a metrics display bar 7505. In the bar 7505 users can view, expand, navigate, and/or search metrics, for evaluation and/or manipulation of current data being displayed in the main body of the UI at 7504. At 7502 are the newly available FB action metric tailored to access ingested FB data. In the bottom portion of bar 7505, shown are the selected metrics at 7508. The metrics at 7508 can be removed via selection of, for example, 7510. The metric types can be categorizes (e.g., Cost—7512, FB actions—7514, Return & Rates—7514, and Volume—7518 among other options) to facilitate user selections. Likewise search tool at 7520 enables text searches for specific metrics.

FIG. 55 illustrates a plurality of selected groupings in the metrics display bar 7604. The listing of metrics is in 7604 is also reflected in the column displayed in the main body of the UI 7602 at 7606. Re-ordering in either portion of the display triggers the UI to re-order in the opposite side of the display. The selected metrics shown in 7604 can be dragged and dropped to re-order, to remove metrics, etc.

Each of the available FB actions is included as a selectable metric in, for example display bar 7704. For example, FB actions associated with dimensions and specific time windows are shown at 7706. Any selection 7704 can be used to manipulate the display of data in the main body of the UI at 7702. Other potential FB action metrics are shown in FIG. 57 at 7806. FIG. 58 illustrates additional functions with respect to the metrics bar. A user may maintain metric information in memory and simply hide display column via selection of 7902. Further users can use the UI to generate custom formulas at 7904. The custom formulas can include combinations of any available metric. The custom formulas remain assessable to the user until deleted. In further embodiments, custom metrics can be shared among users in an administrative group.

In further embodiments, custom views can also be shared across users in an administrative group. For example, each url shown in the user interface (e.g., 8008), can be captured and transmitted to other users. Via the share url, other users can access the same view, metrics, etc. In some embodiments, the shared url will require authentication and verification of permission to access the shared view (e.g., user must be in the same administrative group and authenticate). FIG. 59 illustrates additional management functions displayed as a left side bar. The management functions displayed in the left side bar 8002 are organized based on being administrative in nature as opposed to function for operations on the data or for visualizing elements of the data, etc. As shown, the user interface is configured to save current views at 8004, and further enables access to previously save views, for example, at 8006.

FIG. 60 illustrates additional management functions provided by the system. At 8202, the management function bar includes “Data” at 8204. Responsive to selection of 8204 a drop down list of functions to execute are shown. The functions can manage the data displayed (e.g., time of click, time of conversion) or how the data is displayed (e.g., display comfortable, display compact, reset column widths). Further, users can export any view of their data.

According to another aspect, the system is specially configured to enable consistent views of data and data results. In one embodiment, data result views can be configured to display snapshots of result data. The snapshot of result data is an image of the result set taken at the time that query, filter, attribute merge, etc., is executed. The snapshot of result data enables, for example, the use to see a consistent view of their ad placement data even as the underlying data is changing.

Some embodiments include additional enhancement to the user interface displays. For example, the UI can be configured to display information header rows as sticky rows. Rather than completely freezing the header row in the table based display, a sticky row continues to be visualized as long as a data row within the grouping is visualized, but once the sub data row is rolled up, continued scrolling is configured to move the sticky row responsive to scrolling. In other embodiments, the user interface is configured to detect display characteristics for an end user device and size the UI displays (including e.g., row sizing, column sizing, graph sizing, etc.) accordingly.

According to one aspect, a visualization interface may be provided that includes a web-enabled pivot table used to analyze and present ad performance data. According to one embodiment, advertisers may use such a pivot table to view, sort through, and visualize multiple dimensions of campaign data. Such tables, according to various embodiments, are configured with the attributes and metrics that matter by adding predefined audiences, creative elements, data-related attributes or placement details, followed by the metrics that determine campaign success. Once the selections within the interface have been made, the user may be permitted to simply drag and drop to re-order metrics to create a customized campaign dashboard. Such interfaces may be modified to include a summary view associated with a specific ad within the table based on specific user selections within the pivot table. This permits, for example, a user to selectively create a dashboard using certain metrics while at the same time seeing the specific ad placements and their associated summaries according to the configured dashboard. For instance, if an advertiser wants to see which creative was performing the best, the user is permitted to sort by key metrics (e.g., ROI, LTV, CTR, CPC, etc.) and locate specific summary view information relating to those placements.

For example, according to one embodiment, an interface may be provided that is a data-centric pivot table that allows dynamic navigation into more specific information, such as ad placement information. For instance, a user may be presented an interface that allows a user to navigate through performance analysis data (e.g., ad placement performance information) to locate specific ads and their performance within a hierarchical view. The specific ad information that is displayed may include performance information specific to the filters used to navigate to the specific ad. Such an interface is beneficial, as it permits an advertising manager to quickly locate relevant ad placement details through a data-driven interface. In one embodiment, the interface may include the ability to present an inline summary of the ad placement within a tabular view of the performance data. Summary information associated with the displayed ads may be changed depending on the filters or other user selections within the interface. Such capabilities may permit a user (an advertising manager or other user type that manages ad placements) to quickly locate relevant ads within the user interface that relate to the displayed placement performance data.

It is to be appreciated that embodiments of the methods and apparatuses discussed herein are not limited in application to the details of construction and the arrangement of components set forth in the following description or illustrated in the accompanying drawings. The methods and apparatuses are capable of implementation in other embodiments and of being practiced or of being carried out in various ways. Examples of specific implementations are provided herein for illustrative purposes only and are not intended to be limiting. In particular, acts, elements and features discussed in connection with any one or more embodiments are not intended to be excluded from a similar role in any other embodiments.

Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. Any references to embodiments or elements or acts of the systems and methods herein referred to in the singular may also embrace embodiments including a plurality of these elements, and any references in plural to any embodiment or element or act herein may also embrace embodiments including only a single element. References in the singular or plural form are not intended to limit the presently disclosed systems or methods, their components, acts, or elements. The use herein of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. References to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms.

Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only.

Claims

1. A system for generating and displaying a graphical user interface for high volume data analytics, the system comprising:

at least one processor operatively connected to a memory, the at least one processor when executing, is configured to: receive advertising metrics; analyze and group the advertising metrics into an advertising demographic hierarchy; determine summary information for the advertising metrics in each level of the advertising demographic hierarchy; and generate a navigable user interface display comprising: at least one selectable drawer associated with a hierarchical group of advertising metrics, wherein the at least one selectable drawer includes a display of a title of a respective hierarchical group; and wherein the at least one selectable drawer is associated with a respective summary view of the advertising metrics within the hierarchical group.

2. The system of claim 1, wherein the navigable user interface display includes a first portion configured to display advertising metrics, and a selectably visualizable second portion configured to display management functions for placements managed with the system.

3. The system of claim 2, wherein the second portion is configured to be displayed with a visualization of moving into the display screen from a side edge of the display screen, responsive to selection.

4. The system of claim 2, wherein the second portion organizes management functions into a plurality of groupings including at least attribute functions and attribute subgroupings; filter functions and filter subgroupings; and metric visualization functions with metric subgroupings.

5. The system of claim 4, wherein the plurality of groupings are display in the second portion in a visualization order, such that data associated with each sub grouping is configured to display in the first portion of the display reflecting the ordering of the groupings and subgrouping shown in the second portion of the display.

6. The system of claim 2, wherein the second portion of the display is accessible by at most one click or computer operation in the user interface.

7. The system of claim 6, wherein the second portion of the display is accessible by at most one click or computer operation in the user interface regardless of content being shown in the first portion of the display.

8. The system of claim 4, wherein the metric visualization functions available in the second portion of the display are configured to generate visualization of FB Action metrics in the first portion of the display responsive to selection.

9. The system of claim 8, wherein the visualization of the FB Action metrics occurs responsive to selection of a first sub grouping in the second portion of the display to trigger visualization of respective metrics available in the first sub grouping within the first portion of the display, and responsive to selection of one or more of the respective metrics in the first sub grouping.

10. The system of claim 9, wherein the first portion of the display includes a main body, a separator visualization for controlling a display boundary of the main body and an adjacent display portion, and a minor portion adjacent to the separator comprising at least a portion of the adjacent display portion.

11. The system of claim 10, wherein the user interface is configured to maintain the ordering of information in the second portion of the display when displaying the associated data in the first portion of the display.

12. The system of claim 11, wherein the ordering is maintained in at least the main or minor portion of the display.

13. The system of claim 1, wherein the at least one selectable drawer includes a display of a membership number associated with the respective hierarchical group.

14. The system of claim 1, wherein the system specifies the advertising demographic hierarchy to include at least a first hierarchy level corresponding to a strategy grouping of ad plans, a second hierarchy level corresponding to an ad plan organizing a group of placements, and at least a third hierarch level for organizing the placements.

15. The system of claim 14, wherein the system is further configured to access and display the advertisement hierarchy according to a first default display absent user intervention, wherein the first default display, displays the hierarchy organized based on strategy group, with the strategy group displaying one or more ad plans, and with the one or more ad plans displaying the associated placements.

16. The system of claim 15, wherein the system displays a second display of the advertisement hierarchy responsive to user specification, wherein the user specification re-orders the levels of the hierarchy.

17. The system of claim 16, wherein the system is configured to execute filtering operations responsive to re-order the levels of the hierarchy and display at least the first, second, and third levels of the hierarchy dynamically in any order responsive to user selection of the order.

18. The system of claim 17, wherein the system is further configured to save properties of the hierarchy as a temporary view accessible in an administration display bar.

19. The system of claim 18, wherein the system is configured to save currents views until deleted responsive to user selection in the administration display bar.

20. The system of claim 19, wherein the administration display bar is configured to be visualized responsive to selection in the user interface.

21. The system of claim 20, wherein the administration display bar when triggered is configured to display from a left side of the screen and display over currently visualized advertising metrics.

22. The system of claim 1, further comprising a rendering engine, executed by the at least one processor configured to selectively render hierarchical groupings and selected sub-sets of the hierarchical data, wherein the rendering engine is further configured to organize massive data structures, into recursive hierarchies of rows, such that the recursive hierarchies define sub-sets of the hierarchical data, and a first sub-set of the hierarchical data can be displayed in a web browser on an end user system, and wherein the rendering engine triggers loading and/or display of a second sub-set of the hierarchical data responsive to scrolling via the web browser.

23. The system of claim 22, wherein the rendering engine is configured to separate a large number of data element into a first level of row groupings, wherein the first level of row groupings is selected based on a capability to quickly render the first level groups.

24. The system of claim 23, wherein all data to be displayed is a first one of the first level groupings is analyzed to further segregate the data of the first one of the first level groupings into at least second level row groupings.

25. The system of claim 24, wherein a first one of the second level groupings is analyzed to determine is further sub-groupings are required, and segregating the data of the first one of the second level groupings in response to a positive determination, and displaying or loading the data from the first one of the second level groupings in response to a negative determination.

26. The system of claim 23, wherein the rendering engine is configured to recursively segregate the large number of data elements into multiple levels of row groupings beyond the first level, responsive to determining that the data organized by the first level grouping exceeds a threshold amount.

27. The system of claim 26, wherein the rendering engine loads or displays a first one of a sub-level grouping in a user interface responsive to determining that the first one of the sub-level grouping meets any display criteria.

Patent History
Publication number: 20170052652
Type: Application
Filed: Aug 22, 2016
Publication Date: Feb 23, 2017
Applicant: Nanigans, Inc. (Boston, MA)
Inventors: Claude Denton (Lexington, MA), Per Anders Sandell (Boston, MA), Joshua Allen Breckman (Arlington, MA), Travis Hansen (Southborough, MA)
Application Number: 15/243,680
Classifications
International Classification: G06F 3/0481 (20060101); G06Q 30/02 (20060101); G06F 3/0485 (20060101); G06F 17/30 (20060101);