The size of the transaction will depend on the specifics of the inputs and outputs.
The calculation that you found was based on an assumption that each input was previously received at a P2PKH address that used an uncompressed key address, and that each new output would be a P2PKH address.
If the addresses that the inputs were previously received at were compressed key addresses then each input will be 148 bytes plus or minus 1 bytes instead of 180 bytes plus or minus 1 byte.
If the outputs that you are creating are not P2PKH addresses, or if the inputs were not received at P2PKH addresses, then you'll need to figure out how big each one is.
As for the reasoning behind the "plus or minus 1 byte"...
This is because there's no way of knowing in advance how big the signatures are going to be.
From what I've read:
In particular, for uncompressed public keys, there is:
- a 25% chance each input is 179 bytes or smaller,
- a 50% chance each input is 180 bytes,
- a 25% chance each input is 181 bytes.