Given a flat structured data with features that can be considered hierarchical, where each feature is at a different level (e.g., Brand at the top level, Product, Color, and Size at different levels), I am trying to make predictions at each level while using the same target variable. However, if I start predicting from the lowest level, I will have all the features present in the data. If I start predicting at a higher level (e.g., Color), I will not have data for the lower level (e.g., Size). Therefore, I need to know: Should I use a single model for all levels or different models for each level? If I use a single model, what approach should I use?
if we consider your dataset as DB table, you denormalized your data and flattened it. So you don't have to think features with their levels. Of course they may have some relationship as you said, and it may have some multicollinearity. But you don't need to consider this situiation for model choice approach.