There are a couple of pieces involved in replication. Are you talking about the logreader being kicked off every 15 minutes, or the distribution job? I am going to assume you are looking at the Synchronization status, and that the distribution job is what is set to run every 15 minutes. In that case, you almost certainly have some sort of automated process that hits the database with a bunch of transactions at some point(s) during the day. To find out what process this may be, set up a profiler trace to capture activity on the publisher to see what is going on in the half hour before the 500-700 transactions usually happen.