Computing user micro-segments for offer matching
First Claim
1. A computer useable storage device storing a computer readable program, wherein the computer readable program when executed on one or more processors causes the one or more processors to perform operations comprising:
- receiving user data and a plurality of micro-segment definitions such that each micro-segment definition in the plurality of micro-segment definitions corresponds to one or more offers in an offer provider campaign;
parsing each micro-segment definition from the plurality of micro-segment definitions into a plurality of parsed expression segments that indicate a plurality of micro-segment condition rules;
compiling the plurality of parsed expression segments into an executable object that indicates a plurality of instructions to determine if the user data matches the plurality of micro-segment definitions;
processing the executable object to apply the plurality of micro-segment condition rules to the user data to determine a match of a user to a micro-segment;
assigning a score to indicate a strength of the match of the user to the micro-segment; and
ranking the score relative to a different score for a different user assigned based on a strength of a match of the different user to the micro-segment.
2 Assignments
0 Petitions
Accused Products
Abstract
User data and a plurality of micro-segment definitions such that each micro-segment definition in the plurality of micro-segment definitions corresponds to one or more offers in an offer provider campaign are received. Further, a dispatcher dispatches a first subset of the user data and a first subset of the plurality of the micro-segment definitions to a first node in a network. In addition, the dispatcher dispatches a second subset of the user data and a second subset of the plurality of the micro-segment definitions to a second node in the network. Parsing and compiling are performed at each node. Further, parallel processing is performed at a scalable evaluation engine at each node to apply micro-segment condition rules to user data to determine matches to micro-segments. Computation of micro-segments occurs in parallel and resulting micro-segment assignments are collected, filtered to remove duplicates, then ranked to produce a final set of micro-segments that can be used to find offers.
-
Citations
20 Claims
-
1. A computer useable storage device storing a computer readable program, wherein the computer readable program when executed on one or more processors causes the one or more processors to perform operations comprising:
-
receiving user data and a plurality of micro-segment definitions such that each micro-segment definition in the plurality of micro-segment definitions corresponds to one or more offers in an offer provider campaign; parsing each micro-segment definition from the plurality of micro-segment definitions into a plurality of parsed expression segments that indicate a plurality of micro-segment condition rules; compiling the plurality of parsed expression segments into an executable object that indicates a plurality of instructions to determine if the user data matches the plurality of micro-segment definitions; processing the executable object to apply the plurality of micro-segment condition rules to the user data to determine a match of a user to a micro-segment; assigning a score to indicate a strength of the match of the user to the micro-segment; and ranking the score relative to a different score for a different user assigned based on a strength of a match of the different user to the micro-segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method implemented by at least one computing device having one or more processors, the method comprising:
-
receiving user data and a plurality of micro-segment definitions such that each micro-segment definition in the plurality of micro-segment definitions corresponds to one or more offers in an offer provider campaign; parsing each micro-segment definition from the plurality of micro-segment definitions into a plurality of parsed expression segments that indicate a plurality of micro-segment condition rules; compiling the plurality of parsed expression segments into an executable object that indicates a plurality of instructions to determine if the user data matches the plurality of micro-segment definitions; processing the executable object to apply the plurality of micro-segment condition rules to the user data to determine a match of a user to a micro-segment; assigning a score to indicate a strength of the match of the user to the micro-segment; and ranking the score relative to a different score for a different user assigned based on a strength of a match of the different user to the micro-segment. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
one or more processors; modules stored on one or more computer-readable storage devices and executable by the one or more processors, the modules including; a reception module configured to receive user data and a plurality of micro-segment definitions such that each micro-segment definition in the plurality of micro-segment definitions corresponds to one or more offers in an offer provider campaign; a micro-segment parser configured to parse each micro-segment definition of the plurality of micro-segment definitions into a plurality of parsed expression segments that indicate a plurality of micro-segment condition rules; a compiler configured to compile the plurality of parsed expression segments into an executable object that indicates a plurality of instructions to determine if the user data matches the plurality of micro-segment definitions; and a scalable evaluation engine configured to; process the executable object to apply the plurality of micro-segment condition rules to the user data to determine a match of a user to a micro-segment, including utilizing one or more weighted attributes of one or more of the micro-segment definitions to apply at least some of the plurality of micro-segment condition rules to the user data to determine the match of the user to the micro-segment; and assign a score to indicate a strength of the match of the user with the micro-segment. - View Dependent Claims (17, 18, 19, 20)
-
Specification