Particles keep reverting to starting position

I start on frame 1, and increment up to frame 20 for example, then render.
Once the render is done, despite being still on frame 20 the particles have gone back to their frame 1 position!
I then have to dial back to frame 1 and increment up again until I get to 20 again. It’s so dumb.
How can I make them stay put?

Edit: Here’s the .blend for reference. Particles are in the right place when the file loads, but after rendering they lose their position.

I think you need to actually bake the silulation data. In the particle system, under cache, click ‘bake’ as opposed to hitting alt-a in the viewport.