How stable is your ambient temperature?
To my huge surprise, a firmware compensated RTC on an ATtiny provides my office wall clock with a time that is accurate to about 1s/month.
Clock source is a 2^15Hz watch crystal, no TXCO. My office temperature is between 18..30°C max, usually 20..22°C.
Edit: I guess I misunderstood, sorry. You are not looking into DIY, but off the shelf?
Edited: The DS3231 has a surprisingly high supply current when the serial interface is up (100µA). This is what made me bring up the my ATtiny(414), which uses <4µA for time keeping. A more thorough look at the datasheet will show that the DS3231 should require about 1µA for pure time keeping.