U.S. patent number 7,085,682 [Application Number 10/245,580] was granted by the patent office on 2006-08-01 for system and method for analyzing website activity.
This patent grant is currently assigned to Doubleclick Inc.. Invention is credited to Andrew Joel Erlichson, Jonathan Marc Heller, James Christopher Kim, Benjamin Chien-wen Lee, Dwight Allen Merriman.
United States Patent |
7,085,682 |
Heller , et al. |
August 1, 2006 |
System and method for analyzing website activity
Abstract
A method and system for analyzing website activity. According to
an example embodiment, the system receives event-level data
representing visitor session activity on a client website;
attributes characteristic information of the event-level data
associated with each visitor's session to at least one of a
plurality of visitor segments, stores results of the attributed
information aggregated according to visitor segment prior to a
client-requested analysis of the event-level data, and provides
online reports based on the resultant data in response to a
client-requested analysis of the event-level data.
Inventors: |
Heller; Jonathan Marc (New
York, NY), Kim; James Christopher (New York, NY),
Merriman; Dwight Allen (New York, NY), Erlichson; Andrew
Joel (Metuchen, NJ), Lee; Benjamin Chien-wen (Bayside,
NY) |
Assignee: |
Doubleclick Inc. (New York,
NY)
|
Family
ID: |
36710641 |
Appl.
No.: |
10/245,580 |
Filed: |
September 18, 2002 |
Current U.S.
Class: |
702/186 |
Current CPC
Class: |
G06Q
30/02 (20130101) |
Current International
Class: |
H04N
7/16 (20060101) |
Field of
Search: |
;702/186,178
;707/102,101,9,203 ;705/17,14,10,26,29,9 ;329/265
;709/224,219,283,203,218,213,217 ;713/200 ;434/238 ;345/716 ;725/9
;455/67 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Barlow; John
Assistant Examiner: Lau; Tung S.
Attorney, Agent or Firm: Kenyon & Kenyon LLP
Claims
What is claimed is:
1. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of a web page
viewed by at least one of the plurality of visitors on the client
website.
2. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of a web page
from which at least one of the plurality of visitors on the client
website places a product in a shopping cart.
3. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of a website
from where at least one of the plurality of visitors came before
viewing a web page on the client website.
4. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of a product
clicked on by at least one of the plurality of visitors on the
client website.
5. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of a product
placed into a shopping cart by at least one of the plurality of
visitors on the client website.
6. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of a product
purchased after being placed into a shopping cart by at least one
of the plurality of visitors on the client website.
7. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the event-level data includes identification of at least
one of the plurality of pre-defined visitor segments associated
with at least one of the plurality of visitors on the client
website.
8. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the characteristic information includes total number of web
pages viewed.
9. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the attributed aggregated information according to visitor
segment prior to a client-requested analysis of the event-level
data; and providing online reports based on the stored aggregated
information in response to a client-requested analysis of the
event-level data, wherein the characteristic information includes
total number of products placed in a shopping cart.
10. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein the characteristic information includes total number of
products purchased.
11. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data,
wherein at least one of the plurality of pre-defined visitor
segments includes repeat customers.
12. A method for analyzing website activity, comprising: receiving
event-level data representing session activity of each of a
plurality of visitors on a client website; determining, based on
the event-level data, characteristic information associated with
the session activity of each of the plurality of visitors;
determining, based at least in part upon the event-level data,
membership of each of the plurality of visitors into at least one
of a plurality of pre-defined visitor segments, each of the
plurality of pre-defined visitor segments corresponding to a
categorization associated with a type of visitor; attributing the
characteristic information to at least one of the plurality of
pre-defined visitor segments based on the visitor segment
membership of each of the plurality of visitors; aggregating the
attributed characteristic information according to visitor segment;
storing the aggregated information according to visitor segment
prior to a client-requested analysis of the event-level data; and
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level
data.
13. The method according to claim 12, wherein the characteristic
information includes total revenue.
14. The method according to claim 12, wherein at least one of the
plurality of pre-defined visitor segments includes one-time
customers.
15. The method according to claim 12, wherein at least one of the
plurality of pre-defined visitor segments includes prospective
customers.
16. An apparatus for analyzing website activity, comprising: a
processor; and a memory, coupled to the processor, storing
instructions adapted to be executed by the processor to: receive
event-level data representing session activity of each of a
plurality of visitors on a client website; determine, based on the
event-level data, characteristic information associated with the
session activity of each of the plurality of visitors; determine,
based at least in part upon the event-level data, membership of
each of the plurality of visitors into at least one of a plurality
of pre-defined visitor segments, each of the plurality of
pre-defined visitor segments corresponding to a categorization
associated with a type of visitor; attribute the characteristic
information to at least one of the plurality of pre-defined visitor
segments based on the visitor segment membership of each of the
plurality of visitors; aggregate the attributed characteristic
information according to visitor segment; store the aggregated
information according to visitor segment prior to a
client-requested analysis of the event-level data; and provide
online reports based on the stored aggregated information in
response to a client-requested analysis of the event-level
data.
17. An apparatus for analyzing website activity, comprising: means
for receiving event-level data representing session activity of
each of a plurality of visitors on a client website; means for
determining, based on the event-level data, characteristic
information associated with the session activity of each of the
plurality of visitors; means for determining, based at least in
part upon the event-level data, membership of each of the plurality
of visitors into at least one of a plurality of pre-defined visitor
segments, each of the plurality of pre-defined visitor segments
corresponding to a categorization associated with a type of
visitor; means for attributing the characteristic information to at
least one of the plurality of pre-defined visitor segments based on
the visitor segment membership of each of the plurality of
visitors; means for aggregating the attributed characteristic
information according to visitor segment; means for storing the
aggregated information according to visitor segment prior to a
client-requested analysis of the event-level data; and means for
providing online reports based on the stored aggregated information
in response to a client-requested analysis of the event-level data.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. patent application entitled
"System and Method for Reporting Website Activity Based on Inferred
Attribution Methodology", filed Sep. 18, 2002, which is hereby
incorporated by reference in its entirety.
Copyright Notice
A portion of the disclosure of this patent document contains
material that is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction by anyone of
the patent document or patent disclosure as it appears in the
Patent and Trademark Office patent file or records, but otherwise
reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
The increase in electronic commerce over the Internet has resulted
in a growing demand for websites to track their online customers'
behavior and activity while at their sites. Tracking this activity
enables the websites to better understand their customers, which
provides insight into ways in which the websites' service and/or
offerings can be improved. Websites can track this information on
their own, but larger sites enlist the aid of third party
application software or a third party application service provider
("ASP") to do the work for them.
Tracking customer activity generally entails storing event-level
data to a log file. Event-level data represents specific events
that describe a customer's presence and/or activity at a website,
such as clicking on a specific web page or buying a specific
product. After a certain period of time, an ASP, for instance, may
analyze the event-level data in the log file according to desired
metrics (e.g., total revenue, top requested web pages, etc.) and
the results are provided to the client website in the form of a
report. Some web-based ASPs provide this analysis to the client via
interactive reports accessible through the client's web browser.
The interactive element of the report allows the client to view a
desired analysis by altering the report parameters in real
time.
A major drawback to this process is the cost associated with the
processing, storage and maintenance of the log files, which can be
quite large for client websites with high traffic volume. Each time
a client requests a particular analysis of the event-level data
through their web browser interface, the ASP has to perform the
requested analysis on the entire set of data in the log file, most
of which is not relevant to the requested analysis.
Some ASPs have attempted to control this cost by reducing the size
of the log file before analysis is fully performed on the data.
Such reduction typically involves a simple deletion of all data not
associated with a particular metric, such as the top web pages
visited or the top products sold on the site. Although this may
reduce the size of the log file somewhat, it discards data that may
be relevant to a second and separate analysis requested by the
client. And this data reduction implementation does not address the
expensive cost in processing time associated with performing each
analysis on the entire set of event-level data, even if the size of
the log file is somewhat reduced.
Accordingly, there is a need in the art for a system and method for
cost-effective and efficient analysis of online customer activity
and behavior at a website without sacrificing information relevant
to the analysis.
SUMMARY OF THE INVENTION
The present invention is directed to a system and method for
analyzing online customer activity at a website in a cost-effective
and efficient manner. Efficient data collection, processing,
storage and report presentation processes enable client websites to
quickly access and understand the interaction between site traffic
and transactions, while bringing all the necessary information
together and producing the answers needed for marketing,
merchandising, site usability, customer intelligence and e-commerce
P&L Management.
According to an example embodiment, the system receives event-level
data representing visitor session activity on a client website;
attributes characteristic information of the event-level data
associated with each visitor's session to at least one of a
plurality of visitor segments, stores results of the attributed
information aggregated according to visitor segment prior to a
client-requested analysis of the event-level data, and provides
online reports based on the resultant data in response to a
client-requested analysis of the event-level data.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram that depicts the nature and flow of data
through an analysis system in accordance with an embodiment of the
present invention.
FIG. 2 is a block diagram that depicts a user computing device in
accordance with an embodiment of the present invention.
FIG. 3 is a block diagram that depicts a network architecture for
an analysis system in accordance with an embodiment of the present
invention.
FIG. 4 is a flow chart that illustrates a segment analysis in
accordance with an embodiment of the present invention.
FIG. 5 is a flow chart that illustrates a process for determining
standard visitor segment membership in accordance with an
embodiment of the present invention.
FIG. 6 is a flow chart that illustrates a process for determining
client-defined visitor segment membership in accordance with an
embodiment of the present invention.
FIG. 7 is a screen shot of a Most Selected Site Sections analysis
page in accordance with an embodiment of the present invention.
FIG. 8 is a screen shot of a pop-up list of visitor segments in
accordance with an embodiment of the present invention.
FIG. 9 is a screen shot of a Visitor Section Navigation Paths
analysis page in accordance embodiment of the present
invention.
FIG. 10 is a screen shot of an On-Page Link Activity analysis page
in accordance with an embodiment of the present invention.
FIG. 11 is a screen shot of a Highest Revenue Generating Sections
analysis page in accordance with an embodiment of the present
invention.
FIG. 12 is a screen shot of a Top Selling Products analysis page in
accordance with an embodiment of the present invention.
FIG. 13 is a screen shot of a Section Funnel analysis page in
accordance with an embodiment of the present invention.
FIG. 14 is a screen shot of a Converted Shopping Cart Analysis page
in accordance with an embodiment of the present invention.
FIG. 15 is a screen shot of an Overall Abandonment Rate analysis
page in accordance with an embodiment of the present invention.
FIG. 16 is a screen shot of a Custom Report analysis page in
accordance with an embodiment of the present invention.
DETAILED DESCRIPTION
Overview
FIG. 1 provides an overview of a process and system according to an
embodiment of the present invention. The system receives
event-level data 100, which represents online activity of a
customer visiting a client website. Upon receipt of event-level
data 100, the system performs segment analysis 110 on event-level
data 100, transforming it into resultant data organized by segment
120 which is stored in database 130. Resultant data 120 comprises
the sparse data used to provide a report on a client-requested
analysis according to one or more metrics, and is organized by
various segments (e.g., visitor segments, such as "one-time
customer" or "repeat customer") for efficient storage and later
retrieval.
Architecture
FIG. 2 is a block diagram depicting the internal structure of user
computing device 200 in accordance with an embodiment of the
present invention. User computing device 200 may be a personal
computer, handheld personal digital assistant ("PDA"), or any other
type of microprocessor-based device. User computing device 200 may
include a processor 210, input device 220, output device 230,
storage device 240, web browser 250, and communication device
260.
Input device 220 may include a keyboard, mouse, pen-operated touch
screen, voice-recognition device, or any other device that provides
input from a user. Output device 230 may include a monitor,
printer, disk drive, speakers, or any other device that provides
tangible output to user.
Storage device 240 may include volatile and nonvolatile data
storage. Volatile data storage includes RAM, a cache, or any
storage medium that temporarily holds data while being processed;
nonvolatile data storage includes a hard drive, CD-ROM drive, tape
drive, removable storage disk, or any other non-temporary storage
medium. Communication device 260 may include a modem, network
interface card, or any other device capable of transmitting and
receiving signals over a network.
Web browser 250, which may be stored in storage device 240 and
executed by processor 210, may include Internet Explorer by
Microsoft Corp. or Communicators by Netscape Communications Corp.,
or any other software program that displays data from a web server
to a user via output device 230. One skilled in the art would
appreciate that the components of user computing device 200 may
also be connected wirelessly, possibly through an infrared
connection.
FIG. 3 is a block diagram depicting a network architecture for an
analysis system in accordance with an embodiment of the present
invention. According to one particular embodiment, when customer
300 visits the website of client 320, user computing device 200
sends and receives via web browser 250 HTTP ("Hypertext Transport
Protocol") requests (or any similar protocol requests) to and from
web server 330 via network link 315a, computer network 310, and
network link 315b. As customer 300 proceeds through client 320's
website, web server 330 sends information about customer 300's
online activity to application server 350 of analytics system 340
(via network link 315b, computer network 310 and network line
315c). After receiving this information (e.g., event-level data
100), application server 350 employs application software 360 to
perform segment analysis 110, which stores resultant data 120 in
database 130 (the boxes in database 130 marked "S" each represent
resultant data 120 pertaining to a particular segment). Application
software 360 also provides interactive reports (as shown in FIGS. 7
and 9 16) to client 320 on client-requested analysis through client
320's web browser (not shown).
Network link 315 may include telephone lines, DSL, cable networks,
T1 or T3 lines, wireless network connections, or any other
arrangement that provides a medium for the transmission and
reception of computer network signals. Computer network 310 may
include a wide-area network ("WAN"), such as the Internet, and a
local-area network ("LAN"), such as an intranet or extranet. It
should be noted that, technically, user computing device 200,
network link 315, web server 330, application server 350 and any
intermediate network components, such as Internet service providers
and routers (not shown), are also part of computer network 310
because of their connectivity.
Computer network 310 may implement any number of communications
protocols, including TCP/IP ("Transmission Control
Protocol/Internet Protocol"). The communication between UCD 200,
web server 330 and application server 350 may be secured by any
Internet security protocol, such as SSL ("Secured Sockets
Layer").
Web server 330 and application server 350 each include a processor
and memory for executing program instructions, as well as a network
interface (not shown), and may include a collection of servers
working in tandem to distribute the network functionality and load.
In one particular embodiment, application server 320 may include a
combination of enterprise servers such as a web application server,
a web user interface server and a database server, all of which
could be manufactured by Sun Microsystems, Inc. The web server (of
analytics system 340 as well as web server 330) could run an HTTP
server program in one embodiment, such as Apache.RTM., as a process
under an operating system such as UNIX.RTM. (or any variant
thereof). Database 130 may be part of a relational database
program, such as MySQL.RTM. or Oracle.RTM., that may be run as a
process by a database server within the UNIX.RTM. operating system,
for example.
Application software 330 may take the form of custom-written
programs and libraries that run, either interpreted or compiled, in
part as a result of HTTP requests received by application server
320. These programs may be written in any programming language,
such as C, C++, or PERL ("Practical Extraction and Reporting
Language"), and they may generate an HTML ("Hypertext Markup
Language") client interface of analytics system 340. Application
software 360 may be built on a web-based enterprise application
platform, such as J2EE.RTM. ("Java 2 Platform, Enterprise
Edition").
Tagging
In one example embodiment of the present invention, Web server 330
tracks and sends customer 300's online activity to application
server 350 through the use of IMG tags placed on certain pages of
client 320's website. The IMG tag is an HTML image request for a
1.times.1 pixel GIF from application server 350, and includes
key-value pairs that are used to pass event-level data 100 to
application server 350.
For example, each IMG tag may include key-value pairs to capture
data about such events as identification of the client site hosting
the visitor, the web pages that the visitors (e.g., customer 300)
view, the web pages where the visitors place products in their
shopping carts, and where the visitors came from before they viewed
a tagged web page. The following is an example such an IMG tag
(with key-value pairs highlighted in bold): <img
src=`http://client.rpts.net/activity;src=12; ord=12121212?;pg
nm=Home+Page;sect=Home+Page;pgurl=http://www.client.com/Default.a
sp?;ref=http://search.yahoo.com/bin/search?p=client.com`>
(Note that, for readability purposes, the above example code has
left out URL encoding that may be applied to non-alphanumeric
characters in a working embodiment.) In the above tag, "src" is the
key for the client site ID (with value "12"), "ord" is the key for
a random number used to defeat inadvertent duplicate page loads
(with value "12121212"), "pgnm" is the key for the name of the
current web page, provided by client 320 (with value "Home+Page"),
"sect" is the key for the name of the website section to which the
current web page belongs, also provided by client 320 (with value
"Home+Page"), "pgurl" is the key for the URL of the current web
page (having value "http://www.client.com/Default.asp?"), and "ref"
is the key for the referring URL of the current web page (with
value "http://search.yahoo.com/bin/search?p=client.com").
Of course, additional data may be supplied using additional keys.
Other key-value pairs may be utilized to provide information about
a product clicked on by a visitor (via a product identifier value),
a product placed into a shopping cart, a product converted (i.e.,
purchased after being placed in a shopping cart), visitor segment
membership and custom information. Client 320 may upload a product
information file (e.g., including product identifier, name and
category) to application server 350 so that application software
360 can match a product identifier in the IMG tag with the actual
product information for reporting purposes.
Segments
The event information automatically sent to application server 350
from web server 330 through the IMG tag functionality (i.e.,
event-level data 100) may be collected in a log file by application
server 350. When the time arrives to analyze event-level data 100
(e.g., once a day), application software 360 performs segment
analysis 110 on the data, as shown in FIG. 4. This embodiment
presumes that client 320 desires the reported data to be organized
by the various types of customers that have visited its website
(i.e., visitor segments).
According to an embodiment of the present invention, application
software 360 may commence segment analysis 110 by sorting the
events from the log file of event-level data 100 by visitor and
time received by analytics system 340 (step 400). This sort causes
all events associated with each visitor during each visitor's
session to be listed in chronological order, grouped by visitor. A
visitor's session may be defined as any sequence of events that
occur within a certain period of time (e.g., 30 minutes) of one
another, and ending after a completed purchase. Further,
application software 360 may rely on it own "cookie" information,
passed to application server 350 from each visitor's web browser
250 during an IMG tag request, in order to determine which events
have originated from the same visitor (assuming, of course, that
the visitor has not opted out of client 320's analytics system 340
cookie, is not behind a proxy server which automatically blocks
cookies, or has not disabled receiving cookies via the browser's
settings).
Application software 360 next determines characteristic information
associated with each visitor's session (step 410). To illustrate by
means of a simple example, one particular metric that analytics
system 340 may wish to report to client 320 is the total revenue
generated by client 320's website associated each type of visitor
segment. To accomplish this, application software 360 determines
from each visitor's event information the total revenue per
session, and stores the resulting revenue figure with its
corresponding visitor identifier (from the cookie) in a first
temporary table. Also determined and stored with its corresponding
visitor identifier is whether or not the visitor made a purchase
during the visitor's session, a fact useful for the next step in
segment analysis 110.
In the next step of the analysis, application software 360
determines visitor segment membership for each visitor (step 420),
either standard (see FIG. 5) and/or client-defined (see FIG. 6).
According to an example embodiment, each event can be associated
with one of five standard visitor segments ("prospect", "instant
customer", "browser", "one-time customer", and "repeat customer"),
in addition to any number of client-defined visitor segments (e.g.,
visitors who live within 20, 50, 100 and 200 miles of the physical
store).
FIG. 5 illustrates the determination of standard visitor segment
membership. First, application software 360 determines if client
320 has overridden the automated standard visitor segment process
(step 500). Client 320 may override the process by adding a
key-value pair in an IMG tag during a visitor's session that
identifies the particular standard visitor segment to which the
visitor belongs. If so, application software 360 assigns the
visitor to the client-determined standard visitor segment (step
555) by storing the appropriate segment membership information,
along with the visitor's identifier and date of visit, to a visitor
state table (step 560). The visitor state table is used to keep a
running tally of each visitor's current segment membership and date
of last visit.
In the event client 320 has not overridden the automated standard
visitor segment process, application software 360 determines
whether the visitor has visited client 320's website in the past
(step 505) by checking the visitor state table. If the visitor has
not visited client 320's website in the past (i.e., no previous
entry for the visitor in the visitor state table), then application
software 360 determines whether the visitor purchased something
during the visit (step 510) by checking the visitor's entry in the
first temporary table. If not, the visitor is assigned to the
"prospect" standard visitor segment (step 515). If so, the visitor
is assigned to the "instant customer" standard visitor segment
(step 520). If the visitor has been to the website before (an entry
exists for the visitor in the visitor state table), but longer than
a client-defined period of time, such as, e.g., a number of months
ago (as determined by checking the corresponding date of visit
entry in the visitor state table), then application software 360
treats the visitor as if this were the visitor's first visit to the
website (step 525).
If the visitor has been to the website before, and within the
client-defined period of time, then application software 360
determines whether the visitor purchased something during the visit
(step 530) by checking the visitor's entry in the first temporary
table. If not, the visitor is assigned to the "browser" standard
visitor segment (step 535). If so, application software 360
determines whether this is the visitor's first purchase at the
website (step 540) by checking the visitor's entry in the visitor
state table. If so (i.e., visitor's previous visitor segment is
"browser"), the visitor is assigned to the "one-time customer"
standard visitor segment (step 545), and if not (i.e., visitor's
previous visitor segment is either "one-time customer" or "repeat
customer"), the visitor is assigned to the "repeat customer"
standard visitor segment (step 550).
Each of the automated standard visitor segment membership
assignments are similarly performed by storing the appropriate
segment membership information, along with the visitor's identifier
and date of visit, to the visitor state table (step 560).
FIG. 6 illustrates the determination of client-defined visitor
segment membership. First, client 320 monitors customer activity at
its website (step 600), such as the visitor visiting the website
from a pre-defined external site, browsing a specific page of the
website, registering on the site, creating a wishlist, browsing,
carting or buying a specific product, using onsite search, and/or
visiting the website accompanied by client 320 knowing certain
information about the visitor. Client 320 then determines whether
particular customer activity is relevant to a client-defined
visitor segment membership (step 610). For example, if the visitor
registers on the website and provides a home address, then client
320 knows that this activity is relevant to a client-defined
visitor segment membership based on, for example, the visitor's
proximity to the client's physical store.
If such activity is relevant, client 320 then determines whether
the visitor should be assigned to the appropriate client-defined
visitor segment membership (step 620). If so (e.g., the visitor
lives within the required proximity), the visitor is assigned to
the appropriate client-defined visitor segment membership (step
630) by adding a key-value pair in an IMG tag during the visitor's
session that identifies any client-defined visitor segment to which
the visitor belongs. If not, client 320 then determines whether the
visitor should be removed from the appropriate client-defined
visitor segment membership (step 640). If so (e.g., the visitor
formerly lived within the required proximity, but changed addresses
and now lives outside the required proximity), the visitor is
removed from the appropriate client-defined visitor segment
membership (step 650) by adding a key-value pair in an IMG tag
during the visitor's session that identifies any client-defined
visitor segment from which the visitor is to be removed. If not,
client 320 returns to monitoring customer activity at the website
(step 600).
When application server 350 receives client-defined membership
assignments or removal instructions via the corresponding IMG tag
requests, application software 360 stores the appropriate visitor
segment membership to the appropriate entry in the visitor state
table (step 560).
Returning to segment analysis 110 in FIG. 4, now that the visitor
segment memberships are determined (step 420), application software
360 attributes the characteristic information (e.g., total revenue)
to the appropriate visitor segments (step 430) by creating
temporary tables, one per visitor segment, that house the
characteristic information as applied to its corresponding visitor
identifier according to visitor segment. This is accomplished
through a straightforward cross-referencing of the first temporary
table with the visitor state table. For example, one temporary
table would include, for all one-time customers, a listing of their
total revenue per sessions, while another temporary table would
include, for all repeat customers, a listing of their total revenue
per sessions, etc.
The last step in segment analysis 110 comprises aggregating the
attributed information according to visitor segment (step 440). In
other words, the totality of the session-level characteristic
information for each visitor segment table is aggregated so that
one final value (i.e., resultant data 120) is stored in database
130 representing the characteristic information for each entire
visitor segment. Continuing the current example, application
software 360 would add all of the session-level total revenue
figures for each segment and associate each sum with its
corresponding visitor segment.
Once resultant data 120 is stored in database 130, application
software 360 may disregard event-level data 100. All disregarded
information from the log file may be either discarded or returned
to the client website and not held within the system. Thus, only
resultant data 120 is stored in database 130, where it is quickly
accessed by a simple filter function for providing reports to
clients on client-requested analysis for any visitor segment, as
shown in FIGS. 7 and 9 16.
Client Interface
FIGS. 7 16 are screen shots illustrating a client interface,
provided by analytics system 340, for viewing reports by client
320. In this particular embodiment, client 320 views reports on
visitor activity at its website using the Internet Explorer web
browser.
In FIG. 7, client 320 views the Most Selected Site Sections
analysis page, which displays a rank listing of the most requested
sections of client 320's website for the current week. At the
bottom middle area of the screen, client 320 may select a pop-up
list marked visitor segments, which, when clicked (as fully shown
in FIG. 8), displays each type of visitor for which the data may be
presented to client 320. By selecting different visitor segments,
client 320 not only measures how many people come to any one
section of its website, but also understands how this measurement
differs for different types of visitors. This tells client 320
where valuable customers spend their time on the site.
Note that because resultant data 120 for FIGS. 7 and 8 16 has
already been stored according to each selectable visitor segment,
analytics system 340 can nearly instantaneously display
client-requested results upon selection of a visitor segment,
without any re-evaluation of the original event-level data 100.
As represented by FIGS. 7 and 8 16, upon selection of a different
visitor segment, analytics system 340 produces the requested data
immediately, since that data is already stored according to its
visitor segment in database 130. Thus, real-time calculation of
event-level data 100 in response to a client request is replaced by
a simple filter function on a pre-calculated sparse data set.
In FIG. 9, client 320 views the Visitor Section Navigation Paths
analysis page, which displays a tree of each visitor's site
navigation paths to and from particular sections of pages for the
current week. From this report, client 320 can determine not only
how may repeat customers, for instance, use which section of its
site, but also how repeat customers move through the site. This
tells client 320 how to drive profitable traffic within its
site.
In FIG. 10, client 320 views the On-Page Link Activity analysis
page, which displays a list of activity generated by hyperlinks on
a selected page that were clicked on at least once for the current
week. These hyperlinks can be both product offers or site
navigation links. This enables client 320 to see exactly how well
product offers drive sales and onsite traffic driving links drive
traffic.
In FIG. 11, client 320 views the Highest Revenue Generating
Sections analysis page, which displays a rank list of site sections
by dollar amount of revenue from purchases driven by a page within
that section for the current week. This allows client 320 to see
who is buying what where on the site, and if client 320 is
adequately promoting the products or sections that, for example,
repeat customers shop.
In FIG. 12, client 320 views the Top Selling Products analysis
page, which displays a rank list of top selling products across the
site for the current week. This shows client 320 not only what are
the best sellers, but why or why not are they the best sellers. For
example, lots of clicks but few carts could mean price is too high,
whereas-lots of carts but few conversions could mean problems in
the shopping process.
In FIG. 13, client 320 views the Section Funnel analysis page,
which displays a step by step analysis of site visits to converted
transactions for traffic going through the client-selected site
sections for the current week. This aids client 320 in improving
conversion rates by examining where in a customer's online travels
does client 320 lose the customer, and if this measurement is
different for other types of customer. This report is easily
customized by client 320, as client 320 need only to place an
additional key-value pair defining a particular phase number in an
IMG tag on the particular page in the client-defined funnel.
In FIG. 14, client 320 views the Converted Shopping Cart Analysis
page, which displays detail on the contents and conversion rates of
converted shopping carts by ranges of dollar amount cart value for
the current week. This shows client 320 who is spending how much.
Instead of just measuring standard retail measures such as average
order size and items per order, this report also enables client 320
to see if lumps of behavior exist at different spend levels, and
whether repeat customers spend more than new customers, for
example.
In FIG. 15, client 320 views the Overall Abandonment Rate analysis
page, which displays the percentage of all carts on the site that
were abandoned and did not covert to final sale for the current
week. Not only does this report establish what the abandonment rate
is, but also who is driving the abandonments.
In FIG. 16, client 320 views the Custom Report analysis page, which
display a custom report for the current week. In this type of
report, any values off any page can be analyzed, such as site
search terms in this case. The report shows client 320 both what
terms are entered and whether they result in a conversion or not.
This report is easily customized by client 320, as client 320 need
only to place an additional key-value pair defining the terms to be
captured in an IMG tag on any particular page.
Several embodiments of the invention are specifically illustrated
and/or described herein. However, it will be appreciated that
modifications and variations of the invention are covered by the
above teachings and within the purview of the appended claims
without departing from the spirit and intended scope of the
invention.
For example, embodiments of the invention can be applied to
non-merchandising websites by capturing the metrics mapped to the
navigation entities. Publishers interested in determining which ad
space is valuable can use such metrics as ad exposures, advertiser
hyperlink clicks, and website registration. Non-publishers
interested in determining what applications and documents are
accessed can use such metrics as application and documentation
downloads.
Also, this invention can be applied to multiple client websites
with distinct URLs by collating their respective data under one
client as recognized by the system. By defining either individual
sections for each distinct URL as a separate section or by defining
the entire website entities as separate sections, the segmentation
methodology would apply in a similar fashion as applied by the
single client website embodiment described herein.
Additionally, with a number of clients with similar application of
the system (e.g., selling furniture online, newspaper publishing
website, etc.), reports can be provided to compare one client's
metrics against an anonymous pool of other clients to determine its
relative standing in the industry on several metrics.
* * * * *
References