Revenue for Internet companies is often driven by advertising, which is typically paid out based on a network interaction (e.g., a click) on an advertisement. However, sometimes a network interaction is not legitimate—for example, a botnet may be developed to cause network interactions on an advertisement. Illegitimate network interactions lead to inappropriate payments by advertisers and inappropriate payments to publishers. Advertisers and publishers need to be informed of legitimate and illegitimate network interactions in order to determine appropriate payments. However, the information provided may release information that helps illegitimate network interaction creators to mask their activity.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. A component such as a processor or a memory described as being configured to perform a task includes both a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Providing a rating and/or a reason code for a network interaction is disclosed. A rating is provided to an advertiser and/or a publisher so that an understanding can be determined of a payment between the advertiser and the publisher. However, the advertiser and/or publisher may desire more knowledge regarding one or more network interactions and why the rating was determined as it was. On the other hand, if too much information is provided as to why the rating was determined as it was, then it may be possible to fool the rating system. A reason code is provided to provide a reason for the rating of a network interaction. The reason code provides some information to the advertiser and/or publisher without indicating the exact nature of which information affects a rating or how that information affects a rating. This provides evidence that the rating is legitimate to the advertiser and/or publisher while still protecting the specifics of the rating system against would-be fraud of the rating system.
In some embodiments, edge appliances can also be used to monitor traffic at other points in the network other than in front of or just beside a server - for example, on a trunk line, an internet service provider network, an advertising network, or any other appropriate traffic site.
In some embodiments, server 106 reports information regarding the network interaction. For example, a software monitor records information regarding a network interaction including a time, an IP originating address, a domain, a country, an operating system, user agent, referrer, stem portion of referrer (“referrer-stem”, query portion of referrer (“referrer-query”), referrer query length, search key word, search key word frequency, etc. The software monitor forwards the information regarding the network interaction to model server 112 or analytics server 116 as appropriate to enable the use of the information to rate the network interaction. In some embodiments, where server 106 reports information regarding the network interaction, edge appliance 108 is not present.
Edge appliance 108 is able to communicate with model server 112. Edge appliance 108 periodically transmits reports and receives models from model server 112. Model server 112 can store information on storage device 114. Model server 112 forwards reports from edge appliance 108 to analytics server 116 and forwards models from analytics server 116 to edge appliance 108. In some embodiments, there are a plurality of model servers and a plurality of edge appliances, where an analytics server is able to support the communications with a plurality of model servers, and a model server is able to support the communications with a plurality of edge appliances. In some embodiments, scalability is achieved using a plurality of model servers.
Models are used by edge appliance 108 to calculate a preliminary score in real-time or quasi-real-time for detected network interactions. A preliminary score can be based on information associated with detected network interaction(s) as well as on stored parameters or models received from a model server or an analytics server such as model server 112 and analytics server 116, respectively.
Analytics server 116 stores report information to storage device 120 which acts as a data warehouse for the report information. Reports web server 122 can build reports based on the data stored in storage device 120. Network operations server 118 monitors the health and status of the system for analyzing network interactions including model server 112, analytics server 116, reports web server 122, and edge appliance 108. Network operations server 118 is able to communicate with each of the system hardware units including model server 112, analytics server 116, reports web server 122, and edge appliance 108 (in some cases directly or via the Internet with edge appliance 108 and in some cases via the Internet, through firewall 104, and via LAN 105).
In various embodiments, edge appliance 108 monitors network traffic on a local network that is separated from other networks (e.g., the Internet) by a firewall, receives network traffic from a local network and transmits the network traffic to a web server, receives network traffic from a local network that also transmits the network traffic to a web server, or receives network traffic from any other point or between any other two points appropriate for monitoring network traffic.
In various embodiments, model server 112, analytics server 116, network operations server 118, and reports web server 122 are implemented in separate servers or computer hardware units, in a single server or computer hardware unit, or any combination of separate and combined servers or computer hardware units.
In various embodiments, different combinations of model server 112, analytics server 116, and reports web server 122 are used to determine a rating and/or a reason code for a network interaction.
In some embodiments, data received regarding a network interaction indicates that the network interaction is one of many recent visits from the same IP address, the rating process rates the network interaction such that the rating would decrease, whereas data received regarding a network interaction that indicates that the network interaction is one of many recent visits from the same IP address during which conversions and/or purchases have been made, the rating for the network interaction would increase. In this example, the rating system has ratings that increase for a better/desirable network interaction and decrease for worse/undesirable network interactions.
In various embodiments, a rating calculation is based on empirical and/or statistical models of network interactions and outcomes (i.e., conversions and/or purchases). In various embodiments, a rating calculation is based on a series of business rules which in turn rely on statistical models, do not rely of statistical models, rely on empirical models, or any other appropriate basis for ratings.
In some embodiments, the list is sorted after processing all records. In some embodiments, the list is not sorted.
In some embodiments, a reason code list changes over time to reflect new information appropriate for positive or negative affects on ratings.
In various embodiments, a reason code comprises one of the following items: self-identified robot, crawler, spider; repeat adclick; double click on ad; blank referrer; referred from major search engine; not referred from major search engine; rare search term; user_agent not Mozilla; referrer-query not provided; referrer-query too long; unusual operating system; no visits from this IP in last 24 hours; never seen this IP before; visits have too few page requests from this IP recently; visits too brief from this IP recently; recent visits from this IP; using rare HTTP protocol; never seen this domain before; too many adclicks from this domain recently; previous requests too recent from this IP; blank user agent; lack of recent conversions from this IP; too few recent conversions from this IP; rare browser; lack of recent visits from this country; lack of recent conversions from this country; too few recent conversions from this country; Canadian adclick; Foreign adclick; too many recent adclicks for this IP; IP Forensics; or any other appropriate reason code.
In some embodiments, a reason code is provided using a numeric or alphanumeric code. For example, a self-identified robot, a self-identified crawler, or a self-identified spider is provided by providing a single numeric code (e.g., ‘2’).
In some embodiments, reason code groups change over time as new reason codes are added and removed.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.