User A is the user whom the case is assigned to who works on the first assignment.
User B is the user who is the reviewer for the work that user A has worked on.
User A and B both are peers but same user cannot review their own work.
Now comes the scenario:-
All the users are grouped in to various groups like newbies, grown ups and old. The routing for the review has to be in such a way that if anyone like User A is a newbie, his cases should be reviewed 90% of times, if he is a grown up, his cases should be reviewed only 50% times and if he is old his cases should be reviewed only 20% of times. The users will be using GetNext button for getting their cases and no cherry picking. How to ensure that we can develop this routing logic as we don't have the number of cases a user has at any point of time so that we can ensure that a certain percentage is only being reviewed. Let's consider User A is a newbie and has 10 cases to work on, ideally 9 cases should be reviewed and 1 case can be skipped. But any point in time there would be only 1 case assigned to that person when he hits Get Next Work. How can that ensure we can fulfill the requirement.
The logic that I was thinking about was using the skill in the operator profile as newbie, grown up and old for different users. In the flow we can choose a decision shape and check the skill of the user and use the percentage option to route the appropriate percentage of cases.
Issue with that approach is the percentage field is not accepting a property which means it has to be static. And also, if we have 3 groups of users as in the scenario. There will be lot of shapes in the flow as well. As for each user group there will be a percentage that is required and the other leg that is not required.
Could anyone share if you have faced a similar scenario and can share insights on how to approach the same?
I found a solution to this problem. I have defined a Data Transform where I have Set a Property which derives the percentage from a decision table. Then I have used @randomTrueGenerator function passing the property as a parameter to derive a boolean outcome for the same. In the flow we check the skill and then check whether this property is true. Accordingly, I am routing or skipping that assignment for the review. This is working. Any further suggestions would be highly appreciated.