The best practice I’ve found at least for myself to deal with progressive is this:
I first trace a full image and then spot the part of the rendered image that are more difficult to sample and that take longer than others to converge. Then I run a renderregion on that and see how many passes it needs to be artifact free. Then I set that number of passes for the final render.
Generally if you set a min and max to: 100, 10000.. you’ll get around 100 passes; 200, 20000.. 200passes and so on. You can take a look at how much each pass takes to get an estimated render time.