Methods and systems are provided for routing callers to agents in a call-center routing environment. An exemplary method includes routing a caller from a
pool of callers based on at least one caller data associated with the caller, where a
pool of callers includes, e.g., a set of callers that are not chronologically ordered and routed based on a chronological order or
hold time of the callers. The caller may be routed from the
pool of callers to an agent, placed in another pool of callers, or placed in a
queue of callers. The caller data may include demographic or psychographic data. The caller may be routed from the pool of callers based on comparing the caller data with agent data associated with an agent via a
pattern matching algorithm and / or computer model for predicting a caller-agent pair outcome. Additionally, if a caller is held beyond a hold threshold (e.g., a time, “cost” function, or the like) the caller may be routed to the next available agent.