OK, so I see that a single query is not actually a single IOP.
The table I am inserting into has 7 columns excluding the create/update and it has 4 indexes. From what I have read, indexes have at least 1 IOP each and there will be a few other operational IOP's. Even If I said 10 IOP per transaction, that still only calculates to around 960 IOPS - much less than what the RDS monitoring is telling me.
Is there anything else I can check or optimise to try and reduce this. I really do not want to have to switch to a provisioned IOPS instance.