I have a few work items with these features:
WI1, WI2, WI3
which describe these work items. I also know the number of people and how many minutes they spend each to complete a work item. To simplify things, I binned these people into pay bands B1, B2 and B3. So for each workitem I can determine a vector:
V = {NOPB1, NOPB2, NOPB3}
Here NOPBx means number of people for band x (please add to this as I can feature engineer more stuff). I can also add the cost of all people who contributed to a work item to establish the ActualCost. This means that I can fit a regression model (hierarchical, random forest etc.) to predict the ActualCost.
ActualCost = f(WI1, WI2, WI3, NOPB1, NOPB2, NOPB3)
The fitted models have quite good predictive performance on unseen data. I would like to use these models to perform some optimisation (prescriptive analytics?) to establish the best team composition to reduce costs. I imagine to use an optimisation algorithm to find vectors like this:
V = {NOPB1=10, NOPB2=4, NOPB3=1}
which minimise the ActualCost given the work type (defined by its features)? This is possible technically but how does the model actually know that, using the above example, 10 people of B1, 4 people of B2 and 1 person of B3 are actually capable of completing a work item?
Has anyone ever done anything similar? Any pointers to help solve the above would be very much appreciated. I understand that this is potentially quite hard but even directional results would be quite useful. Thanks a lot.
PS:
The above is a bit simplified. I can also plug in median time spent for each worker of each band etc.
PPS:
Just came across this which looks relevant:
https://conferences.oreilly.com/strata/strata-ny-2017/public/schedule/detail/60755