Described is a collection of web services for determining location, demographical information, likelihood of fraud, and interests based on IP address, user agent, ISP and reverse DNS name.
A data collector system is made up of the following four online services.
1. Javascript service to return Geographical and demographic information
of web service visitors.
Javascript code is served from a central set of servers. Various websites include the Javascript code in their website code. Javascript service uses the IP address, user-agent, and accept language of the website visitor to determine the vistor's geographic location, ISP, Organization, user type (business, residential, traveler, education), netspeed, estimated age, gender, interests, education, occupation, has children, income, marital status.
2. IP geolocation Web service
This web service returns the estimated geographic location, ISP, Organization, user type (business, residential, traveler, education), netspeed, estimated age, gender, interests, education, occupation, has children, income, marital status of a website visitor or server given an IP address, user_agent and accept language and email or hashed email.
The service also returns information based on the user agent and accept language strings such as language, device type, operating system, browser type and version.
3. Fraud detection web service
This web service returns the likelihood of a online transaction being fraudulent. It takes as inputs the customer IP address, user-agent, email, order information (credit card, billing and ship address) and returns a risk score as well as other information about the individual order variables.
The fraud detection service assigns a identifier for each merchant
querying the service. The service categorizes merchants as low or
high risk based on
the percentage of transactions from that merchant that are determined
to be coming from a proxy or are determined to be fraud.
The fraud detection service may mark an IP address as being a proxy
if that IP address comes from a high risk merchant. However, if
a sufficient number of transactions on the same IP are from low
risk merchants, the IP will not be flagged as a proxy, or if it
is already flagged, it will be removed from the proxy database.
The billing addresses associated with the credit cards are passed to the fraud detection service and used to construct a IP geolocation database. For each IP address range, the best estimated location is selected by minimizing the sum of the square root of distances between the estimated location and the set of associated billing addresses. This database is used to return the the location of IP addresses for all of the web services described in this disclosure.
4. Javascript service to record device information
Javascript code is served to multiple websites from a central set of servers. The javascript code records the IP address, user agent, accept language and device information including screen size and resolution as well as plugin information into a database. The Javascript code is used to link transactions together that are using the same device. If a device has been associated with a high-risk or fraudulent transaction, future transactions from that device are flagged as high-risk. In addition, the IP, email and other order data associated with the device are flagged as high risk. The Javascript code also performs session analysis and determines from the website browsing logs if the visitor may be high-risk for fraud.
To determine the demographics for an IP range:
1. The zipcodes associated with the online orders associated with the IP range are looked up from the fraud detection service logs.
2. The demographics associated with those postal codes are looked up against the census or other demographic database and averaged to return demographics for a IP address range.
The IP address, email, user agent, and accept language data is used to build a lookup table of IP address to user agent and accept language. If the user agent and accept language have been seen before on an IP or email, the fraud detection web service will return a lower risk score indicating a lower likelihood of fraud.
Demographics associated with a user-agent string will be determined as follows:
1. IP address and user-agent pairs are recorded by the four data collector systems listed above.
2. Using a IP Geolocation database the estimated location including zipcode is determined for the IP / user-agent pair
3. Using Census data and estimated location, demographic information is determined for each IP / user-agent pair.
4. The average demographic profile for each user-agent string is computed by averaging all the demographic information assicated with each IP / user-agent data point.
5. A regression or data mining algorithm may be employed to find the demographic profile for the user-agent using the Census data and IP geolocation database.
6. The demographic information associated with the IP address and user-agent are combined, and are returned by any of the four services listed above.
Demographics associated with a user-agent string may also be determined as follows
1. user-agent and customer billing postal code is recorded by the fraud
detection web service.
2. Census data is used to determine the demographics
associated with the customer billing postal code.
3. The average demographics are computed across all billing postal codes
associated with each user-agent string.
4. A data mining algorithm may be employed to find the
demographic profile for each user-agent string using the average demographics
based on billing postal code.
Demographics associated with an ISP or organization are determined as follows:
1. IP address and customer billing postal code is recorded by the fraud detection service.
2. ISP and Organization is determined by looking up the ISP and Organization of the IP address using a IP to ISP and IP to Organization database.
3. Census data is used to determine the demographics
associated with the customer billing postal code.
4. The average demographics are computed across all billing postal codes
associated with each ISP and Organization.
5. A data mining algorithm may be employed to find the
demographic profile for each ISP or organization using the average demographics
based on billing postal code.
Reverse DNS information can be used to further classify and segment the demographics within an ISP. For example if the reverse DNS includes the string fios, those IPs are classifed as Verizon FiOS and are analyzed separately to determine if FiOS users have a different demographic profile.