We have only 25 days of data and are also using a materialized view. I am using the following query to check my emergency autovacuum threshold:
select ROUND(100*(max(age(datfrozenxid))/( ( select setting AS value FROM pg_catalog.pg_settings WHERE name = 'autovacuum_freeze_max_age' ))::float) ) as percent_towards_wraparound from pg_database
Now each day I can see it is growing towards the limit. Now it is showing 26%.