As of this writing, the average bitcoin transaction fee is over $30, according to this chart. However, I just bought $20 worth of bitcoin from an ATM, and they charged me a fee of around $2.00.
My understanding of the fee for a transaction is that it is a function of market forces, the number of bytes in the transaction, and the time you are willing to wait for your transaction to be added to the blockchain. Overall however, I had the impression that at a given time these fees are relatively constant per transaction. So I would expect that the owners of the ATM would have to spend something around $30 in fees to give me my $18.00.
I asked a similar question about coinbase. In that case the explanation was that coinbase wasn't actually transferring any bitcoin on the blockchain. However, this ATM printed me a new wallet, which I assume means a new bitcoin address was created and bitcoin was transferred to it on the blockchain.
What don't I understand?