I realize that the time it takes to reach specific depths is not precisely calculable. Nonetheless, there must be a rule of thumb for roughly how long each block takes to process. For example, if we want to estimate how long it will take for a transaction to reach a depth of 20, what formula should we use?
Given the time of one slot is defined by
slot_length being one second right now.
And the chain parameter
active_slots_coefficient, which gives us the proportion of slots in which blocks should be issued, it is set to 0.05.
This means, that we can expect one block in average in
1 / 0.05 = 20 seconds.
However, you must account for mempool and pending transactions too.