simple linear regression for performance analysis

Let us say a number of workers work on 3 products P1, P2 and P3. We measure the workers' performance by time to complete a product. Let us say P1 takes on average 10 hours to complete, P2 30 hours and P3 100 hours. Let us say the averages are medians and the distributions are not symmetric and have different dispersions. How can one assess each workers performance w.r.t. these averages? A simple idea is to use linear regression with this formula:

Time = Bias/P1 + alpha * P2 + beta * P3


Here P1 is the reference and P2 + P3 the dummies based on the original data:

WorkerId  Product Time
1 P1 10
1 P2 30
2 P1 15
...


dummied:

workedid P2 P3 Time
1 0 0 10
1 1 0 30
2 0 0 15


Could one simply assess the performance of each worker by their average (arithmetic mean?) residuals by applying each worker to the fitted model or is there more to it? Do I have to center/transform/log the variables?

I guess heteroscedasticity is violated due to each product following differeent distributions. Should I rather use quantile regression or a machine learning model? Please note that this is a simplified scenario and products have properties, which on could add to the model.

Thanks!

• Are you just trying to estimate how productive the workers are (eg, for raises & promotions)? How many workers are there? How many of each product have they typically produced (1, a few, a lot)? Is it reasonable to imagine that there are specialized skills involved such that worker 1 is better at P1 & worker 2 is better at P2, etc? Can you post a small example dataset for people to work with? – gung - Reinstate Monica Feb 22 at 18:20
• @gung-ReinstateMonica thanks. Part1: Sorry I cannot really provide real data. You make valid points. of course, managers will consider the context and one could potentially incorporate features like years of service. This is not meat to be used like: model/computer says so. – cs0815 Feb 22 at 19:14
• @gung-ReinstateMonica Part2: One would also only consider a workers average residuals, if they have at least 30 (?) observations to get a somewhat stable estimate. I only thought about the above approach, as managers currently have to look at every workers performance for every product separately. I thought using the average residuals is somewhat a reflection of their performance relative to the overall expectation as a good model should explain most of the variance? – cs0815 Feb 22 at 19:15
• That doesn't quite answer my questions. What are the ultimate goals here? Is this something like trying to estimate workers' productivity? How many workers are there? How much data do you have per worker? Are there some with very few data? Can you post a small, fake dataset that's similar to yours for people to work with? – gung - Reinstate Monica Feb 22 at 19:37
• @gung-ReinstateMonica thanks. Part 1: Tried to simplify problem. Above represents the simplest data structure. Some workers have only worked on 10 or so products (I guess they could be removed? what would be the threshold?). There are 10s of workers and some probably worked on 100 or so products. Thinking about it again, the overall problem is to reduce the average time taken per products whilst adjusting for the longer more complex work required for, for example, product P3. Other companies also produce P1-P3. – cs0815 Feb 22 at 20:18