" /> IRD Routing - Genesys CTI User Forum

Author Topic: IRD Routing  (Read 4002 times)

Offline PFCCWA

  • Hero Member
  • *****
  • Posts: 655
  • Karma: -7
IRD Routing
« on: July 03, 2017, 08:41:37 AM »
Advertisement
Hello,

I am trying to achieve a percentage based split in IRD routing strategy.
This also needs a transaction list configuration and control.
I think this method will work:
--> Call into function block to get CONFIG list value (ie 40) - assign that to variable a.
--> Another function block performs calculation for (100-40=60) - assign this to variable b.
--> In routing target block there are two targets:
      'Weight[variable a],'ACDQueue@.Q'
      'Weight[variable b],'Skill@.S'

Whilst I want the percentage of calls to the ACD Queue to go into an actual ACD Queue, I want those for the 'skill' to continue into the next routing block - not actually route to a skill (would be an non assigned skill therefore drop out of default port onto next block).
Would this be an effective method to achieve the objective?

thanks,

Offline Tambo

  • Sr. Member
  • ****
  • Posts: 456
  • Karma: 5
Re: IRD Routing
« Reply #1 on: July 04, 2017, 12:45:33 PM »
sorry Wa i don't follow what it is you want to achieve

do you just want say 30% of calls to go to 1 specific queue to agents that have a routing skill but also a specific non routing one?

Offline PFCCWA

  • Hero Member
  • *****
  • Posts: 655
  • Karma: -7
Re: IRD Routing
« Reply #2 on: July 04, 2017, 12:54:17 PM »
hello

sort of

for example if transaction list value =30, I want 30% to go into acd queue.
and 70% to continue to next block (this block could anything from a subroutine to function block however they will eventually get to a selection block for skill based routing)

thanks,

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: IRD Routing
« Reply #3 on: July 04, 2017, 12:56:09 PM »
Hummmm... 30% of what in which time? For example one hour? How would you know how many calls will be in that hour? Kinda vague concept if you think of it a little bit further

Enviado de meu E6633 usando Tapatalk


Offline Tambo

  • Sr. Member
  • ****
  • Posts: 456
  • Karma: 5
Re: IRD Routing
« Reply #4 on: July 04, 2017, 01:09:53 PM »
also what would trigger the List lookup ? why would it look it up and with what value to return the 30%

Offline PFCCWA

  • Hero Member
  • *****
  • Posts: 655
  • Karma: -7
Re: IRD Routing
« Reply #5 on: July 04, 2017, 01:44:08 PM »
A GetListCfg function would occur first and lets imagine that value is 30
the next block would assign that to a Variable (a)
another block would calculate the difference from 100 and assign to variable b.
This would be followed by a routing selection block where two targets would be assigned using weight[].  One target (a) would use the value of variable a (ie 30), the second (target b) would use variable b.
for target a, calls would route into an ACD Queue.
for target b, I want the calls to continue onto the next routing block (I thought it I create a fake skill, calls will drop out of the selection block and I can connect the port to next block)

thanks,

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: IRD Routing
« Reply #6 on: July 04, 2017, 01:51:48 PM »
Again,
Assume 30% of what? On which time lapse? Imagine this scenario working with a time lapse of 1 hour calls.


Call 1 = 100% (1/1)
Call 2 = 50% (1/2)
Call 3 = 30%  (1/3)


So how would you do this? Also, how would you know how many calls you expect? You anwered the technical question that we understand but not the concept idea, the need, which is the heart of everything

Offline Tambo

  • Sr. Member
  • ****
  • Posts: 456
  • Karma: 5
Re: IRD Routing
« Reply #7 on: July 04, 2017, 03:25:14 PM »
Hi Wa,

i don't get the list item attributing an amount of 30% or 40% or whatever as how are you going to attribute this call a value? then the next what value does that get and why?

as Cav says call 1 what value do you give it? 100% ??

call 2 what value?

call 36,569 what value? and what makes you pick that value?

are you wanting to split the calls 33% to that queue and 33% to 2 others?

Offline PFCCWA

  • Hero Member
  • *****
  • Posts: 655
  • Karma: -7
Re: IRD Routing
« Reply #8 on: July 04, 2017, 03:35:11 PM »
I see what you mean..

So if list value = 30, then for all calls moving forward we want 30% of them to go to target a, and 70% target b - if this is possible.
I was hoping the weighted function would do this somehow ie for every 10 calls, 3 go to target a, 7 to go target b?
Should the list value change, ie to 50, then 5 go to target a, 5 to b and so on.
the value will be dynamic so can change based on business needs.


thanks,

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: IRD Routing
« Reply #9 on: July 04, 2017, 05:39:19 PM »
I don't see how this would be possible... You are expecting a balance of an unknown number...if anyone comes up with a solution would be amazing and wanna see it
What is your real problem? Why that need?


Enviado de meu E6633 usando Tapatalk


Offline PFCCWA

  • Hero Member
  • *****
  • Posts: 655
  • Karma: -7
Re: IRD Routing
« Reply #10 on: July 04, 2017, 07:59:13 PM »
How does the % Block in IRD work in comparison?
I know we have to define the % based on each target but could I just use that instead and have the business administrators amend this in CME when and if they need to?

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: IRD Routing
« Reply #11 on: July 05, 2017, 01:55:28 AM »
You can read [color=rgb(76, 0, 102)][font=helvetica neue][size=14px][url=https://docs.genesys.com/Special:Repository/81r_strat.pdf?id=e30341ed-da87-4ddb-b335-150e4a114beb]Universal [b]Routing[/b] 8.1 Strategy Samples[/url][/size][/font][/color]. Uses a weight for distribution. A change on the weight just resets the stats. So, dynamic variable is quite not possible as you wish.




From eSR:


[quote]


[table][tr][td][table][tr][td]
Is it possible use Percentage allocation with configurable variable?[/q][/t][/t][/t][/t]

[table][tr][td][right][size=0px][color=rgb(74, 74, 86)]Answer[/color][/size][/right]
[table][tr][td][size=14px]
Not exactly. Configurable Percentage allocation does not work with variables.[/t][/t][/t][/t]
[/size][list]
[li]You can dynamically compose the target string with weights, for example:
1. Create a variable with the following format:
Weight[<percentage for 1st target>]<target_name1>@SS.<target_type1>, Weight[<percentage for 2st target>]<target_name2>@SS.<target_type2>,...
for example 'Weight[80][email]Target1@SS.GA[/email],Weight[20][email]Target2@SS.GP[/email]'
2. Specify this variable as a target in the target selection block. This will work the similar to a percentage routing rule. Assign this string to a variable and route to the variable.[/li]
[/list]
[table][tr][td][right][size=0px][color=rgb(74, 74, 86)]Environment[/color][/size][/right]
[table][tr][td][size=14px]
[/t][/t][/t][/t]

[/size][table][tr][td][right][size=0px][color=rgb(74, 74, 86)]Supplemental Information[/color][/size][/right]
[table][tr][td][size=14px]
For every target which has a weight specified URS calculates and keeps a Percentage statistic, the name of this statistic includes <strategy_name><target_name><block_id_in_the_strategy>.
For example, for the "Weight[1][email]Target_1@SS.RP[/email], Weight[99][email]Target_2@SS.RP[/email]" target set used in the Strategy1 in a block with internal id=44 URS will create two percentage statistics and set them to 0:
[email]Strategy1_Target_1@SS.RP_44[/email],
[email]Strategy1_Target_2@SS.RP_44[/email]
(there might be additional <routing_rule> part in the names, if percentage routing rule objects are used; it's not your case).

Every time your strategy enters this block, it looks for the current Percentage statistic values for the targets specified and uses them. If the weight for any target is changed or the target set itself is changed, the current percentage statistics for all these targets are reset to 0.


[/size][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/t][/quote][size=14px]


Of course I am copy pasting, a job you could also easily do by searching on Genesys site, but as I am bored there you go[/size]
[/td][/tr][/table][/td][/tr][/table][/td][/tr][/table][/td][/tr][/table][/td][/tr][/table][/td][/tr][/table][/td][/tr][/table][/td][/tr][/table]

Offline terry

  • Sr. Member
  • ****
  • Posts: 328
  • Karma: 35
Re: IRD Routing
« Reply #12 on: July 05, 2017, 05:57:32 AM »
Percentage distribution in URS works well if all listed targets are always ready.
Using it to implement logic for 30% of calls go in strategy in one direction (and whatever the selected strategy branch say to do) and for 70% of calls in other direction will not work.
This is because of URS increments quoted "percentage statistics" only after its target is selected (so target should be ready to make URS able to select it).

You probably need to use GLOBAL or SCRIPT scope variables to implement percentage logic you need yourself (whatecer it is and taking into account all possible issued related with intervals, etc).
Like create GLOBAL variables
- NumberOfLast10Calls - number of received calls by mod 10.
- NumerOfGoingThroughPath1 - how many of them went path1 (increment after path 1 selected)
- NumerOfGoingThroughPath2 - how many of them went path2 (increment after path 2 selected)

Checking their values for every new call you can decide which path to select.


 
« Last Edit: July 05, 2017, 06:00:14 AM by terry »

Offline Dionysis

  • Sr. Member
  • ****
  • Posts: 408
  • Karma: 8
Re: IRD Routing
« Reply #13 on: July 05, 2017, 06:08:47 PM »
You can achieve a % split by generating a random number between 1 and 100.

eg.
Set 2 variables:
x = Random number between 1 and 100
y = Your configuration option value

Then using an IF block.

If x >= y do Something, otherwise do something else.

It wont give you an exact percentage split, but over time it will be very close.