If people completely stop buying product A and switch to product B then the model should do that as well because the model should try to match reality.
The CPI is about measuring prices of what consumers buy: the P and C in CPI.
> It would probably be more honest to project inflation by defining a static consumer's basket and following it's price into the future.
But that is not the purpose of the Consumer Price Index. There are other statistics available that may be useful:
* https://en.wikipedia.org/wiki/Personal_consumption_expenditu...
Or you could go out and measure the prices of these things yourself, as there's source code floating around that was used in academic research:
* https://thebillionpricesproject.com
* https://en.wikipedia.org/wiki/MIT_Billion_Prices_project
The CPI was setup for a particular purpose and it is good at that purpose. If you want to measure something else don't try to shoehorn it in, setup a metric for what you to measure rather rather than wreck what works.