1. A system comprising: one or more processors; and at least one storage device storing a computer readable program, wherein the computer readable program when executed by the one or more processors causes the system to perform operations comprising: receiving user attributes 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 attributes match the plurality of micro-segment definitions; serially processing each micro-segment definition to apply the plurality of micro-segment condition rules to the user attributes to determine a match of a user to individual micro-segments that are each associated with a respective instance of the plurality of micro-segment definitions; assigning a score from multiple possible scores to indicate a strength of each match of the user to the individual micro-segments such that each match has a respective score; ranking each match according to the score for each match; placing the user into a particular micro-segment based on a score for the user exceeding a threshold score for the particular micro-segment; correlating the particular micro-segment to a micro-segment object that includes attributes and analytics for the particular micro-segment and does not include personal identity information for the user; communicating the micro-segment object to an offer provider of the offer provider campaign; receiving an offer from the offer provider; and communicating the offer to the user.