Patent ID: 8260663

Claim:
Apparatus, comprising: a processor; a computer memory holding computer program instructions which when executed by the processor comprise: an optimization process programmed to receive message performance information and to generate recommended message allocations; a segmentation process programmed to segment a target visitor population into a set of segments using one or more templates each comprising one or more cells, wherein the target visitor population comprises visitors defined by a set of visitor profile attributes, each visitor profile attribute comprising one or more portions, each portion corresponding to one or more values or range of values of an attribute, wherein values associated with one or more attributes corresponds to a cell, and the set of segments, collectively, comprise the target visitor population, wherein the segmentation process uses an algorithm to identify a segmentation by determining, recursively, beginning with a single segment that includes all of the set of segments representing the target visitor population, and continuing for each new segment resulting from a split until no new segments are produced, whether to split a segment into two or more disjoint smaller segments based on whether a weighted performance of the two or more disjoint smaller segments is better than that of the segment; and an allocation process programmed to receive the recommended message allocations from the optimization process and to receive the set of segments from the segmentation process and, in response, generating message allocations.