What I’ve done in big projects is to create an id function that creates the prefix automatically. This is easier with pages as each component tree is in its own layout so you can use __name__ as the prefix.
So you’d write something like:
utils.py
def id(name, localid):
return f"{name.replace('_', '-').replace('.py', '').replace('/', '')}-{localid}"
pages/historical_analysis.py
from utils import id
layout = html.Div(id=id(__name__, 'parent-div'))