Honestly it hard to know it but you can estimate the time in my study in my transaction using electrum i set my fee in to maximum fee and test how many hours or minutes will receive it in other wallet.. but i experience different result sometiems the transaction is 16 min and some times 30 minutes or more..
So i think we can not know the exact time or to calculate it ..
Yeah you are right because there are many factors which affect the speed of transaction. Network, fee and the number of transactions can be considered as the most important factors affect directly on the speed of transaction. You can not guess precisely how long it will take to finish confirming a block, you just have to wait.