There are quite a few factors that go into calculating search rankings--which aren't limited to search engines tweaking their algorithms. All you can do is practice good SEO and post good content.
Remember--other sites are probably employing various SEO techniques and also posting good content, so sites rise and fall all the time. The web is in a constant state of flux.
Sorry that this doesn't really answer your question directly, but there's no good way to definitively determine why SERPs change.