It's worth noting that "Less than 1 MB" will only be "100% confirmed in the next block" if the block is found at that instant.
In that example shown above, if you were to use a fee of 3 sats/byte (0.998 MB)... and no miners found a block for another hour... and 10,000 more transactions were broadcast in that time, all using a fee of 5+ sats/byte, it is highly likely that your 3 sats/byte transaction would get bumped over the "1meg" block size and could miss out on "next block" confirmation.
If you REALLY want/need to guarantee "next block", it is probably safer to aim for around the 75-80% mark of "1meg"... and use that. In the example shown, you'd want to try using 5 or 6 sats/byte. Unless the transaction is absolutely huge, you're only looking at a difference of probably around 500-1000 sats in terms of the fee but significantly increasing the odds of getting in the next block.
a very good point but i would argue that there still exists a better solution and the first thing should not be the "pay higher fee" that we run to.
the better solution is using RBF and keeping an eye on things. here is the scenario.
you find the best fee, lets say it is 3 s/b and send the transaction as RBF. in majority of cases it will be enough and you will get a fast confirmation in next block.
in rare cases where:
- there is no block found for an hour or more
- the next block(s) found are empty or miners are intentionally ignoring your tx
- a new block is found fast (eg in next 10 minutes) but right after you sent your transaction a spam attack starts and fills the mempool with 4 s/b transactions.
by keeping an eye on things you simply bump the fee to 5 s/b and have your tx confirmed fast still.
now the difference is that the chance of second scenario happening is small enough to be worth the effort and the time is not that long. it usually is 10 minutes or so. in other words from 100 tx that you send you may be forced to bump the fee for only 1 or 2 of them.