You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/concepts/router/distribution-concepts.md
+4-9Lines changed: 4 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ manager: bgao
7
7
services: azure-communication-services
8
8
9
9
ms.author: williamzhao
10
-
ms.date: 05/04/2022
10
+
ms.date: 05/06/2022
11
11
ms.topic: conceptual
12
12
ms.service: azure-communication-services
13
13
---
@@ -68,7 +68,7 @@ When a Scoring Rule isn't provided, this distribution mode will use the default
68
68
### Default Label Matching
69
69
For calculating a score based on the job's labels, we increment the `Match Score` by 1 for every worker label that matches a corresponding label on the job and then divide by the total number of labels on the job. Therefore, the more labels that matched, the higher a worker's `Match Score`. The final `Match Score` will always be a value between 0 and 1.
70
70
71
-
#### Example
71
+
#####Example
72
72
Job 1:
73
73
```json
74
74
{
@@ -115,8 +115,6 @@ Worker B's match score = 1 (for matching english language label) / 2 (total numb
115
115
Worker C's match score = 1 (for matching english language label) / 2 (total number of labels) = 0.5
116
116
```
117
117
118
-
Explanation:
119
-
120
118
Worker A would be matched first. Next, Worker B or Worker C would be matched, depending on who was available for a longer time, since the match score is tied.
121
119
122
120
### Default Worker Selector Matching
@@ -125,7 +123,7 @@ In the case where the job also contains worker selectors, we'll calculate the `M
125
123
#### Equal/NotEqual Label Operators
126
124
If the worker selector has the `LabelOperator``Equal` or `NotEqual`, we increment the score by 1 for each job label that matches that worker selector, in a similar manner as the `Label Matching` above.
127
125
128
-
#### Example
126
+
#####Example
129
127
Job 2:
130
128
```json
131
129
{
@@ -172,14 +170,13 @@ Worker E's match score = 1 (for matching department selector) + 1 (for matching
172
170
Worker F's match score = 1 (for segment not equal to vip) / 2 (total number of labels) = 0.5
173
171
```
174
172
175
-
Explanation:
176
-
177
173
Worker E would be matched first. Next, Worker D or Worker F would be matched, depending on who was available for a longer time, since the match score is tied.
178
174
179
175
#### Other Label Operators
180
176
For worker selectors using operators that compare by magnitude (GreaterThan/GreaterThanEqual/LessThan/LessThanEqual), we'll increment the worker's `Match Score` by an amount calculated using the logistic function (See Fig 1). The calculation is based on how much the worker's label value exceeds the worker selector's value or a lesser amount if it doesn't exceed the worker selector's value. Therefore, the more worker selector values the worker exceeds, and the greater the degree to which it does so, the higher a worker's score will be.
All three workers match the worker selectors on the job and are eligible to work on it. However, we can see that Worker H exceeds the "sales" worker selector's value by a margin of 5. Meanwhile, Worker I only exceeds the cost worker selector's value by a margin of 1. Worker G doesn't exceed any of the worker selector's values at all. Therefore, Worker H would be matched first, followed by Worker I and finally Worker G would be matched last.
0 commit comments