User interface providing summary information or a status pane in a web analytics tool

A system and method provide a summary comparison of data. The summary may compare filtered and unfiltered data or one set of filtered data to another. The system presents a status pane or window to a user in conjunction with filtered data that is dynamically updated to correspond to the data. A summary of the filtered data is available for display side by side with other filtered data or unfiltered data. The reports and summary are dynamically updated.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to user interfaces for tools relating to databases. More particularly, the present invention relates to graphical user interfaces for reviewing data returned in response to a query. Still more particularly, the present invention is a user interface for presenting summary information about website usage for use with web analytics tools.

2. Description of the Related Art

One of the most common sales mantras is “know your customer.” This basic tenet of selling has grown far beyond knowing who enters the store; it requires among other things, knowing what attracts customers, what they look at, how they move around a marketplace, and how long they stay. By studying customer buying habits, retailers have been able to maximize their revenues through tailoring their promotions, offerings, and even store layouts to suit their customers' preferences and habits.

Thus, website providers often wish to collect data that describes usage and visitation patterns for their websites and for individual web pages within the sites. Such information can be extremely valuable in developing usage statistics for various purposes, including for example estimating server load, determining advertising rates, identifying areas of websites that are in need of redesign, and the like.

Such information is useful in many ways, including for example collecting feedback that leads to improved web page design, determining the effect of various degrees of prominence of links and graphic elements on web pages, and determining the contribution of individual links to an eventual sale. Users, such as website administrators, often wish to analyze the results in many different ways.

Web analytics refers to the analysis of data created by website usage. For instance, web analytics can be used to mine visitor traffic data. A variety of visitor traffic data is measured such as what browser is being used, what links on a given web page were selected, whether a product was purchased, etc. There are number of web analytics tools presently available such as Site Catalyst version 11 from Omniture of Orem, Utah. These tools are able to capture data on website usage, and responsive to a user's request, display a variety of different metrics on website usage such as fallout/conversion, A/B testing, etc.

One problem such existing tools is that they present lots of raw data without any context. The data can be in response to application of specific filters or in response to very particular queries, and the data is typically presented to the user in tabular form. For example, at a given time the user may have multiple window panes showing the results of different filters and attributes. Presently, there is no mechanism to provide the user with additional context and present summary data reflecting a comparison of data before and after the filter is applied.

The prior art has provided some different graphical displays such as fallout reports, conversion reports, flow reports as well as the ability to show certain data as bar graphs or pie charts, but there presently is not a mechanism to provide summary data in the context of a detailed review of the filtered data.

Thus, there is a need for an improved graphical user interface for web analytics tools that solves the above shortcomings of the prior art.

SUMMARY

The present invention is a system and method for providing a summary comparison of data, for example of filtered and unfiltered data or of two different sets of filtered data. The present invention provides a status pane or window that may be presented to the user in conjunction with the filtered data and that is dynamically updated to correspond to the tabular data presented to the user. Selectable buttons are provided in a user interface according to one embodiment, which activate a status pane generation and storage module and to generate a summary comparison of filtered and unfiltered data or of two different sets of filtered data. In other embodiments, the status pane may be activated in other ways.

Users can launch various pre-packaged reports onto a single workspace and easily click on any data item to filter the entire result set by that item. A summary of the filtered data also is available for display side by side with unfiltered data or other sets of filtered data. The results of these functions are returned almost instantaneously, enabling users to analyze the effects of combinations of filters and understand the significance of the applied filter(s).

The system includes a client that sends a query to network, specifying which reports are requested, and optionally specifying one or more filters for the unfiltered report data. In response to query, network returns data that contains a representation of the report data, which may or may not be encoded. Once client has received sufficient data to generate a report, it sends report to display for output to the user. A status pane user interface module includes routines for the generation of panes or windows as well as buttons and other attributes for user interaction with the web analytics tool.

These aspects of the present invention provide greater visibility of the information generated by the above-described methods, providing the website owner valuable insight into which elements of a website are contributing to the success of the site and contributing to return on investment. More specifically, using a side by side comparison allows the user to understand quickly the significance of the segment(s) being built.

DETAILED DESCRIPTION

While the present invention is described in the context of web analytics tools, those skilled in the art will recognize that the present invention may have various other applications, such as a user interface for viewing data from multiple queries on data stores. The context in which the present invention is described is only for convenience and ease of understanding, and not to limit the scope of the present invention.

In the course of purchasing an item from an online retailer, a visitor/customer generally follows a basic path. The visitor enters a website (by, for example, typing the URL for the website, or selected from a Favorites menu, or clicking on a link) and is presented with a home page for the online retailer. During the process, the visitor generally is presented with an item description. If the visitor wants to buy the item, he or she clicks on an “Add to Cart” link and navigates to a Checkout page and then to a page for entering billing and shipping information. After entering such information, the visitor generally is presented with a confirmation page where he or she is given the opportunity to review the order and finalize it before exiting the website. Analysis of visitor navigation through such sequence is extremely valuable to website administrators.

Techniques for collecting site path sequences are known in the art. A particular visitor is recognized as he or she moves from page to page; the mechanics of visitor tracking are known in the art and need not be described in detail here. Visitor/customer web page visit records are stored in sequence according to they time that they occurred. Each visitation record typically contains two types of information: an identifier of the page visited, and metadata that provides further criteria for filtering and analyzing the sequential data.

In some contexts, certain elements of the visitor navigation are designated as “checkpoints,” meaning that they are of importance in analyzing website visitation paths. Generally, all instances of a particular sequence of checkpoints are considered to be equivalent, regardless of the presence or absence of any other (non-checkpoint) nodes within the sequences. Greater detail regarding the use of checkpoints can be found in co-pending U.S. patent application Ser. No. 10/609,008, filed Jun. 27, 2003 by Brett Error et al., entitled “Capturing and Presenting Site Visitation Path Data,” which is incorporated herein by reference.

In one embodiment, the system automatically designates certain nodes as checkpoints based on particular characteristics, location, name, popularity, or any other factor. For example, the home page, and/or the five most popular pages, can automatically be designated as checkpoints. These automatic, or default, checkpoints can, in one embodiment, be used to construct an initial target path.

It is within this context that the description of one embodiment present invention is described herein.

FIG. 9is a flowchart illustrating a method of incrementally adding segmentation criteria to a data set according to one embodiment of the present invention.

The process begins by displaying905a status pane. In various aspects of the status pane, the user can interact with the pane and report windows according to well known interaction techniques for window-based operating systems. In one embodiment, the number of rows can be edited, the user can drag edges to change the height and width, as well as minimize, delete, and maximize the windows, reposition/rearrange windows on the canvas by dragging the window title bar, and drag the column margins to resize column width.

Then user input is received910to select one or more defined reports for viewing. In one embodiment, the user initiates this step by clicking on a user interface control such as a reports button.

Next, the system retrieves920a data set associated with the one or more defined reports, for example comprising website visitation data. In one embodiment, this is accomplished by sending report queries to a network, and receiving report data from the network corresponding to the queries. The network replies, in one embodiment, with coded or uncoded data. In this embodiment the retrieval includes interpreting the data, for example using hash codes/meanings stored, e.g., in local cache.

After retrieval920, the system displays930the one or more defined reports. In one embodiment, each report displays a set of default metrics, and the data are sorted by that metric. For example, an initial default metric may be visits to a website, although this can be customized by the user via an options screen. In one embodiment, the user can customize the default metrics on a per-report basis, for example by changing, adding, or deleting metrics.

Initially, the report shows a default number of data rows (such as 10), although the user can adjust the default number as desired. In various embodiments, the reports are standard, preset reports associated with a set of predefined filters; user-customized reports built during a current session; previously customized reports retrieved from storage; or fall-out reports.

In some embodiments, various views of the report data are available. For example, types of views include tended, improved, ranked, over time, fall-out, C&A, graphical, Gantt, tabular, raw data, and flexible. Some reports also include a search field that allows the user to search for and view entries for specific keywords or phrases.

When a user desires to filter a report, the system receives940user input to adjust segmentation criteria for/filter the report. In various embodiments, the adjustment/filtering includes adding segmentation criteria; removing pre-existing segmentation criteria; adjusting a date range; creating a new segmentation criterion; and activating a contextual menu of options for the segmentation criteria.

The user can filter a report by various means. For example, the user can click on an icon (“funnel”) adjacent to the desired filter criterion. In one embodiment, clicking on a funnel icon causes the filter to be applied as an “OR Visits where [dimension]=[selected item]” parameter. In one embodiment, the user can shift-click to apply the filter as an “AND” criterion. In one embodiment, the user can right-click to see a menu of options for applying the filter. The icon acts as a toggle in one embodiment, switching between activating and deactivating the criterion depending on its current state.

According to one embodiment, elements of the displayed reports are themselves user input elements for specifying filters. Thus, the user can click on an area (such as a line) within a tabular report to apply a filter that corresponds to the data item being displayed in that area.

Next, the system processes the selected criteria, displaying950one or more adjusted/filtered reports. In one embodiment, each report is adjusted according to the segmentation criteria/filter applied. In one embodiment, the adjusted/filtered reports are displayed virtually instantaneously following the user input to adjust the segmentation criteria. In one embodiment, sampling rate for reports is selected based on requested date range, available RAM and other technological considerations.

As part of this process that system also may store the reports. A user can save and later re-open a project. When a user saves a project, the data set, filters, reports, and canvas appearance are all preserved. Subsequently, when the user opens the saved project, everything looks exactly as he or she left it.

After adjusted/filtered reports are displayed950, one or more selectable buttons are displayed960according to one embodiment, which provide access to additional windows or panes of information in one embodiment. In one embodiment, the buttons include buttons for a summary report, a totals report, a commerce report, a web traffic report, and a paths report.

Next, user input to activate a comparison report is received970, in response to which a comparison report is displayed980. In one embodiment, the user input is in the form of clicking a selectable button. In one embodiment, the comparison report is displayed in a separate pane over a status pane, e.g.,402ofFIG. 4. The pane may have a variety of formats depending on the type of data being presented.

One skilled in the art will recognize that the present invention can be used in connection with any type of filtering criteria that can be specified by the user, and/or with any combination of such filtering criteria. Examples include the ordinal visit number (indicating whether this is the visitor's first visit, second visit, etc.), which particular pages were visited, time of day of the visit, geographic location of the visitor, web browser being used, whether or not the visitor is using a beta version of the browser, and the like.

FIG. 1Ais a block diagram of one embodiment of the system. While the present invention will now be described in the context of a von Neumann architecture, is should be understood that one embodiment of the present invention divides functionality in a client/server architecture. Referring toFIG. 1A, the system is shown as including a control unit150, a display100, a keyboard122, a cursor controller123, a network controller124and an audio device125. The control unit150is shown including processor102, main memory104, and data storage device107, all of which are communicatively coupled to system bus101.

Processor102processes data signals and may comprise various computing architectures including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture implementing a combination of instruction sets. Although only a single processor is shown inFIG. 1A, multiple processors may be included.

Main memory104may store instructions and/or data that may be executed by processor102. The instructions and/or data may comprise code for performing any and/or all of the techniques described herein. Main memory104may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, or some other memory device known in the art. The memory104is described in more detail below with reference toFIG. 2A. In particular, the portions of the memory104for providing the user interface for segmentation definition are shown in detail.

Data storage device107stores data and instructions for processor102and may comprise one or more devices including a hard disk drive, a floppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, a DVD-RW device, a flash memory device, or some other mass storage device known in the art.

System bus101represents a shared bus for communicating information and data throughout control unit150. System bus101may represent one or more buses including an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, a universal serial bus (USB), or some other bus known in the art to provide similar functionality.

Additional components coupled to control unit150through system bus101include display device100, keyboard122, cursor control device123, network controller124and audio device125. Display device100represents any device equipped to display electronic images and data as described herein. Display device100may be a cathode ray tube (CRT), liquid crystal display (LCD), or any other similarly equipped display device, screen, or monitor. Keyboard122represents an alphanumeric input device coupled to control unit150to communicate information and command selections to processor102. Cursor control123represents a user input device equipped to communicate positional data as well as command selections to processor102. Cursor control123may include a mouse, a trackball, a stylus, a pen, a touch screen, cursor direction keys, or other mechanisms to cause movement of a cursor. Network controller124links control unit150to a network that may include multiple processing systems. The network of processing systems may comprise a local area network (LAN), a wide area network (WAN) (e.g., the Internet), and/or any other interconnected data path across which multiple devices may communicate.

One or more I/O devices125are coupled to the system bus101. For example, the I/O device125may be an audio device125equipped to receive audio input and transmit audio output. Audio input may be received through various devices including a microphone within audio device125and network controller124. Similarly, audio output may originate from various devices including processor102and network controller124. In one embodiment, audio device125is a general purpose; audio add-in/expansion card designed for use within a general purpose computer system. Optionally, audio device125may contain one or more analog-to-digital or digital-to-analog converters, and/or one or more digital signal processors to facilitate audio processing.

It should be apparent to one skilled in the art that control unit150may include more or less components than those shown inFIG. 1Awithout departing from the spirit and scope of the present invention. For example, control unit150may include additional memory, such as, for example, a first or second level cache, or one or more application specific integrated circuits (ASICs). Similarly, additional components may be coupled to control unit150including, for example, image scanning devices, digital still or video cameras, or other devices that may or may not be equipped to capture and/or download electronic data to control unit150.

Referring now toFIG. 1B, there is shown an example of a system130useful for practicing the present invention according to one embodiment. One skilled in the art will recognize that the invention can be practiced using other embodiments that differ from the examples shown.

The system130includes a client132, a network134, and optionally a cache148, for incrementally adding segmentation criteria to a data set. The client132includes software including of a number of executable code portions and data files. These include code for viewing and interacting with website usage reports according to one embodiment of the present invention, as well as for supporting functionality of a user interface, as will be described in greater detail in conjunction with FIG.2AB.

Client132is responsible for orchestrating the processes performed according to the methods of the present invention. For example, client132receives input154from an input device, and sends reports to display144(or other output device) for output to the user. Client132runs on a standard personal computer.

Network134is a centralized network for handling and responding to client requests for data on website usage, as described further in conjunction with FIG.3AB.

A cache148, if present, is a standard cache of small, fast memory holding recently accessed data. The cache148may include, for example a list of hash codes/meanings for report data as described below.

In one embodiment, the components shown inFIG. 1Boperate as follows. When a user requests one or more reports via an input device152, client132receives input154to this effect. Client132sends a query136to network134, specifying which reports are requested, and optionally specifying one or more filters for the reports. In one embodiment, query136is in XML format.

In response to query136, network134returns data138that contains a representation of the report data. Data204, in various embodiments, may be coded or not, and may be hashed data or may be included in a standard look up table. For example, data138may specify, in hash coded terms, the text string name of an item in a report. This data138is received by client132.

Client132stores, e.g., in local cache148, a list of previously received and decoded hash codes/meanings, so that it can correctly interpret a data that it has encountered previously. In one embodiment, local cache148is cleared at the end of a session, so that only those codes/meanings previously received in the same session are stored. In other embodiments, local cache148is implemented in a more persistent or less persistent fashion, depending on user needs.

Upon receiving data138, client132consults a storage, e.g., cache148; if storage contains the hash code(s)/meaning(s) in data138(in other words, if client132has previously received data containing the same code/meaning), client132can interpret the meaning of the data without any further communication with network134. For example, a hash code/meaning may specify that hash term #299signifies a visitor using Internet Explorer 6.0. If hash code(s)/meanings from data138is/are not present in cache148, client132sends query140to network134; network134responds by sending translation142to client132. Hash142provides client132with the meaning of terms. In one embodiment, client132stores this meaning for future use.

Once client132has received sufficient data to generate a report, it sends report to display144for output to the user. In one embodiment, if some meanings have not yet been received, client132still sends report, and report states that certain terms are unknown. In another embodiment, client132displays an error message and/or waits until more complete meaning data is available.

The user can interact with the displayed report via user input device152such as a mouse, keyboard, or the like. The user can click on areas within report; when the user clicks on an area that can be interpreted as a filter, client132generates and sends a new query136containing the new report filter criteria. The above process then repeats, and an updated report is sent to display144.

FIG. 2Aillustrates one embodiment of memory104of the present invention including operating system202, a web browser204, applications206, a status pane user interface (UI) module208, a web analytics tool210, and a status pane (SP) generation and storage module212.

The operating system202is in one embodiment one of a conventional type such as, WINDOWS®, SOLARIS® or LINUX® based operating systems.

The web browser204is of a conventional type that provides access to the Internet and processes HTML, XML or other mark up language to generate images on the display device100. For example, the web browser204could be Mozilla Firefox or Microsoft Internet Explorer.

The memory unit104also includes one or more application programs206including, without limitation, word processing applications, electronic mail applications, spreadsheet applications, and web browser applications.

The memory also includes a web analytics tool210such as Site Catalyst version 11 from Omniture of Orem, Utah. Such a tool210is disclosed in co-pending provisional patent application titled “Website Traffic Analysis Engine and User Interface,” Ser. No. 60/688,076 by Catherine Wong et al., filed Jun. 6, 2005, which is incorporated by reference in its entirety.

The status pane user interface (UI) module208is a module and routines for the generation of panes or windows as well as buttons and/or other attributes for user interaction with the web analytics tool210. The display generated by the status pane UI module208is shown in more detail below with reference toFIGS. 4-8. The status pane UI module208generates status data to provide the user with information regarding the filter that is being applied to the data. A key aspect of the present invention is the activation of the status pane showing a summary comparison of data, either filtered and unfiltered data, or two different sets of filtered data. The status pane UI module208provides a status pane or window of the comparison that may be presented to the user in conjunction with the filtered data or displayed over the filtered data according to one embodiment. The data in the status pane is dynamically updated depending on the filter the user has chosen to apply.

The status pane (SP) generation and storage module212includes routines and memory for generation and storage of unfiltered and filtered data, one or more templates or forms for the status pane presented to the user, and configuration information. In one embodiment, a single template is stored and it is populated with data from the data set being used by the web analytics tool210. In an alternate embodiment, the template presented and populated with data is dependent on the context in which the user is viewing the data. In yet another embodiment, the template used is dependent on configuration information that the user has provided.

The SP generation and storage module212advantageously regenerates the data in the status pane any time the user applies different filters or modifies the data segments being viewed. Thus, the status pane will be in sync with the data the user is viewing and provides a high level or summary view of the data. As noted above, the status pane shows both the filtered and unfiltered data, or two different sets of filtered data, thus the SP generation and storage module212must maintain current data to match the screen the user is viewing. The SP generation and storage module212is coupled to the status pane UI module208to provide the data that is displayed and also receives data indicating what filters are being applied.

Although the SP generation and storage module212and the status pane UI module208have been described above as separate modules in memory104, they may reside or operate either at the client or at the server. Moreover, although shown as separate modules, they may be incorporated into the work bench that is a part of the web analytics tool210.

FIG. 2Bis a block diagram illustrating software modules used by a client according to one embodiment of the present invention. The modules include of a number of executable code portions and data files. These include code for creating and supporting a user interface according to one embodiment of the present invention, as well as for supporting incrementally adding segmentation criteria to a data set. The modules may be included, for example in the client132ofFIG. 1Bor as part of the memory104ofFIG. 1A. The modules include an input module214, a query module216, an interpret module218, and an output module220.

The input module214is configured for receiving input to select one or more reports; receiving input to adjust segmentation criteria for one or more reports; receiving input to adjust one or more metrics; and receiving input for adjusting various aspects of displayed data. Thus, when a user requests one or more reports via an input device, the input module allows the client to receive input to this effect.

The query module216is configured for retrieving a data set comprising website visitation data associated with one or more reports; sending report queries to a network and receiving report data from the network corresponding to the queries; storing adjusted reports as one of the one or more defined reports. In one embodiment, when user input is received to filter the reports, a new query is generated and sent, repeating the process.

The interpret module218is configured for, in response to receiving data from the network, interpreting the data. In one embodiment, the interpret module218uses hash codes or meanings stored for this purpose. If hash codes/meanings are not present, for example in local cache, in one embodiment the interpret module218sends a query to the network, and receives back a translation providing the meaning of the term(s).

The output module220is configured for displaying one or more defined reports; displaying one or more (singly or multiply) adjusted reports, each adjusted according to segmentation criteria; displaying one or more twice-adjusted reports, each adjusted according to the segmentation criteria. In one embodiment, the output module220sends reports to a display device for output to the user.

The above software portions214-220need not be discrete software modules. The software configuration shown is meant only by way of example; other configurations are contemplated by and within the scope of the present invention.

Referring now toFIG. 3A, a block diagram showing the interaction of the components of present invention in a web analytics system will be described. A user300interacts with a status pane of a web analytics tool210. As noted above, the SP generation and storage module212and the status pane UI module208can be part of the web analytics tool210or operate in conjunction with it. The segmentation engine212uses the segment definition along with instructions to create a data set by applying the segmentation definition to the data source. The data set can then be further manipulated by the web analytics tool210for the creation of reports, display to the user, tracking, targeting and notification of users based on the data. During such manipulations, the SP generation and storage module212and the status pane UI module208generate and store data, and make available the interfaces shown below with reference toFIGS. 4-8.

Referring now toFIG. 3B, there is shown an example of an architecture for the network134ofFIG. 1Baccording to one embodiment. Network134includes any number of front-end web servers304that receive queries136,140from client132, and any number of back-end servers306that obtain data from storage, e.g., from database308, analyze the obtained data, and send report data back to client132. Servers304,306are computers or devices that send and receive information using well known network protocols, such as TCP/IP and HTTP, for communication across a network. Back-end servers306send an appropriate data set to client132based on the filter request. For example, if a filter request specifies that the user is only interested in visitors that used a particular web browser, back-end servers306remove the data that does not match the specified criterion, and only forward to client132the data that does match. Conceptually, back-end servers306are applying a movable filter bar to the data set, maintaining consistency in the views into the data while changing the size of the data set according to the filter request.

Database308may be a relational database or any other type of database that stores the data used by client132. Database308may be accessible by client132through a user interface, e.g., as described in conjunction withFIGS. 3A-3G.

Database308contains website visitation data, which in one embodiment is stored in a binary format stored in some storage medium such as a hard drive. In one embodiment, the website visitation data is broken up into files, or “bricks,” to facilitate extraction of portions of the data. When servers306extract data from database308, they are provided with specific bricks that match the criteria.

In one embodiment, when the user requests a report showing website visitation data for a specified time period, back-end servers306extract data from database308that contains web visitation logs and/or statistics. In one embodiment, servers306obtain data from database308that represents a snapshot of website visitation over a specified time period. Servers306and then apply filters as requested, and send the filtered data to client132.

In one embodiment, whenever the user requests a broader date range for website visitation data, back-end servers306perform a new data extraction from database308. However, when the user narrows the date range from a previously specified range, no new data extraction is performed; rather back-end servers306filter the previously extracted data according to the new filter parameters.

User Interface

Referring now toFIGS. 4-8, the user interface or status pane402will be described in detail.

The interface402produced by the status pane UI module208is a visual representation of key summary attributes that the user can select to view. As shown inFIG. 4, the status pane402includes a plurality of selectable buttons404-412that provide access to additional windows or panes of information. For example, as shown inFIG. 4, the plurality of buttons includes404-412: a button406for summary report, a button404for a totals report, a button408for a commerce report, a button410for a web traffic report, and a button412for a paths report. While this status pane402is shown as including buttons404-412that are selectable by the user by clicking on the button404-412with a mouse-type cursor, they may alternatively be automatically activated when the cursor is positioned (“hovered”) over them to automatically pop up the corresponding report. Those skilled in the art will recognize that whileFIG. 4shows one configuration of the buttons in the upper left corner of the status pane402in a inverted “L” configuration, the buttons404-412may be placed at a variety of other locations about the periphery of the status pane402.

As indicated by the arrow inFIG. 4, upon selection of a button404such as the total report button404, another pane414is presented in the status pane402. The other pane414is the report corresponding to the button404-412selected. The other pane414may have a variety of formats depending on the type of data being presented. In one embodiment as shown, the other pane414is placed over any data that may already be presented to the user. In another alternate embodiment, portions of pane402not displaying data are used to present the other pane414.

As shown inFIG. 4, the totals report414is particularly advantageous for a number of reasons. First, it provides a comparison of the total values418for the web metrics416presented to the filtered values420presented. Since the total values are not visible when the filter is applied this is advantageous because it shows the comparison very clearly. Second, the metrics416are selectable by the user. For example, the metrics416may include revenue, page views, and order as shown. However, these metrics are fully customizable by the user and may also include visitors, visits, browsers or any other metric in the data set. The customization may be done using a window where the entire set of metrics is presented, and the ones of interest are selected by the user for inclusion in the totals report or similarly for any other report.

In one embodiment, the data presented is the raw and filtered data with the same format as the data set. For example, if the metrics are in dollars or numbers they remain in the same data format and just show the data. In an alternate embodiment, the totals are always 100% and the filtered data is the percentage of that 100%. In another embodiment, in addition to the actual and filtered data, a third column is provided that gives the percentage difference between the two columns.

It should be noted the buttons404-412may alternatively provide a toggle function for the presence or non-existence of the other pane414. In such a case, it should be noted that the data in the pane414is dynamic, and each time the user moves the cursor over another part of the pane402that has a filter applied to data, the data in the other pane414changes to match the position of the cursor.

Referring now toFIG. 5, an exemplary pane402for data is shown without status information. In one embodiment, the user interface or pane402is implemented using a known environment such as Macromedia Flex, Java, DHTML, or any combination thereof.

The pane402includes an upper section502includes functionality for creating projects and reports and for displaying report statistics. The pane402also includes a lower section504that includes functionality for displaying and filtering reports510.FIG. 5shows a pane402with four reports510, and initially, no filter is applied.

The upper section502further includes a project toolbar512, a report selection area514, a segment filter area516, and a date filter area518according to one embodiment. The project toolbar512is a standard toolbar with icons for various functionalities such as creating a new project, opening an existing project, saving the project in use; printing the project, etc. The report selection area514lists reports510displayed in the lower section504, and includes an open report button520and a clear button522. The open report button520allows the user to open an existing report. Once opened, the report name is added to the list in the report selection area514, and the report510is displayed in the lower section504.

The segment filter area516displays a textual description of the filters applied. Because the reports ofFIG. 5have no filters applied, no segmentation criteria are displayed. The segmentation filter area516also includes a new segment button524for manually adding segmentation criteria.

The date filter area518allows the user to filter the reports510by date, for example by selecting a date range for which the user would like to see the report data. The date filter area518includes to and from date selectors526and a show by selector528. The to and from data selectors526allow the user to set start and end dates for the data displayed in the reports510, either by typing in the desired dates or by clicking the calendar icon and selecting the dates on a calendar. The show by selector528allows the user to select the granularity of the report, for example, by day, week, or month.

The lower section504includes reports510chosen in the reports selection area514.

FIG. 8illustrates a report510in greater detail according to one embodiment of the present invention. Each report510displays data corresponding to one dimension within the context of a larger data set, for example, website visitation data. For each report510, data is sorted according to one or more default metrics802. In this example, the default metric802is visitors (to the website). In another embodiment, the metric(s) used can be user defined.

Reports510include a set of standard function keys, including a print button804, a download button806, and view selector808. The print button804allows the user to print online reports without having to first download the reports. Clicking the print button804opens a pop-up window with a printer-friendly version of the report.

The download button806allows the user to select the format in which to download the report (e.g., Word, Excel, PDF, HTML). Once the user selects a format, the report is sent to the user as an email attachment or is downloaded directly to the user's computer.

The view selector808allows the user to select various views of the report data. The Ranked view, shown inFIG. 8, is the default view for most reports, allowing the user to view report data in tabular format according to the selected time periods. Other views include Improved, which allows the user to see how selected items performed between previous and current time periods based on success metrics such as revenue of checkouts, and Trended, which allows the user to view report trends over a given time. The user may select other available views using the view selector808drop-down.

In one embodiment, reports510include a search field810. A search field810allows the user to search for and view entries for specific keywords or phrases. As a result of clicking “go,” the report displayed will be filtered by the entered search term. In addition an advanced search button812allows the user to search with greater specificity, for example, by choosing whether to search for the exact phrase, perform an “and” or “or” search using the search terms, or exclude entries with the entered search terms. In one embodiment, clicking the advanced search button812opens a pop-up window displaying these options.

Each report510is divided into columns, including a filter column814, a data column816, and one or more metric columns818. The data column816includes a list of various forms of the dimension corresponding to the report510. In the depicted example, the dimension is Browsers, thus various browsers, such as Microsoft Internet Explorer 6.0, Netscape Navigator 6.2.3, etc., are listed. The metric column(s)818includes statistics for the respective row's820data column816. In the example depicted, for each browser (data column816), the metric column818displays visitors by number and percentage of the whole.

Reports510display rows up to a pre-selected number for the user interface402. In one embodiment, the number of rows can be edited. The user can interact with on-screen report windows according to well known interaction techniques for window-based operating systems. For example, the user can drag edges to change the height and width; minimize, delete, and maximize; reposition/rearrange windows on the canvas by dragging the window title bar; and drag the column margins to resize column width.

The filter column814of each row820includes an icon that allows the user to filter the data by that row820. When a filter is selected, all reports510are filtered to reflect the filter. The filter column814icon acts as a toggle, narrowing or expanding the data depending on the present state of the data in one embodiment. Data may be further filtered if desired, and again all reports510are filtered by the additional criterion. In one embodiment, the filtering occurs virtually instantaneously. In addition, the rows are totaled in a totals row822.

Referring now toFIG. 6, the pane402is shown after the user applies a filter on the “browser” report, via the row corresponding to Internet Explorer 6.0 (820a). As a result, the report510data is narrowed to only see visits from visitors using Internet Explorer 6.0. The filter is applied by clicking on the icon in the filter column814to the left of the data by which to filter. All reports now filter based on the criteria selected; thus the other three reports are only showing data where browser was I.E. 6.0. Note that text corresponding to the applied filter is not displayed in the segment filter area516. Furthermore, the pane402now includes the buttons404-412as shown and described above with reference toFIG. 4. These buttons404-412provide the user with easy access to high level data.

If for example the total reports button404is selected by the user, the SP generation and storage module212and the status pane UI module208produce another pane to present the totals report414as shown inFIG. 7. While the totals report is only shown as box inFIG. 7, it should be understood that it would have metrics and data corresponding to those metrics as set by the user or a default. The format for the totals report414may be similar to that shown inFIG. 4. This is particularly advantageous because these reports provide overall data about what the currently applied filter means.

While the present invention is shown as providing the data as an overlay in the same window, those skilled in the art will recognize how any of the reports corresponding to the buttons404-412may be provided in pop up windows, or windows adjacent (above or to the side) to the status pane402.

While the present invention has been described with reference to certain embodiments, those skilled in the art will recognize that various modifications may be provided. For example, the user interface may employ color, graphics and Icons to distinguish different sections, panes or buttons. Variations upon and modifications to the embodiments are provided for by the present invention.