1. Field
This disclosure relates in general to computer data processing, and in particular to computer based systems and methods for providing anonymized marketing information.
2. Description of the Related Art
In recent years, many network/content access providers (e.g., Internet Service Providers (ISPs), Multi-System Operators (MSOs), IPTV Operators, Mobile Operators, Telecommunication Companies, Web Portals, etc.), in an effort to boost revenues, have become interested in how they can monetize their subscriber data. Concerns over consumer privacy and fair data usage have slowed the expansion of these revenue opportunities and in some cases, have prompted regulatory agencies and legislative bodies into investigating the practice and reviewing the laws and regulations regarding use of such data.
Embodiments disclosed herein are directed to systems and methods for enabling the matching of third party data with access providers' subscriber data in a privacy compliant manner, and then connecting an internet user to that third party data for use by marketers, content providers, or other interested parties in a manner that protects consumer privacy. In one embodiment, an access provider such as an ISP or a content provider such as a web portal sends its subscriber data to a double blind processor that generates an encrypted key for each subscriber. The key is then used to find matching consumer data, for example, consumer segments that represent previously collected or modeled consumer attitudinal, habit, and/or financial data. As an example, a “segment” can also be a raw data element (e.g. known household composition/number of people in household), a modeled element (e.g. estimated household composition), a modeled segment built upon raw data elements, or a custom segment. In one embodiment, identifiers of the matched consumer segments, if found, are appended to the encrypted keys for respective subscribers. In other embodiments, where the subscriber may be a business, the encrypted key is used to locate matching data related to the business. Matching is not limited to consumer or business segments and other types of consumer or business data may be used.
In another embodiment, an access provider such as an ISP or a content provider such as a web portal can submit its subscriber data to a marketing data appliance (MDA) located within its network. Although the term “access provider” or “network access provider” is used herein, embodiments disclosed herein may operate in conjunction with content providers such as web portals. The MDA uses the personally identifiable data within the subscriber data to find matching consumer or business data, for example, consumer or business segments that represent previously collected or modeled consumer attitudinal, habit, and/or financial data. In one embodiment, the MDA strips out personally identifiable data and forwards the matched data to a real time marketing bureau (RTMB). The RTMB uses the matched data in subsequent operations to provide consumer or business data to advertisers, content providers, and other interested parties. For example, when a subscriber of the access provider (e.g. ISP) accesses a web site, the web site may trigger a request to the RTMB, which in turn may return anonymized marketing data associated with the subscriber to the web site. The returned anonymized data may include previously matched consumer segments associated with the subscriber as discussed above, which may be used by the web site to customize content to be displayed to the subscriber. In one embodiment, the access provider may provide to the MDA data indicative of the IP address that is dynamically assigned to the subscriber, along with an identifier of the subscriber, to enable the MDA to provide anonymized marketing data to the RTMB. In one embodiment, the RTMB may provide to the MDA the IP address of the subscriber who is visiting the web site that triggered the request for anonymized marketing data, and the MDA may match the IP address from the RTMB to that which is indicated by the access provider as assigned to the subscriber, in order to determine which subscriber's marketing data should be returned. In one embodiment, because the MDA is located within the same network behind the access provider's firewall and matching is performed based on anonymized identifiers such as encrypted keys and IP addresses, no personally identifiable data is transmitted outside of the access provider's network. This allows the access provider to furnish subscriber data to the RTMB to provide through to Internet marketers, content providers, and/or other interested parties in a way that protects consumer privacy.
In some embodiments, the MDA may contain regularly updated system rules that reflect changing privacy laws and regulations. In other embodiments, the MDA may apply different system rules based on the subscriber address received from the access provider, so that the process is in compliance with any additional local or state laws and regulations. As such, the access provider is saved from having to constantly modify its own system to keep up with changing or additional local laws or regulations. In other embodiments, the MDA may contain a regularly updated opt-out listing provided by or otherwise maintained by an access provider, a consortium of access providers, the entity that provides the MDA, a third party service, and/or a governmental agency. The MDA may thus apply appropriate opt-out rules to ensure that data from consumers who have registered with these opt-out listings are not sent outside of the access provider.
One embodiment is a system for providing anonymized marketing data, the system comprising: a segment data store comprising marketing data segment records associated with a plurality of subscribers of an access provider; a processer that is configured to: receive personally identifiable information of the plurality of subscribers from the access provider; for one or more of the plurality of subscribers, match the personally identifiable information of an individual subscriber to an identifier previously associated with the personally identifiable information, the identifier useable to access data that are associated with the individual subscriber in the segment data store; create encrypted keys based on the matched identifiers; and delete the received personally identifiable information; a marketing data appliance that is configured to receive the encrypted keys and append, to the encrypted keys, one or more consumer segment identifiers for the marketing data segment records associated with the individual subscriber; and a compute cluster system that is configured to: receive the encrypted keys with the appended consumer segment identifiers from the marketing data appliance; receive from a network address allocation server a plurality of data entries indicating network addresses assigned to the subscribers; and return, upon a data request from a bureau server containing a network address of a subscriber accessing a server via the access provider, one or more marketing data segment records from the segment data store to the bureau server.
Another embodiment is a system for providing anonymized marketing data, the system comprising: a segment data store comprising marketing data segment records associated with a plurality of subscribers of an access provider; a marketing data appliance that is configured to: receive personally identifiable information of the plurality of subscribers from the access provider; for one or more of the subscribers, match the personally identifiable information of an individual subscriber to an identifier associated with the personally identifiable information; create an encrypted key based on the matched identifier; append, to the encrypted key, one or more consumer segment identifiers for the marketing data segment records in the segment data store that are associated with the individual subscriber; and delete the received personally identifiable information; and a compute cluster system that is configured to: receive the encrypted keys with the appended consumer segment identifiers from the marketing data appliance; receive from a network address allocation server a plurality of data entries indicating network addresses that are assigned to the subscribers; and return, upon a data request from a bureau server with a network address, one or more marketing data segment records from the segment data store to the bureau server.
Another embodiment is a computer-implemented method of providing anonymized marketing data, the method comprising: receiving personally identifiable information for a plurality of subscribers from a network access provider; returning to the network access provider a plurality of encrypted keys that correspond to the received personally identifiable information, the encrypted keys useable to access data in a segment data store; receiving the returned encrypted keys at a marketing data appliance; for each of the encrypted keys, appending to the encrypted key one or more consumer segment identifiers in the segment data store that match the encrypted key; and forwarding the encrypted keys and the appended consumer segment identifiers to a compute cluster system, the compute cluster system configured to return a plurality of marketing data attributes associated with the consumer segment identifiers in response to a request for the marketing data attributes, wherein the method is executed on one or more computing systems.
Another embodiment is a system for providing anonymized marketing data, comprising: a segment data store comprising marketing data segment records associated with a plurality of customers of a business entity; a marketing data appliance that is configured to: receive personally identifiable information of the plurality of customers from the business entity; for one or more of the customers, match the personally identifiable information of an individual customer to an identifier, the identifier useable to access data in the segment data store; and append to the identifier one or more consumer segment identifiers for the marketing data segment records associated with the individual customer; and a compute cluster system that is configured to: receive the identifiers with the appended consumer segment identifiers from the marketing data appliance; receive from a network address allocation server a plurality of data entries indicating network addresses that are assigned to the customers who are subscribers of an access provider; and return, upon a data request from a bureau server comprising a network address, one or more marketing data segment records from the segment data store to the bureau server.
Another embodiment is a computer-implemented method of providing anonymized marketing data, comprising: receiving personally identifiable information for a plurality of customers from a business entity; for one or more of the plurality of customers, assigning an identifier to an individual customer and appending to the identifier one or more consumer segment identifiers that are associated with the identifier; forwarding the identifiers and the appended consumer segment identifiers to a compute cluster system, the compute cluster system configured to receive network address assignments of the customers from a network access provider; and returning, by the compute cluster system, a plurality of marketing data attributes associated with the consumer segment identifiers when at least one of the customers are accessing, through the network access provider, a server that triggers a request for the marketing data attributes, wherein the method is executed on one or more computing systems.
Specific embodiments of the invention will now be described with reference to the following drawings, which are intended to illustrate embodiments of the invention, but not limit the invention:
Embodiments of the invention will now be described with reference to the accompanying figures, wherein like numerals refer to like elements throughout. The terminology used in the description presented herein is not intended to be interpreted in any limited or restrictive manner, simply because it is being utilized in conjunction with a detailed description of certain specific embodiments of the invention. Furthermore, embodiments of the invention may include several novel features, no single one of which is solely responsible for its desirable attributes or which is essential to practicing the inventions herein described.
In one embodiment, the process described in
At state 28, content in the site 72 visited by the visitor (e.g. an advertisement) may trigger a request to an interested party entity 74, with the request including the subscriber's current IP address in one embodiment. The interested party entity may be an ad network, for example. At state 30, the interested party entity 74 may submit to a real time marketing bureau 60 a request for consumer data attributes for the subscriber, passing along the IP address in one embodiment. In other embodiments, the site 72 may directly send the request for consumer data attributes. At state 32, the real time marketing bureau 60 may then receive the request for consumer data attributes for the given IP address. In one embodiment, the real time marketing bureau 60 may use the IP address to resolve to the proper compute cluster associated with the network access provider to whom the IP address belongs. The proper compute cluster 56 may then receive the request from the real time marketing bureau 60 at state 34.
At state 36, the compute cluster 56 may use the IP address from the request and locate the associated encrypted key and appended segment identifiers. The lookup may use previously supplied IP address-encrypted key pairing information from the network address allocation server 44. The compute cluster 56 may then return the consumer data attributes identified by the segment identifiers to the real time marketing bureau 60. In one embodiment, the compute cluster may access the attributes stored in the consumer segment data store 58. At state 38, the real time marketing bureau 60 may return the consumer data attributes to the interested party entity 74, which may then use the attributes to customize content to be returned to the site at state 40.
Providing Marketing Information Based on Data Supplied by an Access Provider with Double Blind Processing
In the embodiment of
In one embodiment, the double blind processor 196 generates encrypted keys based on the received subscriber data from the access provider 104. In alternate embodiments, the double blind processor 196 performs data matching without using postal addresses. For example, in the case of a content provider such as a web portal (in place of the access provider 104), the subscriber data may include email addresses but not postal addresses, and the double blind processor 196 can access an additional data source or use data available within the double blind processor 196 that will enable matching with email addresses and/or names. The double blind process masks any P11 so the P11 is not used in subsequent operations. Encrypted keys may be generated by matching the names and addresses to a number of predefined IDs that correspond to those used in a marketing data appliance (MDA) 106. In one embodiment, the predefined IDs in the marketing data appliance are derived by an earlier application of the double-blind process to a database containing a portion of a consumer segment database, which replaces personally identifiable information with the predefined IDs. In one embodiment, the consumer segment database includes an INSOURCESM database. Returning to
Then the access provider forwards the encrypted keys at step A3 to the MDA 106. In one embodiment, once the MDA 106 receives the encrypted keys, at step A4 it performs a lookup in one or more consumer segment databases using the encrypted keys. In one embodiment, the INSOURCESM database is used as the consumer segment database. The MDA 106 can match the encrypted keys to one or more consumer segments that represent consumer attributes, such as attributes associated with the consumer and/or the consumer's household. The segments are stored in one embodiment with an associated key and an associated encrypted postal address. At step A5, the encrypted key and the one or more identified Consumer Segment IDs are sent to a Compute Cluster 110. The Compute Cluster 110 may include software processes to be applied to the data received. The Compute Cluster 110 may be configured to handle segment data lookup requests from a Real Time Marketing Bureau (RTMB) 102, which may be located outside of the access provider 104's firewall. The handling of segment lookup requests will be described in additional details in the section entitled “Real Time Operation” in conjunction with step B5 shown in
In one embodiment, the operations performed at steps A1, A2, A3, A4, A5, and/or A6 are preferably conducted on a regularly scheduled basis, e.g., a daily or nightly basis, a twice daily basis, a weekly basis, etc. For example, subscriber UIDs or encrypted keys can be submitted on a nightly basis to the MDA 106, which in turns appends a corresponding Consumer Segment ID or other consumer data to the UIDs or encrypted keys and forwards the appended data to the RTMB 102. The access provider may also select a sub-set of subscriber data to send on a nightly basis (e.g., new subscribers) and send a more complete set of subscriber data on a weekly basis. Alternatively, the double blind process in steps A1 and A2 may be performed off-line and/or on a different schedule than steps A3-A6.
An illustrative data matching example is shown in
Providing Marketing Information Based on Data Supplied by an Access Provider without Double Blind Processing
Once the MDA 106 receives the subscriber data, at step A2 it performs a lookup in one or more consumer databases that contain consumer segments and other consumer data, using the subscriber data. In one embodiment, the INSOURCESM database is used. In one embodiment, the MDA 106 can match the subscriber address to one or more consumer segments or other consumer data that represent consumer attributes, such as attributes associated with the consumer and/or the consumer's household. In other embodiments, consumer data other than consumer segments can be used. In other embodiments, business data and/or segments may be used. In one embodiment, the MDA 106 first standardizes the names and addresses into a standard format before performing the matching. In alternate embodiments, the MDA 106 performs data matching without using postal addresses. For example, in the case of a content provider such as a web portal (in place of the access provider 104), the subscriber data may include email addresses but not postal addresses, and the MDA 106 can access an additional data source or use data available within the MDA that will enable the MDA to use the email addresses and/or names for matching.
An illustrative data matching example is shown in
In one embodiment, the operations performed at steps A1, A2, A3, and/or A4 are preferably conducted on a regularly scheduled basis, e.g., a daily or nightly basis, a twice daily basis, a weekly basis, etc. For example, the subscriber data can be submitted on a nightly basis to the MDA 106, which in turns appends a corresponding Consumer Segment ID to the UID and forwards the appended data to the RTMB 102. The access provider may also select a sub-set of subscriber data to send on a nightly basis (e.g., new subscribers) and send a more complete set of subscriber data on a weekly basis.
For both embodiments depicted in
At step B5, the RTMB 102 in turn may route the request to the proper Compute Cluster 110. Since multiple access providers may partner with the RTMB 102 to supply marketing data, the RTMB 102 is responsible for determining the proper Compute Cluster 110 by matching the incoming IP address with the IP address range handled by the Compute Cluster 110 associated with each access provider. For example, a Compute Cluster “A” may be installed at an access provider “A” with a first IP address range while a Compute Cluster “B” may be installed at an access provider “B” with a second IP address range. When an incoming request arrives, the RTMB may find that the IP address associated with the request is within the second IP address range. The RTMB may recognize that the IP address is from a subscriber of access provider “B” and thus forward the request to the Compute Cluster “B.” The Compute Cluster 110 may look up the consumer data attributes as follows.
With reference again to
In the example shown in
If the interested party entity is an advertiser (server) 122 or an ad network (server) 124, it may then select an advertisement based on the returned data attributes and serve the advertisement to the site 134 at step B8 in
In other embodiments, the RTMB 102 may not be provided with the IP address and UID pairing collected by the access provider. For example, the subscriber 142 may not be a subscriber of an access provider that has an arrangement to send data to the RTMB 102. In such cases, the RTMB 102, given an IP address supplied by an interested party entity 130, may nevertheless return consumer or business related attributes based on (1) estimating a geography for the IP address and (2) returning consumer or business related attributes associated with the estimated geography, for example. The process of performing geo-location lookup is further described in co-pending U.S. patent application entitled “SYSTEMS AND METHODS FOR REAL TIME SEGMENTATION OF CONSUMERS,” Ser. No. 12/118,585, filed May 9, 2008, the disclosures of which are hereby fully incorporated by reference. In another embodiment, when the RTMB 102 does receive an actual IP address and UID pairing from the access provider 104, it provides feedback to the geo-location process so it can improve its ability to estimate geography and find matching consumer or business related attributes.
Consumer privacy is maintained in various embodiments as the Compute Cluster returns only the consumer or business related attributes associated with the IP address to the RTMB. With reference to
In the embodiment of
In one example, the business that is supplying customer data may direct ads in order to “up sell” a product. For example, a car manufacturer may already know that a certain customer A is interested in or otherwise owns a mid-priced model, and the car manufacturer may wish to direct to customer A an advertisement touting a luxury model. In another example, an electronic retailer may “cross sell” a product by directing to a customer who has recently purchased a high-definition TV advertisements that feature a number of accessories such as a digital video recorder. Finally, a business may wish to initiate “competitive blocking,” so that it can buy advertising inventory for its customers so as to not allow its competitors to buy that same advertising inventory or reach those same customers in the online advertisements in question. Finally, if the customer visits a site controlled by the business, the business may use the returned consumer or business related data attributes to customize content to be displayed to the customer.
Returning to
Once the MDA 116 receives the subscriber data, it may perform several tasks at step C2. An illustrative example is provided in
In one embodiment, the operations performed at steps C1, C2, C3, and/or C4 are preferably conducted on a regularly scheduled basis, e.g., a daily or nightly basis, a twice daily basis, a weekly basis, etc. Also, the business may select a sub-set of customer data to send on a nightly basis (e.g., new customers) and send a more complete set of customer data on a weekly basis.
Once the collected data from the business are processed by the MDA 116 and submitted to the RTMB 102, the RTMB 102 may take a number of steps to provide real time or substantially real time marketing information to marketers, content providers, and/or other interested parties. At step D1, a customer 144, who may be a subscriber of the access provider 104, visits a website 134 that may contain one or more advertisements. At step D2, the access provider 104 may periodically send dynamically updated pairing of the customer's current IP address and the customer's UID to the Compute Cluster 110 via an IP address allocation server 112. In one embodiment, the IP address allocation server 112 may comprise a RADIUS server, a DHCP server, or another server that performs the function of allocating IP addresses. In one embodiment, the pairings are sent in one or two-minute intervals. At or around the same time, at step D3, one or more advertisements embedded within the site or the site content itself may trigger a request to an interested party entity 130 who may have control over one or more advertisements or some or all of the content on the site 134, e.g., an advertiser (server) 122, an ad network (server) 124, a publisher (server) 126, or a web site (e.g., operated a retailer) 128. The request may contain the customer's IP address. The interested party entity may then send the RTMB 102 a request for consumer data attributes along with the customer's IP address at step D4.
At step D5, the RTMB 102 in turn may route the request to the proper Compute Cluster 110. Since multiple access providers may partner with the RTMB 102 to supply marketing data, the RTMB 102 is responsible for determining the proper Compute Cluster 110 by matching the incoming IP address with the IP address range handled by the Compute Cluster 110 associated with each access provider. With reference again to
As described above in conjunction with
The anonymized marketing system 400 is generally controlled and coordinated by operating system software, such as Windows Server, Linux Server, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Unix, Linux, SunOS, Solaris, or other compatible server or desktop operating systems. In Macintosh systems, the operating system may be any available operating system, such as MAC OS X. In other embodiments, the anonymized marketing system 400 may be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface, such as a graphical user interface (“GUI”), among other things.
The anonymized marketing system 400 may include one or more commonly available input/output (I/O) devices and interfaces 222, such as a keyboard, mouse, touchpad, and printer. In one embodiment, the I/O devices and interfaces 222 include one or more display devices, such as a monitor, that allows the visual presentation of data to a user. More particularly, a display device provides for the presentation of GUIs, application software data, and multimedia presentations, for example. The anonymized marketing system 400 may also include one or more multimedia devices 230, such as speakers, video cards, graphics accelerators, and microphones, for example. In other embodiments, such as when the anonymized marketing system 400 comprises a network server, for example, the anonymized marketing system 400 may not include any of the above-noted man-machine I/O devices.
As shown in
Data requests may be sent to the anonymized marketing system 400 over the network 240. Similarly, results may be returned over the network 240. In addition to the devices that are illustrated in
In the embodiment of
In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, Lua, C, C++, or C#. A software module may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software modules may be callable from other modules or from themselves, and/or may be invoked in response to detected events or interrupts. Software instructions may be embedded in firmware and stored in memory such as an EPROM. It will be further appreciated that hardware modules may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors. The modules described herein are preferably implemented as software modules, but may be represented in hardware or firmware. Generally, the modules described herein refer to logical modules that may be combined with other modules or divided into sub-modules despite their physical organization or storage.
The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated. The scope of the invention should therefore be construed in accordance with the appended claims and any equivalents thereof.
This application is based upon and claims the benefit of priority from U.S. Provisional Patent Application No. 61/105,012 filed on Oct. 13, 2008, entitled “Systems and Methods for Providing Real Time Anonymized Marketing Information,” the entire contents of which are hereby incorporated herein by reference in their entirety. All publications and patent applications mentioned in this specification are herein incorporated by reference in their entirety to the same extent as if each individual publication or patent application was specifically and individually indicated to be incorporated by reference.
Number | Date | Country | |
---|---|---|---|
61105012 | Oct 2008 | US |