It's directly causal, algo's fighting for better position directly decrease the spread. Competition has the effect of removing unnecessary markup as the next guy who sells just a bit cheaper or offers just a bit more wins until the price is as close as possible to barely profitable. Humans are too slow to play such a tight game, computers aren't.