1. A non-transitory computer-readable storage medium storing executable instructions that configure a contact distribution system to: receive a request for contact with an agent from a customer; determine an identity of the customer; identify, based upon a first prioritization parameter, a first agent that has previously participated in a prior contact with the customer; estimate a first wait time to establish contact between the first identified agent and the customer; identify, based upon a second prioritization parameter, a second agent that has previously participated in a second prior contact with the customer; estimate a second wait time to establish contact between the second identified agent and the customer; transmit a user interface including the first agent, the second agent, the first estimated wait time and the second estimated wait time to the customer, wherein the user interface is configured to enable the customer to select one of the first identified agent or the second identified agent for contact; receive an agent selection identifying a selected agent after the user interface is transmitted; and initiate contact between the customer and the selected agent.