An analytical firm assigns cases to analysts using these rules:
- A case must go to an analyst whose focus area matches the case type.
- An analyst can’t take a case whose dollar amount exceeds their maximum allowed case amount.
- An analyst can’t take a case that would push their total assigned dollar amount over their maximum.
- Each analyst level corresponds to a case-complexity range: an analyst can only work on cases whose complexity falls within their minimum and maximum case complexity (inclusive).
Given a list of analysts (with their current caseload) and a list of new cases, decide which analyst should be assigned to each case. If there’s a choice, the firm prefers to minimize “overqualification” — assigning analysts to cases below their level. Build a decision service that can handle this and similar case-assignment problems.
Send your solutions to DecisionManagementCommunity@gmail.com, or open a pull request to add yours here.