WO2014074303A1 - Compact tabular data time period comparison - Google Patents

Compact tabular data time period comparison Download PDF

Info

Publication number
WO2014074303A1
WO2014074303A1 PCT/US2013/066258 US2013066258W WO2014074303A1 WO 2014074303 A1 WO2014074303 A1 WO 2014074303A1 US 2013066258 W US2013066258 W US 2013066258W WO 2014074303 A1 WO2014074303 A1 WO 2014074303A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
period
column
columns
derived
Prior art date
Application number
PCT/US2013/066258
Other languages
French (fr)
Inventor
Jonathan Ronald DIORIA
Peng ZHUANG
Stephan Einar GUDMUNDSON
Original Assignee
Google Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Inc. filed Critical Google Inc.
Publication of WO2014074303A1 publication Critical patent/WO2014074303A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data

Definitions

  • Internet Web sites may display a company's promotional images and videos. These promotional images and videos may be displayed when a user searches the Internet using a keyword or search term.
  • a search engine operated by an Internet service provider takes the user-entered search term, searches perhaps hundreds of sites, and produces search results that are presented to the user on a Web page.
  • One of the search results may refer to a company's own Web site.
  • a company may contract with the service provider to display the company's promotional images or videos on the search result Web page.
  • the company may collect, or receive, time-based data that shows how many users viewed the company's promotional images and videos, and further, how many users took follow on actions, such as clicking on a link in one of the company's promotional images.
  • This performance data may be collected over time and may be expressed in tables. However, because tables typically exist in only two dimensions, the time- based nature of the data may not be apparent. That is, the data may be arranged in columns and rows with the rows representing a first data aspect and the columns representing a second data aspect. This arrangement of data in tabular form effectively hides the time basis of the data. Moreover, the performance data may not be capable of rearrangement to show the data's time basis. As a result, comparison of performance data from one time period to the next may not be possible. Description of the Drawings
  • Figure 1 A illustrates a report of performance data
  • Figure 1 B illustrates a possible modification to the report of Figure 1A to provide a time period comparison of data
  • Figure 2 illustrates an environment and system in which compact tabular time- period data comparison is enabled
  • Figures 3A and 3B illustrate an example compact tabular time period comparison interface that allows period-to-period data analysis and comparison
  • Figure 4 illustrates an example data reporting system that invokes the interface of Figures 3A and 3B;
  • Figure 5 illustrates an example of components of the system of Figure 4.
  • Figure 6 is a flowchart illustrating an example method for compact tabular time-period data comparison.
  • the performance data may be presented in tabular form, and may apply for a discrete period, such as weekly. However, because tables typically exist in only two dimensions, the time-based nature of the data may not be apparent. That is, the data may be arranged in columns and rows with the rows representing a first data aspect and the columns representing a second data aspect. For example, a company may contract with a publisher to have posted creatives on Internet Web pages that are reached by individuals using search engines and entering search terms. The publisher may record performance metrics such as click through data as a function of keywords used with the search terms. This arrangement of data in tabular form effectively hides the time basis of the data.
  • the performance data may not be capable of rearrangement to show the data's time basis.
  • the data tabulations may not allow comparison of performance from period to period (e.g., week to week). As a result, comparison of performance data from one period to the next may not be possible, of if possible may not be practical.
  • Figure A illustrates a report 5 that tabulates performance metrics for a promotional campaign for a preschool system.
  • Creatives are placed on an Internet Web page that provides a search engine. Individuals may use the search engine to search the Internet.
  • a company's promotional campaign performance data is reflected in columns headed with metrics such as clicks, click through rate (CTR), and costs and rows for various keywords such as preschool palo alto, day care, etc. that may be entered into the search engine.
  • CTR click through rate
  • the data represented in the report 5 appears to represent only a snapshot of data, although the snapshot may apply to a day, a week, or a month.
  • One problem with the tabulated data is that the report 5 does not allow comparison from period to period (e.g., week to week). That is, a company may ask, periodically, if its promotional campaigns are profitable, and further may ask if the campaigns are more or less profitable currently than during past periods. The report 5 does not enable a company to answer the second question.
  • FIG. 1 B illustrates the results of this process.
  • combined report 5A provides a tabulation of promotional campaign performance data.
  • the report 5A shows two sets of data for the column labeled clicks. Clicks data for a first period is recorded in rows 6 and clicks data for a second period is recorded in rows 7.
  • the report 5A does not allow for easy or efficient period-to-period comparison of the clicks data. Moreover, the clicks column cannot be sorted to show increasing or decreasing clicks data. Because the report 5A does not allow for sorting or otherwise rearranging the data, it may not be practical, and certainly is not efficient for analyzing and comparing data.
  • the systems and methods allow this comparison in a manner that accounts for the size or dimension of a viewing screen and allows companies to visually or actually filter and sort the data in an easy fashion.
  • the embodiments disclosed below take as an example, a company that operates a preschool in Palo Alto, California.
  • the company provides creatives for display at a Web site operated by a publisher.
  • the Web site includes a search engine that accepts keyword searches from viewers and returns search result Web pages.
  • the search result Web pages include slots in which the company's creatives may be placed.
  • a search request contains keywords relevant to preschool, the publisher considers displaying one or more of the company's creatives on the search result Web page.
  • the viewer who receives the search result Web page may "click on" the company's creative; in so doing, the viewer may be directed to a Web page of the company, where the viewer has the opportunity to take a specific action such as register for preschool, accept special offers, request a brochure, complete a questionnaire, fill out a survey, or take other actions. These actions may be registered as "click throughs.” The number of clicks and corresponding click through rate may be used as a performance measure of the company's promotional campaign for its preschool services.
  • the company's creatives also may be displayed at other than a search result Web page.
  • a creative may be displayed after each move of an on line game, such as an online chess game, or at program breaks on a streaming video displayed at a Web site.
  • click on and click through data still may be obtained and used for analyzing the company's promotional campaigns.
  • Figure 2 illustrates an environment and system in which a compact tabular time-period data comparison is enabled.
  • environment 10 includes promoter 20, publishers 40, which provide Web sites 60, and viewing location 80, at which viewer 81 operates media device 82.
  • the promoter 20, publisher 40, and media device 82 communicate over network 50.
  • the promoter 20 provides creatives 22 that may be displayed on Web pages 62 of the Web sites 60.
  • the creatives 22 promote the promoter's products and services.
  • the promoter 20 may be a company that manufactures products or provides services. Alternately, the promoter 20 may be an agent of the company.
  • a user 24 at the promoter 20 may be responsible for analyzing and comparing data related to the company's promotional campaigns. As such, the user 24 may request periodic reports from the publisher 40, or another entity, that relate to performance of its promotional campaigns.
  • the publishers 40 operate the Web sites 60 and provide opportunities for display of the creatives 22, for example, on the Web pages 62.
  • a publisher 40 may provide a search engine that the viewer 81 can access to locate resources on the Web sites 60.
  • the publishers 40 each may include a data reporting system 100 that provides performance data related to the efficacy of promotional campaigns whose creatives are served through the Web sites 60.
  • a centralized data reporting system 100' which is independent of the publishers 40, provides the performance data.
  • the network 50 may be any communications network that allows the transmission of signals, media, messages, voice, and data from the publisher 40 and the Web sites 60 to the viewer 81 , including linear broadcast (over-the-air, cable, and satellite) television, on-demand channels, over-the-top media, including streaming video, movies, video clips, and games, and text, email, and still images, and transmission of signals, media, messages, voice, and data from the viewer 81 to the publisher 40.
  • the network 50 may include the Internet, cellular systems, and other current and future mechanisms for transmission of electronic content.
  • the network 50 may be both wired and wireless.
  • the Web sites 60 provide Internet-based content including video programs for display at the media device 82.
  • a Web site 60 may have one or more Web pages 62 that include locations or slots in which the creative 22 may be served.
  • a Web page 62 may request a creative to be placed in these slots.
  • the environment 10 may contain millions of Web sites 60. Included in these Web sites 60 are those for product manufacturers and service providers (i.e., the promoters 20), and Web sites for social networks, as well as search engine Web sites and other Web sites operated by the publishers 40.
  • the viewing location 80 may be any location capable of receiving signals over the communications network 50.
  • the viewing location 80 is a private home from which the viewer 81 uses media device 82 to access the Web sites 60.
  • the viewer 81 may use the media device 82 to search the Web sites 60 for preschools in Palo Alto, California.
  • the media device 82 may be fixed in position in the environment 10 or may be a mobile media device.
  • the media device 82 may be an Internet connected "smart" television, a "basic” or “smart” television connected to a set top box (STB), a Blu-rayTM player, a game box, an Internet-connected box, or a radio, for example.
  • the media device 82 may be a television that has no Internet connectivity.
  • a television that includes Internet connections may be referred to as an ITV.
  • the media device 82 may be a tablet, a smart phone, a laptop computer, or a desk top computer, for example.
  • the media device 82 may interface with the Web sites 60 using a browser, and may be used to execute specific applications that use data and/or services at the Web sites 60. Examples of such applications include those that allow for streaming of video programs such as movies, television shows, and video clips; online banking; games; mapping services; Internet searching, and other applications.
  • the applications that execute on the media device 82 may provide slots in which creatives may be placed. For example, an online game may refresh after every move of the game, and the refreshed page displayed on the media device 82 may include, or may be preceded by, a slot in which a creative may be served.
  • a viewer 81 using the media device 82 may sign on with a publisher 40 to access the Web sites 60.
  • the media device 82 may sign on automatically using previously provided and stored credentials or other authentication information.
  • the media device 82 may receive creatives 22 that are linked or related to the content displayed on the media device 82, once the viewer 81 has consented to receiving such creatives 22.
  • the viewer 81 may signal this consent upon initial contact with the publisher 40, or may consent to such participation at each sign on.
  • the determination of which creatives 22 should be placed at which Web sites 60 may depend in part on information related to the viewer 81 at the viewing location 80. This information may be provided by the viewer 81 voluntarily. For example, a viewer 81 may register with the publisher 40 and may provide information such as a password and user ID. In situations in which the systems disclosed herein collect personal information about viewers, or may make use of personal information, the viewers may be provided with an opportunity to control whether programs or features collect viewer information (e.g., information about a viewer's social network, social actions or activities, profession, a viewer's preferences, or a viewer's current location), or to control whether and/or how to receive advertisements from an ad server that may be more relevant or of interest to the viewer.
  • information related to the viewer 81 at the viewing location 80 This information may be provided by the viewer 81 voluntarily. For example, a viewer 81 may register with the publisher 40 and may provide information such as a password and user ID. In situations in which the systems disclosed herein collect personal information about viewers, or may make use
  • certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed.
  • a viewer's identity may be treated so that no personally identifiable information can be determined for the viewer, or a viewer's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a viewer cannot be determined.
  • location information such as to a city, ZIP code, or state level
  • the publisher 40 collects click and click through data, with no data collected as to the identity of the viewer 81 or the media device 82.
  • Figure 3A illustrates an example of a compact tabular time period comparison interface that makes possible period-to-period data analysis and comparison.
  • interface 200 includes data display 210, which can be seen to have columns 220 and rows 240.
  • the columns 220 include keyword column 221 , in which are or may be keywords that a viewer 81 might use when searching the Web sites 80 for information about products and services; and metrics columns 222 - 227.
  • the rows 240 include header row 241 and results rows 242 - 255.
  • a preschool service is provided by a preschool company in Palo Alto.
  • Column 221 lists keywords that might result in serving a creative 22 for the preschool company to the viewer 81.
  • the keywords in column 221 may be those, or their close variants, which might be found in a creative 22 for the preschool company and/or which might appear on the preschool company's Web site.
  • the preschool company selects the keywords appearing in column 221.
  • each of the metrics columns 222 - 227 may be expanded to include data for multiple periods, and each column includes an expansion button 250 for this purpose.
  • the expansion button 250 is shown with arrow icons; however, other icons, such as + and - icons may be used with the expansion button 250.
  • the expansion button 250 is pointing down its associated column, meaning the column is collapsed. If the expansion button 250 for a column is in the collapsed position, the column shows data for the most recent period for which data is available. When the expansion button 250 is in the expanded position (i.e., pointing horizontally), the column is expanded to reveal period-to-period data for analysis and comparison.
  • the interface 200 when the columns are collapsed, the interface 200 is in a compact tabular form showing data for a single (e.g., most recent) period.
  • the interface 200 allows for period-to-period data display, analysis, and comparison.
  • the expansion button 250 may be provided or activated on a column when the system 100 is operated to select a period-to-period data comparison. Otherwise, the expansion button 250 may not be displayed or may be inactive.
  • the metrics columns 222 - 227 may be expanded or collapsed simultaneously using, for example, master button 255.
  • the master button 255 may be provided or activated only after the user 24 has requested a period-to-period data display.
  • Figure 3B illustrates the interface 200 with column 223 expanded.
  • a user has selected a previous period to compare to a most recent period, and as can be seen in the expanded interface 200, the expansion button 250 for column 223, and column 223, which shows current data has expanded to include columns 223A, 223B, and 223C, which show, respectively, previous data, absolute changes in the data, and percentage changes in the data.
  • a user 24 may sort or filter on any of the columns 223 and 223A - 223C, or may simply scan the columns to analyze and compare the data so as to, for example, locate the keyword having the largest percentage increase in clicks.
  • any of the metrics columns 222 - 227 may be expanded. However, columns other than the metrics columns 222 - 2227 may not incorporate the expansion feature.
  • the user 24 may expand and collapse all columns simultaneously using the master button 255, or may expand and collapse a subset of the columns, including a single column.
  • FIG 4 illustrates a data reporting system used in the environment 10 of Figure 1 to produce the interface 200 of Figures 3A and 3B.
  • data reporting system 100 includes server 120, data store 130 and Web user interface 140.
  • the server 120 collects performance data and holds the data in memory for all logged in promoters 20 in order to quickly provide the promoters 20, through the Web user interface 140, with data reports relevant to the promoters' promotional campaigns.
  • the server 120 also receives data requests from the Web user interface 140, locates data for the relevant periods specified in the data requests, returns a single data set to the interface 200 and caches detailed data (e.g., for period-to- period comparisons) should the interface 200 call for column expansion to show detailed data for analysis and comparison.
  • the data store 130 stores programs which are loaded into memory and executed by processing components of the system 100.
  • One such program is interface program 330, which is described with respect to Figure 5.
  • the data store 130 further includes databases 132 that store data for operation of the system 100.
  • the Web user interface 140 may be physically present with the user 24.
  • the functions of the Web user interface 140 are provided by the system 100 through a browser operating on a media device of the user 24.
  • the Web user interface 140 may include a mechanism to cache or temporarily store the performance data displayed in the interface 200.
  • the performance data may be cached on the user's media device.
  • the performance data may be cached with a storage element of the system 100.
  • the Web user interface 140 includes display program 310 and interface program 330 and data store 350, shown in Figure 5.
  • the data store 350 is a non-transitory computer readable storage medium that contains the programming code of the programs 310 and 330.
  • the data store 350 also stores or caches performance data that is displayed in the interface 200.
  • the display program 310 may be capable of projecting or otherwise showing an image, including a table of data on a hardware device operated, for example, by the user 24.
  • the display program 310 includes controls for operating the interface 200, and more particularly may include a soft keyboard, a cursor/pointer, scrolling buttons, and other software defined mechanisms.
  • the functions of the display program 310 may be implemented as a program accessible to the user 24, and the user 24 may access the display program 310 with a browser on the user's own media device.
  • the interface program 330 includes the executable machine code to support compact tabular presentation of performance data; i.e., the interface 200.
  • the interface program 330 includes data picker 332, data request/reception module 334, data format module 336, and expansion/contraction engine 338.
  • the data picker 332 allows the user 24 to select one or more periods for display of performance data. For example, with the data picker 332, the user 24 may select the most recently- completed period and a period one year prior to analyze and compare the performance data.
  • the data request/reception module 334 sends data requests to the server 20 and receives data in return.
  • the requests may be of two types.
  • a single period request asks for performance data for a single period.
  • the server 120 then returns data just for the specified single period. In this case, there is no need for data derivation, and the interface 200 does not have any expansion/contraction features implemented.
  • a multi-period data request asks for data for at least two periods. For example, a multi-period data request may ask for data from the most recently completed period and the period immediately preceding the most recently completed period. In another example, the multi-period data request may ask for data from the most recently completed week (period 1 ) and an average of the preceding four weeks (period 2).
  • the multi-period data request may ask for data from the most recently completed week and the two weeks preceding the most recently completed week.
  • the server 120 will, as with a single period data request, return data for the most recent of the two or more periods.
  • the server 120 also caches data for the second or more periods and merges the data sets for the two or more periods to produce a derived data set.
  • the server 120 then may cache the derived data set.
  • the user 24 signifies a desire to view the second or more data sets and the derived data set
  • the user 24 selects the expansion button 250 for each column the user 24 wants to expand.
  • the interface 200 may have an expand all feature, which may take the form of the master button 255, to expand all expandable columns.
  • selection of the expansion button 250 or the master button 255 sends a data request to the server 120 to send the second or more data sets and the derived data for the selected columns.
  • the data format module 336 formats the received data, whether single period or multi-period, into an easy to read tabular format such as that of Figure 3A that may be presented as a part of the interface 200.
  • the data format module 336 also operates to sort displayed data. For example, the user 24 may wish to view data with the greatest percentage change, and the module 336 will arrange the column data in either ascending or descending order, as selected by the user 24.
  • the data format module 336 may also provide summary information related to the selected periods. For example, the user 24 may hover a cursor over the column labels and the module 336 will display the period identification (e.g., May 1 - 8, average of weeks 1 - 4, etc.).
  • the data format module 336 may filter the data.
  • the user 24 may specify that data to be displayed (sent from the server 120 to the user's browser) have a minimum value.
  • the data format module 336 will exclude from the served data, any values that are less than the specified minimum. Not that any sort or filter request made by the user 24 may constitute a new data request.
  • the data format module 336 may allow the user 24 to define the type, scope, and operation of the expanded columns and the data they contain. For example, the user 24 may specify that one expanded column should display the absolute difference, period-to-period, of the performance data, another should display the percentage difference, and yet another should display the average.
  • the expansion/contraction module 338 operates to expand or collapse those columns in the interface 200 that are expandable.
  • the user 24 signifies a desire to expand or contract the columns by operation of the expansion button 250, or the master button 255.
  • the module 338 sends a data request to the server 120, and in return receives derived data with which to populate the expanded columns.
  • the module 338 operates to expand the selected columns and to populate the expanded columns with the received data.
  • the data displayed in the collapsing columns may be cached, or stored, by operation of the module 338.
  • the data from the collapsed columns may be discarded, and subsequent expansion of the columns may send a data request to the server 120.
  • the received data may be cached on the user's browser, and expanding and collapsing the columns results in data movement from the user's browser to the display.
  • all data sent from the server 120 is cached through the Web user interface 140 until specifically discarded by the user 24.
  • Figure 6 is a flowchart illustrating an example method for compact tabular time-period data comparison.
  • the example of Figure 6 relates to the interface 200 shown in Figure 3A in collapsed format and in Figure 3B in expanded format, and the systems and components of Figures 2, 4 and 5.
  • a user 24 at promoter 20 desires to view promotional campaign data for multiple time periods.
  • the promoter operates a preschool in Palo Alto, California, and the promoter's creatives 22 are displayed on search result Web pages 62 provided by publisher 40. From time-to-time, viewers 81 may click on the displayed creative 22, and the publisher 40 records the clicks, and other data, and stores the data for possible later presentation to the user 24.
  • method 400 begins in block 405 when the interface program 330 receives a selection of multiple periods for data display.
  • the program 330 receives a selection of a most recently completed week of promotions and for the immediately preceding week (e.g., for two consecutive weeks).
  • the user 24 makes the period selections by typing in, or selecting from a pull down menu, the desired periods.
  • the program 330 sends the period selections to the server 120.
  • the program 330 receives back from the server 120, a data set for the most recently completed period (week).
  • the program 330 formats and displays the data set for the most recently completed week. The data are displayed in a compact tabular format such as shown in the interface 20 of Figure 3A.
  • the program 330 identifies columns of data that have multiple data sets available (i.e., columns that have data from the most recent week and the immediately preceding week) and activates expansion buttons for these columns.
  • the result can be seen in Figure 3A where columns 222 - 227 each have an active expansion button 250.
  • the program 330 also activates the master button 255.
  • the program 330 receives, from the user 24, a selection of columns to expand.
  • the user 24 selects column 223, clicks, for expansion.
  • the user 24 signals the selection of column 223 for expansion by selecting the expansion button 250 for column 223.
  • the program 330 sends the column 223 selection to the server 120.
  • the server 120 loads data for two different time series into its memory.
  • the server 120 then joins the two times series and calculates or derives absolute and percentage difference values for all metrics columns.
  • the server 120 then sends to the user's media device a new data set that includes the relevant data for the columns to be expanded (e.g., the clicks data for the immediately preceding week as well as the derived data showing differences in absolute and percentage terms).
  • the program 330 receives, within a fraction of a second of the request of block 435, the clicks data for the immediately preceding week as well as the derived data showing differences in absolute and percentage terms.
  • the program 330 expands column 223, renames column 223 as clicks (now) and populates expansion columns 223A, 223B, and 223C.
  • the results is the interface 200 of Figure 3B with column 223 expanded.
  • the method 400 then ends.
  • the user 24 may operate the interface 200 to collapse column 223 and to sort any of the data in any of the columns 222 - 227.
  • the user 24 may make additional requests for data simply by selecting the expansion button 250 for the column the user 24 desires to expand.
  • the computing system includes a processor (CPU) and a system bus that couples various system components including a system memory such as read only memory (ROM) and random access memory (RAM), to the processor. Other system memory may be available for use as well.
  • the computing system may include more than one processor or a group or cluster of computing system networked together to provide greater processing capability.
  • the system bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • a basic input/output (BIOS) stored in the ROM or the like may provide basic routines that help to transfer information between elements within the computing system, such as during start-up.
  • the computing system further includes data stores, which maintain a database according to known database management systems.
  • the data stores may be embodied in many forms, such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive, or another type of computer readable media which can store data that are accessible by the processor, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAM) and, read only memory (ROM).
  • the data stores may be connected to the system bus by a drive interface.
  • the data stores provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing system.
  • the computing system may include an input device, such as a microphone for speech and audio, a touch sensitive screen for gesture or graphical input, keyboard, mouse, motion input, and so forth.
  • An output device can include one or more of a number of output mechanisms.
  • multimodal systems enable a user to provide multiple types of input to communicate with the computing system.
  • a communications interface generally enables the computing device system to communicate with one or more other computing devices using various communication and network protocols.
  • Figure 6 is for illustration purposes only and the described or similar steps may be performed at any appropriate time, including concurrently, individually, or in combination.
  • many of the steps in the flow chart may take place simultaneously and/or in different orders than as shown and described.
  • the disclosed systems may use processes and methods with additional, fewer, and/or different steps.
  • Embodiments disclosed herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the herein disclosed structures and their equivalents. Some embodiments can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by one or more processors.
  • a computer storage medium can be, or can be included in, a computer- readable storage device, a computer-readable storage substrate, or a random or serial access memory.
  • the computer storage medium can also be, or can be included in, one or more separate physical components or media such as multiple CDs, disks, or other storage devices.
  • the computer readable storage medium does not include a transitory signal.
  • the herein disclosed methods can be implemented as operations performed by a processor on data stored on one or more computer-readable storage devices or received from other sources.
  • a computer program (also known as a program, module, engine, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
  • a computer program may, but need not, correspond to a file in a file system.
  • a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
  • a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

Abstract

A compact tabular data interface includes a processor that operates an active display. The active display includes expandable data columns. Each expandable data column includes an expand/collapse button. The expand/collapse button operates to expand and collapse the data columns and to send a data request to a data server. The interface also includes a data store that caches data for display in the expandable data columns.

Description

COMPACT TABULAR DATA TIME PERIOD COMPARISON
Background Companies promote their products and services using a variety of media including electronic media. One popular form of electronic media for product promotion is the Internet. Internet Web sites may display a company's promotional images and videos. These promotional images and videos may be displayed when a user searches the Internet using a keyword or search term. A search engine operated by an Internet service provider takes the user-entered search term, searches perhaps hundreds of sites, and produces search results that are presented to the user on a Web page. One of the search results may refer to a company's own Web site. In addition, a company may contract with the service provider to display the company's promotional images or videos on the search result Web page. To measure the effectiveness of its promotional activities, the company may collect, or receive, time-based data that shows how many users viewed the company's promotional images and videos, and further, how many users took follow on actions, such as clicking on a link in one of the company's promotional images.
This performance data may be collected over time and may be expressed in tables. However, because tables typically exist in only two dimensions, the time- based nature of the data may not be apparent. That is, the data may be arranged in columns and rows with the rows representing a first data aspect and the columns representing a second data aspect. This arrangement of data in tabular form effectively hides the time basis of the data. Moreover, the performance data may not be capable of rearrangement to show the data's time basis. As a result, comparison of performance data from one time period to the next may not be possible. Description of the Drawings
The detailed description refers to the following drawings in which like numerals refer to like items, and in which:
Figure 1 A illustrates a report of performance data;
Figure 1 B illustrates a possible modification to the report of Figure 1A to provide a time period comparison of data;
Figure 2 illustrates an environment and system in which compact tabular time- period data comparison is enabled;
Figures 3A and 3B illustrate an example compact tabular time period comparison interface that allows period-to-period data analysis and comparison;
Figure 4 illustrates an example data reporting system that invokes the interface of Figures 3A and 3B;
Figure 5 illustrates an example of components of the system of Figure 4; and
Figure 6 is a flowchart illustrating an example method for compact tabular time-period data comparison.
Detailed Description
Companies that promote their products and services using electronic media such as Internet Web sites may receive data that indicates the efficacy of their promotional activities. The performance data may be presented in tabular form, and may apply for a discrete period, such as weekly. However, because tables typically exist in only two dimensions, the time-based nature of the data may not be apparent. That is, the data may be arranged in columns and rows with the rows representing a first data aspect and the columns representing a second data aspect. For example, a company may contract with a publisher to have posted creatives on Internet Web pages that are reached by individuals using search engines and entering search terms. The publisher may record performance metrics such as click through data as a function of keywords used with the search terms. This arrangement of data in tabular form effectively hides the time basis of the data. Moreover, the performance data may not be capable of rearrangement to show the data's time basis. Finally, the data tabulations may not allow comparison of performance from period to period (e.g., week to week). As a result, comparison of performance data from one period to the next may not be possible, of if possible may not be practical.
Figure A illustrates a report 5 that tabulates performance metrics for a promotional campaign for a preschool system. Creatives are placed on an Internet Web page that provides a search engine. Individuals may use the search engine to search the Internet. In Figure 1A, a company's promotional campaign performance data is reflected in columns headed with metrics such as clicks, click through rate (CTR), and costs and rows for various keywords such as preschool palo alto, day care, etc. that may be entered into the search engine. However, the data represented in the report 5 appears to represent only a snapshot of data, although the snapshot may apply to a day, a week, or a month. One problem with the tabulated data is that the report 5 does not allow comparison from period to period (e.g., week to week). That is, a company may ask, periodically, if its promotional campaigns are profitable, and further may ask if the campaigns are more or less profitable currently than during past periods. The report 5 does not enable a company to answer the second question.
To answer the second question, how its promotional campaign performance compares with a previous period, a company might have to do the following: (1 ) download two different reports, one for each time period; (2) open each report using a spreadsheet program; (3) perform an electronic join of the two reports; (4) add columns and formulas to each metric of interest to determine absolute and percentage changes; (5) sort to get the desired data arrangement. Figure 1 B illustrates the results of this process. In Figure 1 B, combined report 5A provides a tabulation of promotional campaign performance data. The report 5A shows two sets of data for the column labeled clicks. Clicks data for a first period is recorded in rows 6 and clicks data for a second period is recorded in rows 7. As can be seen in Figure 1 B, the report 5A does not allow for easy or efficient period-to-period comparison of the clicks data. Moreover, the clicks column cannot be sorted to show increasing or decreasing clicks data. Because the report 5A does not allow for sorting or otherwise rearranging the data, it may not be practical, and certainly is not efficient for analyzing and comparing data.
Disclosed herein are systems and methods that allow companies to perform period-to-period comparisons of data. The systems and methods allow this comparison in a manner that accounts for the size or dimension of a viewing screen and allows companies to visually or actually filter and sort the data in an easy fashion. The embodiments disclosed below take as an example, a company that operates a preschool in Palo Alto, California. The company provides creatives for display at a Web site operated by a publisher. The Web site includes a search engine that accepts keyword searches from viewers and returns search result Web pages. The search result Web pages include slots in which the company's creatives may be placed. When a search request contains keywords relevant to preschool, the publisher considers displaying one or more of the company's creatives on the search result Web page. The viewer who receives the search result Web page may "click on" the company's creative; in so doing, the viewer may be directed to a Web page of the company, where the viewer has the opportunity to take a specific action such as register for preschool, accept special offers, request a brochure, complete a questionnaire, fill out a survey, or take other actions. These actions may be registered as "click throughs." The number of clicks and corresponding click through rate may be used as a performance measure of the company's promotional campaign for its preschool services.
The company's creatives also may be displayed at other than a search result Web page. For example, a creative may be displayed after each move of an on line game, such as an online chess game, or at program breaks on a streaming video displayed at a Web site. In the alternate display mechanisms, click on and click through data still may be obtained and used for analyzing the company's promotional campaigns.
Figure 2 illustrates an environment and system in which a compact tabular time-period data comparison is enabled. In Figure 2, environment 10 includes promoter 20, publishers 40, which provide Web sites 60, and viewing location 80, at which viewer 81 operates media device 82. The promoter 20, publisher 40, and media device 82 communicate over network 50.
The promoter 20 provides creatives 22 that may be displayed on Web pages 62 of the Web sites 60. The creatives 22 promote the promoter's products and services. The promoter 20 may be a company that manufactures products or provides services. Alternately, the promoter 20 may be an agent of the company. A user 24 at the promoter 20 may be responsible for analyzing and comparing data related to the company's promotional campaigns. As such, the user 24 may request periodic reports from the publisher 40, or another entity, that relate to performance of its promotional campaigns.
The publishers 40 operate the Web sites 60 and provide opportunities for display of the creatives 22, for example, on the Web pages 62. In an embodiment, a publisher 40 may provide a search engine that the viewer 81 can access to locate resources on the Web sites 60. In another embodiment, the publishers 40 each may include a data reporting system 100 that provides performance data related to the efficacy of promotional campaigns whose creatives are served through the Web sites 60. In an alternative, a centralized data reporting system 100', which is independent of the publishers 40, provides the performance data.
The network 50 may be any communications network that allows the transmission of signals, media, messages, voice, and data from the publisher 40 and the Web sites 60 to the viewer 81 , including linear broadcast (over-the-air, cable, and satellite) television, on-demand channels, over-the-top media, including streaming video, movies, video clips, and games, and text, email, and still images, and transmission of signals, media, messages, voice, and data from the viewer 81 to the publisher 40. The network 50 may include the Internet, cellular systems, and other current and future mechanisms for transmission of electronic content. The network 50 may be both wired and wireless.
The Web sites 60 provide Internet-based content including video programs for display at the media device 82. A Web site 60 may have one or more Web pages 62 that include locations or slots in which the creative 22 may be served. A Web page 62 may request a creative to be placed in these slots. The environment 10 may contain millions of Web sites 60. Included in these Web sites 60 are those for product manufacturers and service providers (i.e., the promoters 20), and Web sites for social networks, as well as search engine Web sites and other Web sites operated by the publishers 40.
The viewing location 80 may be any location capable of receiving signals over the communications network 50. In an embodiment, the viewing location 80 is a private home from which the viewer 81 uses media device 82 to access the Web sites 60. For example, the viewer 81 may use the media device 82 to search the Web sites 60 for preschools in Palo Alto, California.
The media device 82 may be fixed in position in the environment 10 or may be a mobile media device. In an embodiment, the media device 82 may be an Internet connected "smart" television, a "basic" or "smart" television connected to a set top box (STB), a Blu-ray™ player, a game box, an Internet-connected box, or a radio, for example. In another embodiment, the media device 82 may be a television that has no Internet connectivity. A television that includes Internet connections may be referred to as an ITV. In another embodiment, the media device 82 may be a tablet, a smart phone, a laptop computer, or a desk top computer, for example.
Among other functions, the media device 82 may interface with the Web sites 60 using a browser, and may be used to execute specific applications that use data and/or services at the Web sites 60. Examples of such applications include those that allow for streaming of video programs such as movies, television shows, and video clips; online banking; games; mapping services; Internet searching, and other applications. The applications that execute on the media device 82 may provide slots in which creatives may be placed. For example, an online game may refresh after every move of the game, and the refreshed page displayed on the media device 82 may include, or may be preceded by, a slot in which a creative may be served.
When the media device 82 is turned on, a viewer 81 using the media device 82 may sign on with a publisher 40 to access the Web sites 60. In some cases, the media device 82 may sign on automatically using previously provided and stored credentials or other authentication information. The media device 82 may receive creatives 22 that are linked or related to the content displayed on the media device 82, once the viewer 81 has consented to receiving such creatives 22. The viewer 81 may signal this consent upon initial contact with the publisher 40, or may consent to such participation at each sign on.
The determination of which creatives 22 should be placed at which Web sites 60 may depend in part on information related to the viewer 81 at the viewing location 80. This information may be provided by the viewer 81 voluntarily. For example, a viewer 81 may register with the publisher 40 and may provide information such as a password and user ID. In situations in which the systems disclosed herein collect personal information about viewers, or may make use of personal information, the viewers may be provided with an opportunity to control whether programs or features collect viewer information (e.g., information about a viewer's social network, social actions or activities, profession, a viewer's preferences, or a viewer's current location), or to control whether and/or how to receive advertisements from an ad server that may be more relevant or of interest to the viewer. In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a viewer's identity may be treated so that no personally identifiable information can be determined for the viewer, or a viewer's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a viewer cannot be determined. Thus, the viewer may have control over how information is collected about the viewer and used by a server.
In an embodiment, the publisher 40 collects click and click through data, with no data collected as to the identity of the viewer 81 or the media device 82.
Figure 3A illustrates an example of a compact tabular time period comparison interface that makes possible period-to-period data analysis and comparison. In Figure 3A, interface 200 includes data display 210, which can be seen to have columns 220 and rows 240. In the illustrated example interface 200, the columns 220 include keyword column 221 , in which are or may be keywords that a viewer 81 might use when searching the Web sites 80 for information about products and services; and metrics columns 222 - 227. The rows 240 include header row 241 and results rows 242 - 255. In this example, a preschool service is provided by a preschool company in Palo Alto. Column 221 lists keywords that might result in serving a creative 22 for the preschool company to the viewer 81. The keywords in column 221 may be those, or their close variants, which might be found in a creative 22 for the preschool company and/or which might appear on the preschool company's Web site. In an embodiment, the preschool company selects the keywords appearing in column 221.
In Figure 3A each of the metrics columns 222 - 227 may be expanded to include data for multiple periods, and each column includes an expansion button 250 for this purpose. The expansion button 250 is shown with arrow icons; however, other icons, such as + and - icons may be used with the expansion button 250. In the interface 200 of Figure 3A, the expansion button 250 is pointing down its associated column, meaning the column is collapsed. If the expansion button 250 for a column is in the collapsed position, the column shows data for the most recent period for which data is available. When the expansion button 250 is in the expanded position (i.e., pointing horizontally), the column is expanded to reveal period-to-period data for analysis and comparison. Thus, when the columns are collapsed, the interface 200 is in a compact tabular form showing data for a single (e.g., most recent) period. When the columns are expanded, the interface 200 allows for period-to-period data display, analysis, and comparison. As is explained with respect to Figure 4, the expansion button 250 may be provided or activated on a column when the system 100 is operated to select a period-to-period data comparison. Otherwise, the expansion button 250 may not be displayed or may be inactive.
In an embodiment, the metrics columns 222 - 227 may be expanded or collapsed simultaneously using, for example, master button 255. As with the expansion button 250, the master button 255 may be provided or activated only after the user 24 has requested a period-to-period data display.
Figure 3B illustrates the interface 200 with column 223 expanded. In Figure 3B, a user has selected a previous period to compare to a most recent period, and as can be seen in the expanded interface 200, the expansion button 250 for column 223, and column 223, which shows current data has expanded to include columns 223A, 223B, and 223C, which show, respectively, previous data, absolute changes in the data, and percentage changes in the data. With the data now expanded, a user 24 may sort or filter on any of the columns 223 and 223A - 223C, or may simply scan the columns to analyze and compare the data so as to, for example, locate the keyword having the largest percentage increase in clicks. In Figure 3B, although only column 223 is shown expanded, any of the metrics columns 222 - 227 may be expanded. However, columns other than the metrics columns 222 - 2227 may not incorporate the expansion feature. Furthermore, the user 24 may expand and collapse all columns simultaneously using the master button 255, or may expand and collapse a subset of the columns, including a single column.
Figure 4 illustrates a data reporting system used in the environment 10 of Figure 1 to produce the interface 200 of Figures 3A and 3B. In Figure 4, data reporting system 100 includes server 120, data store 130 and Web user interface 140. The server 120 collects performance data and holds the data in memory for all logged in promoters 20 in order to quickly provide the promoters 20, through the Web user interface 140, with data reports relevant to the promoters' promotional campaigns. The server 120 also receives data requests from the Web user interface 140, locates data for the relevant periods specified in the data requests, returns a single data set to the interface 200 and caches detailed data (e.g., for period-to- period comparisons) should the interface 200 call for column expansion to show detailed data for analysis and comparison.
The data store 130 stores programs which are loaded into memory and executed by processing components of the system 100. One such program is interface program 330, which is described with respect to Figure 5. The data store 130 further includes databases 132 that store data for operation of the system 100.
In an embodiment, the Web user interface 140 may be physically present with the user 24. In another embodiment, the functions of the Web user interface 140 are provided by the system 100 through a browser operating on a media device of the user 24. The Web user interface 140 may include a mechanism to cache or temporarily store the performance data displayed in the interface 200. When the Web user interface 140 is implemented on the user's media device, the performance data may be cached on the user's media device. When implemented remotely from the user's media device 24, the performance data may be cached with a storage element of the system 100. However provided, the Web user interface 140 includes display program 310 and interface program 330 and data store 350, shown in Figure 5. The data store 350 is a non-transitory computer readable storage medium that contains the programming code of the programs 310 and 330. The data store 350 also stores or caches performance data that is displayed in the interface 200.
The display program 310 may be capable of projecting or otherwise showing an image, including a table of data on a hardware device operated, for example, by the user 24. The display program 310 includes controls for operating the interface 200, and more particularly may include a soft keyboard, a cursor/pointer, scrolling buttons, and other software defined mechanisms. As noted above, the functions of the display program 310 may be implemented as a program accessible to the user 24, and the user 24 may access the display program 310 with a browser on the user's own media device.
The interface program 330 includes the executable machine code to support compact tabular presentation of performance data; i.e., the interface 200. The interface program 330 includes data picker 332, data request/reception module 334, data format module 336, and expansion/contraction engine 338. The data picker 332 allows the user 24 to select one or more periods for display of performance data. For example, with the data picker 332, the user 24 may select the most recently- completed period and a period one year prior to analyze and compare the performance data.
The data request/reception module 334 sends data requests to the server 20 and receives data in return. The requests may be of two types. A single period request asks for performance data for a single period. The server 120 then returns data just for the specified single period. In this case, there is no need for data derivation, and the interface 200 does not have any expansion/contraction features implemented. A multi-period data request asks for data for at least two periods. For example, a multi-period data request may ask for data from the most recently completed period and the period immediately preceding the most recently completed period. In another example, the multi-period data request may ask for data from the most recently completed week (period 1 ) and an average of the preceding four weeks (period 2). In yet another example, the multi-period data request may ask for data from the most recently completed week and the two weeks preceding the most recently completed week. In these multi-period data request cases, the server 120 will, as with a single period data request, return data for the most recent of the two or more periods. However, the server 120 also caches data for the second or more periods and merges the data sets for the two or more periods to produce a derived data set. The server 120 then may cache the derived data set. When the user 24 signifies a desire to view the second or more data sets and the derived data set, the user 24 selects the expansion button 250 for each column the user 24 wants to expand. Alternately, the interface 200 may have an expand all feature, which may take the form of the master button 255, to expand all expandable columns. In an embodiment, selection of the expansion button 250 or the master button 255 sends a data request to the server 120 to send the second or more data sets and the derived data for the selected columns.
The data format module 336 formats the received data, whether single period or multi-period, into an easy to read tabular format such as that of Figure 3A that may be presented as a part of the interface 200. The data format module 336 also operates to sort displayed data. For example, the user 24 may wish to view data with the greatest percentage change, and the module 336 will arrange the column data in either ascending or descending order, as selected by the user 24. The data format module 336 may also provide summary information related to the selected periods. For example, the user 24 may hover a cursor over the column labels and the module 336 will display the period identification (e.g., May 1 - 8, average of weeks 1 - 4, etc.). The data format module 336 may filter the data. For example, the user 24 may specify that data to be displayed (sent from the server 120 to the user's browser) have a minimum value. The data format module 336 will exclude from the served data, any values that are less than the specified minimum. Not that any sort or filter request made by the user 24 may constitute a new data request. Finally, the data format module 336 may allow the user 24 to define the type, scope, and operation of the expanded columns and the data they contain. For example, the user 24 may specify that one expanded column should display the absolute difference, period-to-period, of the performance data, another should display the percentage difference, and yet another should display the average.
The expansion/contraction module 338 operates to expand or collapse those columns in the interface 200 that are expandable. The user 24 signifies a desire to expand or contract the columns by operation of the expansion button 250, or the master button 255. When the button 250 is operated to the expand mode, the module 338 sends a data request to the server 120, and in return receives derived data with which to populate the expanded columns. The module 338 operates to expand the selected columns and to populate the expanded columns with the received data.
When the columns collapse through operation of the expansion button 250 to the collapsed position, the data displayed in the collapsing columns may be cached, or stored, by operation of the module 338. Alternately, the data from the collapsed columns may be discarded, and subsequent expansion of the columns may send a data request to the server 120. In yet another alternative, the received data may be cached on the user's browser, and expanding and collapsing the columns results in data movement from the user's browser to the display.
In an embodiment, all data sent from the server 120 is cached through the Web user interface 140 until specifically discarded by the user 24.
Figure 6 is a flowchart illustrating an example method for compact tabular time-period data comparison. The example of Figure 6 relates to the interface 200 shown in Figure 3A in collapsed format and in Figure 3B in expanded format, and the systems and components of Figures 2, 4 and 5. In the example, a user 24 at promoter 20 desires to view promotional campaign data for multiple time periods. The promoter operates a preschool in Palo Alto, California, and the promoter's creatives 22 are displayed on search result Web pages 62 provided by publisher 40. From time-to-time, viewers 81 may click on the displayed creative 22, and the publisher 40 records the clicks, and other data, and stores the data for possible later presentation to the user 24. In Figure 6, method 400 begins in block 405 when the interface program 330 receives a selection of multiple periods for data display. In the example of Figure 6, the program 330 receives a selection of a most recently completed week of promotions and for the immediately preceding week (e.g., for two consecutive weeks). In an embodiment, the user 24 makes the period selections by typing in, or selecting from a pull down menu, the desired periods. In block 410, the program 330 sends the period selections to the server 120. In block 415, the program 330 receives back from the server 120, a data set for the most recently completed period (week). In block 420, the program 330 formats and displays the data set for the most recently completed week. The data are displayed in a compact tabular format such as shown in the interface 20 of Figure 3A.
In block 425, the program 330 identifies columns of data that have multiple data sets available (i.e., columns that have data from the most recent week and the immediately preceding week) and activates expansion buttons for these columns. The result can be seen in Figure 3A where columns 222 - 227 each have an active expansion button 250. The program 330 also activates the master button 255.
In block 430, the program 330 receives, from the user 24, a selection of columns to expand. In the example of Figure 6, the user 24 selects column 223, clicks, for expansion. The user 24 signals the selection of column 223 for expansion by selecting the expansion button 250 for column 223. In block 435, the program 330 sends the column 223 selection to the server 120.
As a result of the method 400, through blocks 435, the server 120 loads data for two different time series into its memory. The server 120 then joins the two times series and calculates or derives absolute and percentage difference values for all metrics columns. The server 120 then sends to the user's media device a new data set that includes the relevant data for the columns to be expanded (e.g., the clicks data for the immediately preceding week as well as the derived data showing differences in absolute and percentage terms).
In block 440, the program 330 receives, within a fraction of a second of the request of block 435, the clicks data for the immediately preceding week as well as the derived data showing differences in absolute and percentage terms. In block 445, the program 330 expands column 223, renames column 223 as clicks (now) and populates expansion columns 223A, 223B, and 223C. The results is the interface 200 of Figure 3B with column 223 expanded. The method 400 then ends. However, the user 24 may operate the interface 200 to collapse column 223 and to sort any of the data in any of the columns 222 - 227. Furthermore, the user 24 may make additional requests for data simply by selecting the expansion button 250 for the column the user 24 desires to expand.
Certain of the devices and components shown in Figures 2 and 4 include a computing system. The computing system and its components include the circuitry to perform the method steps of the claims that follow, and that are described with respect to Figure 6. The computing system includes a processor (CPU) and a system bus that couples various system components including a system memory such as read only memory (ROM) and random access memory (RAM), to the processor. Other system memory may be available for use as well. The computing system may include more than one processor or a group or cluster of computing system networked together to provide greater processing capability. The system bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. A basic input/output (BIOS) stored in the ROM or the like, may provide basic routines that help to transfer information between elements within the computing system, such as during start-up. The computing system further includes data stores, which maintain a database according to known database management systems. The data stores may be embodied in many forms, such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive, or another type of computer readable media which can store data that are accessible by the processor, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAM) and, read only memory (ROM). The data stores may be connected to the system bus by a drive interface. The data stores provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computing system.
To enable human (and in some instances, machine) user interaction, the computing system may include an input device, such as a microphone for speech and audio, a touch sensitive screen for gesture or graphical input, keyboard, mouse, motion input, and so forth. An output device can include one or more of a number of output mechanisms. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with the computing system. A communications interface generally enables the computing device system to communicate with one or more other computing devices using various communication and network protocols.
The preceding disclosure refers to a flow chart and accompanying description to illustrate the embodiments represented in Figure 6. The disclosed devices, components, and systems contemplate using or implementing any suitable technique for performing the steps illustrated. Thus, Figure 6 is for illustration purposes only and the described or similar steps may be performed at any appropriate time, including concurrently, individually, or in combination. In addition, many of the steps in the flow chart may take place simultaneously and/or in different orders than as shown and described. Moreover, the disclosed systems may use processes and methods with additional, fewer, and/or different steps.
Embodiments disclosed herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the herein disclosed structures and their equivalents. Some embodiments can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by one or more processors. A computer storage medium can be, or can be included in, a computer- readable storage device, a computer-readable storage substrate, or a random or serial access memory. The computer storage medium can also be, or can be included in, one or more separate physical components or media such as multiple CDs, disks, or other storage devices. The computer readable storage medium does not include a transitory signal.
The herein disclosed methods can be implemented as operations performed by a processor on data stored on one or more computer-readable storage devices or received from other sources.
A computer program (also known as a program, module, engine, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

Claims

We claim:
1. A method for presenting data for multiple periods, comprising:
receiving a data request identifying a first period and a second period;
sending the data request to a data server;
receiving data for the first period;
formatting and displaying the data in a compact interface comprising columns and rows;
identifying columns having data from the second period;
activating expansion buttons from each identified column;
receiving a column expansion selection;
sending the column expansion selection to the data server;
expanding the selected column and receiving second period data and derived data from the data server; and
formatting and displaying the second period data and the derived data in the expanded column.
2. The method of claim 1 , further comprising:
activating a master expansion button; and
receiving a selection of the master expansion button, wherein the selection indicates an expand all columns request.
3. The method of claim 1 , wherein the first period and the second period are consecutive periods.
4. The method of claim 1 , wherein the first period and the second period are non-consecutive periods
5. The method of claim 1 , wherein the derived data comprises a difference in data between the first and second periods.
6. The method of claim 1 , further comprising:
receiving a sort request to sort the data in the selected column; and
sorting the data according to the sort request.
7. The method of claim 1 , further comprising:
receiving a filter request to filter the data in the columns; and
filtering the data according to the filter request.
8. The method of claim 1 , further comprising:
collapsing the expanded column; and
caching the second period data and the derived data.
9. The method of claim 1 , further comprising:
collapsing the expanded column; and
discarding the second period data and the derived data.
10. A method for compact tabular display of data in an interface comprising a plurality of data columns, the method comprising:
displaying at the interface first data for a first period in a first data column; activating an expansion routine for the first data column;
expanding the first data column using the expansion routine to form a second data column and one or more derived data columns; and
populating the second data column with second data for a second period and populating the derived data columns with derived data, wherein the derived data are a combination of the first and second data.
11. The method of claim 10, further comprising collapsing the second data column and the derived data columns.
12. The method of claim 11 , further comprising caching the second data and the derived data for a future expansion of the first data column.
13. The method of claim 10, wherein the expansion routine includes a per column expansion button and a master expansion button, wherein the per column expansion button expands its associated column and the master expansion button expands all data columns.
14. The method of claim 10, wherein data periods are user definable, the method further comprising defining the first and second periods by stating a start date and a stop date for each of the first and second periods.
15. The method of claim 13, wherein the second period comprises an average of a plurality of periods.
16. The method of claim 10, wherein the derived data comprises;
an absolute difference between the first data and the second data;
a percentage difference between the first data and the second data; and an average of the first data and the second data.
17. A compact tabular data interface, comprising:
a processor that operates an active display, the active display, comprising: one or more expandable data columns, each data column including an expand/collapse button that operates to:
expand and collapse the data column, and
send a data request to a data server; and
a data store that caches data for display in the one or more expandable data columns.
18. The interface of claim 17, wherein a user accesses the active display and instructs the processor using an Internet browser.
19. A computer readable medium comprising a program of computer instructions executed by a processor, wherein the processor:
displays first data for a first period in a first data column;
activates an expansion routine for the first data column;
expands the first data column using the expansion routine to form a second data column and one or more derived data columns; and
populates the second data column with second data for a second period and populates the derived data columns with derived data, wherein the derived data are a combination of the first and second data.
20. The computer readable storage medium of claim 19, wherein the processor further operates to collapse the second data column and the one or more derived data columns.
21. The computer readable storage medium of claim 20, wherein the processor further operates to sort data in one of the first, second, and derived data columns.
22. The computer readable storage medium of claim 20, wherein the processor further operates to filter data in one of the first, second, and derived data columns.
23. A system for compact tabular display of data, comprising:
an interface that:
sends a first data request to a data server, the first data request defining a first data period and a second data period
receives and displays data from the data server for the first data period in a compact interface; and
expands the compact interface to form an expanded interface for display of data from the data server for the second data period.
24. The system of claim 23, further comprising a data store for caching the data from the data server.
25. The system of claim 23, further comprising an expand/collapse routine that operates to expand or collapse the interface, wherein when the routine expands the interface, the routine sends a data request for the second data period.
PCT/US2013/066258 2012-11-08 2013-10-23 Compact tabular data time period comparison WO2014074303A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201213672151A 2012-11-08 2012-11-08
US13/672,151 2012-11-08

Publications (1)

Publication Number Publication Date
WO2014074303A1 true WO2014074303A1 (en) 2014-05-15

Family

ID=50685071

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/066258 WO2014074303A1 (en) 2012-11-08 2013-10-23 Compact tabular data time period comparison

Country Status (1)

Country Link
WO (1) WO2014074303A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733818A (en) * 2018-05-21 2018-11-02 上海世脉信息科技有限公司 A kind of big data expansion quadrat method based on the verification of more scene multi-data sources

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141699A (en) * 1998-05-11 2000-10-31 International Business Machines Corporation Interactive display system for sequential retrieval and display of a plurality of interrelated data sets
US6205453B1 (en) * 1998-03-13 2001-03-20 Oracle Corporation System and method for implementing selectively index enabled multi-column lists in a computer system
US20060101324A1 (en) * 2004-11-09 2006-05-11 Oracle International Corporation, A California Corporation Data viewer
US20070157124A1 (en) * 2005-12-30 2007-07-05 Tobias Haug Reduction of graphical clutter in computer displays
US20110289397A1 (en) * 2010-05-19 2011-11-24 Mauricio Eastmond Displaying Table Data in a Limited Display Area

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205453B1 (en) * 1998-03-13 2001-03-20 Oracle Corporation System and method for implementing selectively index enabled multi-column lists in a computer system
US6141699A (en) * 1998-05-11 2000-10-31 International Business Machines Corporation Interactive display system for sequential retrieval and display of a plurality of interrelated data sets
US20060101324A1 (en) * 2004-11-09 2006-05-11 Oracle International Corporation, A California Corporation Data viewer
US20070157124A1 (en) * 2005-12-30 2007-07-05 Tobias Haug Reduction of graphical clutter in computer displays
US20110289397A1 (en) * 2010-05-19 2011-11-24 Mauricio Eastmond Displaying Table Data in a Limited Display Area

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733818A (en) * 2018-05-21 2018-11-02 上海世脉信息科技有限公司 A kind of big data expansion quadrat method based on the verification of more scene multi-data sources
CN108733818B (en) * 2018-05-21 2021-04-02 上海世脉信息科技有限公司 Big data sample expansion method based on multi-scene multi-data-source verification

Similar Documents

Publication Publication Date Title
US11182823B2 (en) Automated creative extension selection for content performance optimization
US20210203735A1 (en) Topical activity monitor and identity collector system
US9866914B2 (en) Subscribable channel collections
US10146421B1 (en) Online information system with per-document selectable items
US8370348B1 (en) Magazine edition recommendations
AU2014399168B2 (en) Automated click type selection for content performance optimization
US20160134934A1 (en) Estimating audience segment size changes over time
EP3031026A1 (en) Systems and methods for providing interaction with electronic billboards
US20130097152A1 (en) Topical activity monitor system and method
US20120232956A1 (en) Customer insight systems and methods
JP2019514084A (en) Viewing time clustering for video search
US9996800B2 (en) Systems, apparatus, and methods for generating prediction sets based on a known set of features
CN104025083A (en) Method and apparatus for providing web pages
US20180047048A1 (en) Digital advertising campaign monitoring system, apparatus, and method
US11775994B2 (en) Distributing electronic surveys via third-party content
US20190251601A1 (en) Entity detection using multi-dimensional vector analysis
US9508087B1 (en) Identifying similar display items for potential placement of content items therein
US20160373513A1 (en) Systems and methods for integrating xml syndication feeds into online advertisement
US8819022B1 (en) Systems and methods for identifying and managing topical content for websites
US9772752B1 (en) Multi-dimensional online advertisements
US20220172234A1 (en) Determining real-time impact of digital content through digital surveys
WO2014074303A1 (en) Compact tabular data time period comparison
JP7195293B2 (en) Information processing device, information processing method, and information processing program
US20140100966A1 (en) Systems and methods for interactive advertisements with distributed engagement channels
US11799979B2 (en) Predictive retargeting system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13852698

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13852698

Country of ref document: EP

Kind code of ref document: A1