# Patent

## Title
Method and computer readable medium for geographic agent routing

## Abstract

A method and computer readable medium for routing a call to geographically dispersed agents based on agent skill-set, agent location and caller location that results in the call being delivered to the best available agent. The computer readable medium and method are utilized with a system comprised of a call center application module coupled to a database module with a communications network being used to couple incoming calls from customers with the best available agent. A database contains a ranking of available agents, based on a dataset including information regarding skill-set, previous interaction with the customer, proximity to the customer, language capability, current availability, and the like. The method chooses the best available agent to service a customer call based on the agent rankings. In the case where the customer has a preference for proximity of the agent to the customer, the system adjusts the agent rankings according to the agent's distance from the customer prior to making a selection.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present patent application is related to and filed on even date herewith as pending patent application Ser. No. 11/421,841, entitled “System for Geographic Agent Routing” which is incorporated in its entirety by reference herein.
BACKGROUND OF THE INVENTION
The present invention relates to the general field of routing agents from call centers and in particular to a method and computer readable medium for optimally routing such agents.
The present invention comprises a method and computer readable media (or software) for routing a call or other communication to a best available individual, such as a call center agent, customer service representative, and the like, who has a certain relationship with a caller, such as, for example, a physical proximity between the individual and the caller.
Currently, many businesses utilize call centers, each with multiple agents, to provide customer service. Typically, businesses employ multiple physical call centers to enable around-the-clock call handling and to utilize cheaper labor markets. Current call center applications enable call routing by a number of methods including time-of-day (TOD), agent availability, caller location and agent skill-set. In some cases, these methods can be combined to form a routing plan. There are limitations to this approach however, including the need to group agents at certain physical locations and the strict prioritization of one routing method over another. These limitations may result in a customer who is not very comfortable with his agent due to accent, lack of local knowledge, etc.
Therefore, what is needed to overcome the aforementioned limitations, is a computer readable medium utilized in conjunction with a call center system or with a system utilized by an agent based at a residence or other non-call center location, and a call routing method for geographically dispersed agents, based on agent skill-set, agent location, and/or caller location that results in delivery of an incoming call to a best available agent, while allowing a certain preference towards agents who are geographically closer to the caller.
SUMMARY OF THE INVENTION
The present invention, accordingly, provides a computer readable medium and a method for routing calls to geographically dispersed agents based on agent skill-set, agent location and/or caller location, that results in call or non-voice message delivery to a best available agent.
In a preferred embodiment of the invention, a method chooses a best available agent to service a customer call based on the ranking of all agents. If a customer has a preference for proximity of the agent to the customer, the system adjusts the agent rankings according to their distance from the customer prior to making a selection. The method of the present invention is implemented via a call center system, which is comprised of a call center application module coupled to a database module. A communications network is used to couple incoming calls from customers, as well as various call center agents, to the system. The communications network will accommodate both static (fixed location) and dynamic (wireless) communications. A database contains a ranking of available agents based on a dataset including information regarding skill-set, previous interaction with the customer, proximity to the customer, language capability, current availability, and the like.
In operation, when a customer places a call (for example, to a system utilizing the present method and computer readable medium), he/she specifies a proximity preference factor (PPF) from 0%-100%. If the PPF is 0% then the customer does not care about the distance between the customer (caller) and the agent, then the system selects an agent solely on the initial agent ranking. However, if the customer specifies a PPF >0 with an agent range preference (ARP), then a distance adjustment is made, as follows: First, an agent ranking range (ARR) is calculated by subtracting the lowest agent ranking from the highest agent ranking. Then a distance adjustment is made for each agent within the ARP according to the formula:

ARR*PPF*(ARPmax+ClosestDistanceInARR−AgentDistance)/ARPmax,

and the final ranking is determined by subtracting the distance adjustment from the initial ranking for each agent. The agent with the lowest ranking is then assigned to service the call.

The present invention provides a fast, automated selection of the best available agent to service an incoming request based on the customer's preferences.



BRIEF DESCRIPTION OF THE DRAWINGS
The above listed and further advantages of the invention may be better understood by referring to the following description in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a call center system for implementing a first method of the present invention;
FIG. 2 depicts a flowchart illustrating the method steps for agent selection in accordance with a first embodiment of the present invention;
FIG. 3 depicts a first exemplary configuration in accordance with a first embodiment of the present invention;
FIG. 4 depicts a second exemplary configuration in accordance with a first embodiment of the present invention;
FIG. 5 depicts a third exemplary configuration in accordance with a first embodiment of the present invention;
FIG. 6 depicts a fourth exemplary configuration in accordance with a first embodiment of the present invention; and
FIG. 7 depicts a flowchart for agent selection in accordance with a preferred embodiment of the present invention;
FIG. 8 depicts a first exemplary configuration in accordance with a preferred embodiment of the present invention;
FIG. 9 depicts a second exemplary configuration in accordance with a preferred embodiment of the present invention;
FIG. 10 depicts a third exemplary configuration in accordance with a preferred embodiment of the present invention;
FIG. 11 depicts a fourth exemplary configuration in accordance with a preferred embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
In the description that follows, like elements are marked throughout the specification and drawings with the same reference numerals, respectively. The drawing figures are not necessarily to scale and certain elements may be shown in generalized or schematic form in the interest of clarity and conciseness. Certain routine steps, in flow charts, normally included in the operation of the present invention have been omitted in the interest of conciseness. However, the steps which include methodology in accordance with the present invention are indicated in the charts. As is conventional, the letters Y and N designate “yes” and “no”, respectively.
Referring now to FIG. 1, the overall system 10 for implementing a first method of the invention includes a call center system 12, which is comprised of a call center application module 14 and a database module 16 containing customer data, agent data, and the like. It should be noted that the functionality performed by the modules 14, 16 can be performed by one of these modules or by another module (not shown) that may be a part of the call center system 12 or communicate with the system 12. These modules 14, 16 may include software, hardware, firmware, and/or a combination of software, hardware, and/or firmware.
A customer 18, who may desire to purchase a product or a service, for example, communicates (for example, calls, emails, FAX, etc.) with a call center agent 20-24 via the call center system 12 over a communications network 26. The network 26 may be a Public Switched Telephone Network (PSTN), an Internet Protocol Network, a wired network, a wireless network, or any combination of these networks. The call center system 12 of the present invention, uses the procedure of flowchart 28, described herein, along with computer readable media of the present invention to determine the best available agent from a set of geographically dispersed agents 20-24 for servicing a customer call, and routes the call accordingly to a particular agent. For purposes of this example only, the call is depicted as being routed to agent 24.
Referring now to FIG. 2, a first agent selection procedure is implemented using a computer readable medium of the present invention. The procedure or method begins 30 by calculating 32 an initial ranking for each agent based on skill-set and/or other attributes, which include race, sex, etc.
The method proceeds by retrieving 34 two pieces of data associated with the caller. The first is a Proximity Preference Factor (PPF). This allows the caller to weight the importance of proximity in agent selection. A PPF of 100% turns even the worst agent into the best agent if they happen to be the closest. A PPF of 50% turns the worst agent who happens to be the closest to an agent better than 50% of the available agents. A PPF of 0% effectively disables distance factors in agent selection.
The second piece of retrieved data is an Agent Range Preference (ARP). This allows a customer to specify a distance range in which proximity is going to be given consideration. The ARP consists of a minimum and a maximum distance value. The minimum can be used to filter out agents who might be calling themselves. The maximum can be used to stop giving preference to agents outside a particular range. For example, an agent 2500 miles away is probably no more preferable to an agent 2600 miles away.
Once the data has been retrieved, a decision point 36 is reached. If the PPF=0, then agent distance is not a factor for this caller. Given this, the method proceeds to agent selection 52 based on the initial agent ranking.
However, if the PPF>0, then distance is a factor for this caller. Given this, a distance between the caller and each agent is calculated 38. This can be done with simple calculations that take advantage of static (address, NPA-NXX, zip code, etc.) and/or dynamic (cell site, GPS coordinates, etc.) data associated with the caller and the available agents.
Once complete, the method determines 40 if there is at least one agent whose distance falls within the ARP. If not, then the distance of the available agents is still not a factor, so the method proceeds to agent selection 52.
If there is at least one agent that falls within the ARP, then the method proceeds to calculate an ARP Delta 42. The ARP delta is the difference between the maximum and the minimum ARP distance values as shown by the formula below:

ARP Delta=ARP Maximum−ARP Minimum  (1)

The ARP Delta is then used to calculate 44 an Adjusted Distance Scale (ADS), which is determined by subtracting the closest agent distance (CAD) within the ARP range from the ARP Delta as shown by the formula below:

ADS=ARP Delta−Closest Agent Distance  (2)

The method continues by calculating 46 an Agent Ranking Range (ARR), which is determined by subtracting the lowest agent ranking from the highest agent ranking or setting the value of equal to 1 if the result of the subtraction is zero, as derived by the following formula:

ARR=Maximum(1,High Agent Ranking−Lowest Agent Ranking)  (3)

Once the ARP Delta, ADS and ARR have been calculated (42-46), a ranking adjustment is calculated 48 for each agent whose distance falls within the ARP. The adjustment is calculated using the formula:

Adjustment=ARR*PPF*(ARPDelta−AgentDistance)/ADS  (4)

This formula uses the Agent Ranking Range (ARR) and the callers Proximity Preference Factor (PPF) to scale the adjustment. The closest agent will receive the largest adjustment. The furthest agent will receive the smallest adjustment.
Once the adjustments have been calculated, the method proceeds to calculate 50 the final ranking of all the agents. This calculation is performed by subtracting any adjustment from the initial ranking determined previously 32.
With the final rankings calculated, the selection ends 54 by selecting 52 the lowest ranking and therefore, the best agent.
In order to understand the benefits of the method, several applications of the invention in various caller/agent configurations will now be described. Referring now to FIG. 3, in a first exemplary configuration, the initial ranking 62 of the various agents 70-78 listed in the agent column 60 is determined as listed. Once determined, the PPF 80 and the ARP 82 submitted by the call center application are retrieved. In this case the PPF is 50% and the ARP is 100 to 500. Since the callers PPF (50%) is greater than zero, the distance 64 between the caller and each agent 70-78 is calculated.
Three agents, 72-76 are within the ARP range, so their rankings must be adjusted. To do this, the ARP Delta 86 is calculated first. As shown by the formula 1, the ARP delta is calculated by subtracting the agent range minimum from the agent range maximum. In this case, given that the maximum is 500 and the minimum is 100 (FIG. 3-82), the ARP Delta 86 is 400. The method then proceeds to calculate the ADS 88, which is calculated by formula 2. In this case, the closest agent within the range is Tom 87 at 120 miles, so the ADS 88=400−120=280.
The procedure then proceeds using formula 4 to calculate the distance adjustment 66 for each agent 72-76 within the ARP 84 range. Note that agents 70, 78 outside the ARP range receive a 0 adjustment. The adjustment values 66 are then calculated according to formula 4. Tom 72 receives the biggest adjustment, 12, as he is closest to the caller. The figure is arrived at by the following calculation of equation 4: 24*0.50*(400−120)/280=12. The ARR is 24 and 0.50 is the callers' 50% PPF. The remaining within-range agent adjustments are calculated similarly, with Joe 74 receiving an adjustment of 7.3 and Mary 76 receiving an adjustment of 6.4.
The final rankings 68 for the agents are then calculated by subtracting the adjustment value 66 from the initial ranking 62. The result in this exemplary configuration is that Mary 76 has the lowest final ranking, 11.6, and therefore is chosen as the best agent. Note that Mary is not the closest agent within the agent range preference, but the adjustment to her already low initial ranking of 18 moved her ahead of Jim, the agent with the best initial ranking.
Referring now to FIG. 4, in a second exemplary configuration, the caller's PPF 110 is now set to 100, indicating that proximity is of utmost importance to the caller. In this case, since the PPF=100, instead of 50, the PPF factor in formula 4 equals 1, instead of 0.5. Here, the ARP 112 is 100-500 so that the ARP delta 116 is 400, minimum distance within the ARP 117 is 120, the ARR 114 is 24, and the ADS 118 is 280. Again, Jim 100 and Frank 108 are outside the ARP 112 range and receive zero adjustments 96. Adjustments 96 of 24 for Tom 102, 14.6 for Joe 104, and −4.3 for Mary 106 are calculated. The resulting final rankings 98 depict that Joe has the lowest ranking and is therefore chosen as the best agent. Although Mary has a better initial ranking than Joe, Joe is closer than Mary and that is more important to the caller in this exemplary configuration.
Referring now to FIG. 5, in a third exemplary configuration, the caller's PPF 140 is again set to 50% and the ARP 142 is 100-400. However, the ranking 122 for the Agents 120 shows Jim 130 at 20.3, Tom 132 at 19.5, Joe 134 at 20.1, Mary 136 at 19.9, and Frank 138 at 20.4. Since the distances 124 for Jim 130 and Frank 138 are 20 and 450, respectively, these are outside the ARP 142 range of >100 and <400, so the adjustment for each of these two agents is set at zero. Furthermore, the ARP delta 146 is 300, the minimum distance within ARP 147 is 120, and ADS 148 is 180. In this case then, using formula (3) (ARR=Maximum (1, High Agent Ranking−Lowest Agent Ranking), the ARR 144 is calculated to be 1 as a result of the agent rankings 122 being tightly packed. This results in an adjustment 126 of 0.50 for Tom 132, 0.19 for Joe 134, and 0.14 for Mary 136. The resulting final rankings 128 depict that Tom has the lowest ranking and is therefore chosen as the best agent. In this example, Tom had both the best initial ranking and the best adjusted ranking.
Referring now to FIG. 6, a fourth exemplary configuration is shown, which has the same initial ranking 122 and distance 124 for the agents 130-138 as for the first exemplary configuration discussed in FIG. 3. However, here the caller's PPF 170 is now set to 90%, indicating that proximity is of fairly high importance to the caller, the ARP 172 is 0-600, the ARR 174 is 24, the ARP delta 176 is 600, the minimum distance in ARP 177 is 20, and the ADS 178 is 580. Although this example is much like the first exemplary configuration, now all five agents 160-168 are within the ARP 172 range and therefore need to be adjusted. In this case, since the PPF=90%, instead of 50%, the PPF factor in formula 4 equals 0.9, instead of 0.5. This results in adjustments 156 of 21.6 for Jim 160, 17.9 for Tom 162, 13.8 for Joe 164, 13.0 for Mary 166, and 3.7 for Frank 168. The resulting final rankings 158 depict that Jim 160 with and a final ranking 158 of −6.6 has the lowest ranking after adjustment and is therefore chosen as the best agent.
FIG. 7 shows the flowchart for a preferred embodiment of the agent selection procedure of the present invention. The method uses the procedure illustrated in flowchart 230. Here, the method begins 232 by calculating 234 an initial ranking for each agent based on skill-set and/or other attributes, which include race, sex, etc.
The method proceeds by retrieving 236 two pieces of data associated with the caller. The first is a Proximity Preference Factor (PPF). This allows the caller to weight the importance of proximity in agent selection. A PPF of 100% turns even the worst agent into the best agent if they happen to be the closest. A PPF of 50% turns the worst agent who happens to be the closest to an agent better than 50% of the available agents. A PPF of 0% effectively disables distance factors in agent selection.
The second piece of retrieved data is an Agent Range Preference (ARP). This allows a customer to specify a distance range in which proximity is going to be given consideration. The ARP consists of a minimum and a maximum distance value. The minimum can be used to filter out agents who might be calling themselves. The maximum can be used to stop giving preference to agents outside a particular range. For example, an agent 2500 miles away is probably no more preferable to an agent 2600 miles away.
Once the data has been retrieved, a decision point 238 is reached. If the PPF=0, then agent distance is not a factor for this caller. Given this, the method proceeds to agent selection 248 based on the initial agent ranking.
However, if the PPF>0, then distance is a factor for this caller. Given this, a distance between the caller and each agent is calculated 240. This can be done with simple calculations that take advantage of static (address, NPA-NXX, zip code, etc.) and/or dynamic (cell site, GPS coordinates, etc.) data associated with the caller and the available agents.
Once complete, the method determines 242 if there is at least one agent whose distance falls within the ARP. If not, then the distance of the available agents is still not a factor, so the method proceeds to agent selection 248.
However, if at least one agent falls within the ARP, then the method proceeds to calculate 243 an Agent Ranking Range using the formula;

ARR=Highest Agent Ranking−Lowest Agent Ranking.  (5)

Next, this Agent Ranking Range is used to calculate a distance adjustment 244 for each agent within the ARP, using the formula:

Adjustment=ARR*PPF*(ARPmax+ClosestDistanceInARR−AgentDistance)/ARPmax,  (6).

This formula uses the Agent Ranking Range (ARR) and the callers Proximity Preference Factor (PPF) to scale the adjustment. The closest agent will receive the largest adjustment. The furthest agent will receive the smallest adjustment.
Once the adjustments have been calculated, the method proceeds to calculate 246 the final ranking of all the agents. This calculation is performed by subtracting each adjustment from the initial ranking determined previously 234.
With the final rankings calculated, the selection ends 250 by selecting 248 the lowest ranking and therefore, the best agent.
Again, in order to understand the benefits of the method for this preferred embodiment of the invention, several applications of the invention in various caller/agent configurations will now be described. Referring now to FIG. 8, in a first exemplary configuration, the initial ranking 252 of the various agents 260-268 listed in the agent column 250 is determined as listed. Once determined, the PPF 270 and the ARP 272 submitted by the call center application are retrieved. In this case the PPF is 50% and the ARP is 100 to 500. Since the callers PPF (50%) is greater than zero, the distance 254 between the caller and each agent 260-268 is calculated. Finally, the ARR 274 is calculated as the Highest Ranked Agent−Lowest Ranked Agent. In this case, since Tom 262 is the highest ranked agent with a ranking of 39 and Jim 260 is the lowest ranked agent with a ranking of 15, the ARR=39−15=24 (5).
Since three agents, 262-266 are within the ARP range, their rankings must be adjusted using formula (6), as follows to calculate the distance adjustment 256 for each agent 262-266 within the ARP 272 range. Note that agents 260, 268 outside the ARP range receive a 0 adjustment. The adjustment values 256 are then calculated according to formula (6). Tom 262 receives the biggest adjustment, 12, as he is closest to the caller. This figure is arrived at by the following calculation of formula (6):

Adjustment=24*0.50*(500+120-120)/500=12.

The ARR 274 is 24 and the PPF 270 is 0.50 or 50%. The remaining within-range agent adjustments are calculated similarly, with Joe 264 receiving an adjustment of 9.4 and Mary 266 receiving an adjustment of 8.9.

The final rankings 258 for the agents are then calculated by subtracting the adjustment 256 values from the initial ranking 252 values. The resulting final rankings 27.0 for Tom 262, 10.6 for Joe 264, and 9.1 for Mary 266 depict that Mary 266 has the lowest final ranking of 9.1 and is therefore chosen as the best agent.
Referring now to FIG. 9, in a second exemplary configuration, the caller's PPF 300 is now set to 100%, indicating that proximity is of utmost importance to the caller. In this case, since the PPF=100%, instead of 50%, the PPF factor in formula (6) equals 1.0, instead of 0.5. Here, the ARP 302 is 100-500 and the ARR 304 is 24. Again, Jim 290 and Frank 298 are outside the ARP 310 range and receive zero adjustments 286. Adjustments 286 of 24 for Tom 292, 18.7 for Joe 294, and 8.2 for Mary 296 are calculated using equation (6). The resulting final rankings 288 of 15.0 for Tom 292, 1.3 for Joe 294, and 9.8 for Mary 296 depict that Joe 294 has the lowest final ranking of 1.3 and is therefore chosen as the best agent. Although Mary 296 has a better initial ranking than Joe 294, Joe is closer than Mary and that is more important to the caller in this exemplary configuration.
Referring now to FIG. 10, in a third exemplary configuration, the caller's PPF 330 is again set to 50% and the ARP 332 is 100-400. However, the initial ranking 312 for the Agents 310 shows Jim 320 at 20.3, Tom 322 at 19.5, Joe 324 at 20.1, Mary 326 at 19.9, and Frank 328 at 20.4. The ARR 334 is 0.9 determined as the difference between the highest and lowest ranking of 20.4 and 19.5. Since the distances 314 for Jim 320 and Frank 328 are 20 and 450, respectively, and are outside the ARP 332 range of 100 and 400, the adjustment for each of these two agents is set to zero. Equation (6) is then used to calculate the adjustments for the remaining three agents, which results in an adjustment 316 of 0.45 for Tom 322, 0.33 for Joe 324, and 0.31 for Mary 326. The resulting final rankings 318 of 19.05 for Tom 322, 19.8 for Joe 324, and 19.6 for Mary 326 depict that Tom 322 has the lowest ranking and is therefore chosen as the best agent. In this example, Tom had both the best initial ranking and the best adjusted ranking.
Referring now to FIG. 11, a fourth exemplary configuration is shown, which has the same initial ranking 342 and distance 344 for the agents 350-358 as for the first exemplary configuration discussed in FIG. 8. However, here the caller's PPF 360 is now set to 90%, indicating that proximity is of fairly high importance to the caller, the ARP 362 is 0-600, and the ARR 364 is 24. Although this example is much like the first exemplary configuration of FIG. 9, now all five agents 350-358 are within the ARP 362 range and therefore need to be adjusted. In this case, since the PPF=90%, instead of 50%, the PPF factor in formula (6) is set to 0.9. This results in adjustments 346 of 21.6 for Jim 350, 18.0 for Tom 352, 14.0 for Joe 354, 13.3 for Mary 356, and 4.3 for Frank 358. The resulting final rankings 348 of −6.60 for Jim 350, 21.0 for Tom 352, 6.0 for Joe 354, 4.7 for Mary 356, and 15.7 for Frank 358 depict that Jim 350 with and a final ranking 348 of −6.6 has the lowest ranking after adjustment and is therefore chosen as the best agent.
Although embodiments of a method and computer readable medium for various embodiments of geographic agent routing have been described in detail herein, it will be appreciated that the present invention may provide applicable inventive concepts that can be embodied in a wide variety of specific contexts. For example, while the preferred embodiment of the invention has principally referenced a method for optimally routing agents it should be understood that the method may also be utilized for alternative applications, such as selecting particular computers, security systems, imaging systems, and the like. Also, a lesser or greater number of modules or components may be utilized in the system of the present invention to make the selection of the best available agent. The specific embodiments discussed herein are merely illustrative of specific ways to make and use the invention, and do not delimit the scope of the invention. Those skilled in the art will recognize that various substitutions and modifications and a lesser or greater number of modules or components may be utilized in the invention without departing from the scope and spirit of the appended claims.

## Claims

1. A method for routing a customer call to a best available agent, comprising:
receiving a call based on an initial agent ranking of all available agents, a caller's proximity preference factor, and an agent range preference;
coupling a plurality of incoming customer calls and existing call center agents;
providing an initial agent ranking based on a dataset including information of at least one from the group of: skill-set, previous interaction with a customer, language capability, race, sex, minimum distance from an agent to a customer, maximum distance from an agent to a customer, and current availability;
assigning an agent to service a customer based on an agent distance adjustment being made relative to a closest agent distance prior to assigning an agent to service a customer when said customer specifies an agent range preference; by
calculating an agent range preference delta by subtracting said minimum distance from an agent to a customer from said maximum distance from an agent to a customer;
calculating an adjusted distance scale by subtracting said minimum distance from an agent to a customer from said agent range preference delta;
calculating an agent ranking range parameter by subtracting said initial agent ranking having a lowest value from said initial agent ranking having a highest value;
determining a distance adjustment for each said agent within said agent range preference by multiplying said agent range preference times said proximity preference factor times a difference between said agent range preference delta and an agent distance to said customer and dividing by said calculated adjusted distance scale; and
calculating a final ranking by subtracting said distance adjustment from said initial ranking for each said agent.

2. The method of claim 1, wherein an agent is assigned to service a customer based on said initial agent ranking when said customer specifies no agent range preference indicating distance between said customer and said agent.

3. The method of claim 1, wherein customer communication devices provide capability for communications via at least one of: a landline phone call, an e-mail, a fax, Internet, a wireless phone call, a wireless intercom, and a wireless Internet.

4. The method of claim 1, wherein a distance between a customer and various available agents is determined using at least one of: an address, a NPA-NXX, a Zip Code, cell cite locations and GPS coordinates.

5. A method for routing a customer call to a best available agent, comprising:
receiving a call based on an initial agent ranking of all available agents, a caller's proximity preference factor, and an agent range preference;
coupling a plurality of incoming customer calls and existing call center agents;
providing an initial agent ranking based on a dataset including information of at least one from the group of: skill-set, previous interaction with a customer, language capability, race, sex, minimum distance from an agent to a customer, maximum distance from an agent to a customer, and current availability;
assigning an agent to service a customer based on an agent distance adjustment being made relative to a closest agent distance prior to assigning an agent to service a customer when said customer specifies an agent range preference; by
calculating an agent ranking range parameter by subtracting said initial agent ranking having a lowest value from said initial agent ranking having a highest value;
determining a distance adjustment for each said agent within said agent range preference by multiplying said agent range preference times said proximity preference factor times a term comprised of (agent range preference—ARP) ARPmax plus a closest distanceARP minus an agent distance and dividing the result by said ARPmax; and
calculating a final ranking by subtracting said distance adjustment from said initial ranking for each said agent.

6. The method of claim 5, wherein an agent is assigned to service a customer based on said initial agent ranking when said customer specifies no agent range preference indicating distance between said customer and said agent.

7. The method of claim 5, wherein customer communication devices provide capability for communications via at least one of: a landline phone call, an e-mail, a fax, Internet, a wireless phone call, a wireless intercom, and a wireless Internet.

8. The method of claim 5, wherein a distance between a customer and various available agents is determined using at least one of: an address, a NPA-NXX, a Zip Code, cell cite locations and GPS coordinates.