1. A computer-implemented method for routing callers to agents in a call-center routing environment, the method comprising: identifying, by one or more computers, caller data for each of a set of waiting callers including multiple data items from one or more of the group of demographic data and psychographic data of the caller; identifying, by the one or more computers, agent data for a set of agents including multiple data items from one or more of the group of demographic data and a psychographic data; determining, by one or more computers, agent performance of the set of agents for an outcome variable, wherein the agent performance comprises a respective relative ranking for each of two or more of the set of agents for at least the variable outcome of revenue generation; determining, by the one or more computers, caller propensity of the set of waiting callers for the outcome variable, wherein the caller propensity comprises a respective relative ranking for each of two or more of the set of waiting callers for the outcome variable of revenue generation; using a multi-data element pattern matching algorithm, by the one or more computers, to create a model that matches each agent of the set of agents to each caller of the set of waiting callers, in a pair-wise fashion to determine a potential for the outcome variable for each agent-caller match; and matching and routing, by the one or more computers, one of the waiting callers to one of the agents based at least in part on the relative ranking of the one agent in relation to the relative ranking of the one waiting caller and the potential for the outcome variable for this agent-caller match from the multi-data element pattern matching algorithm.