According to the official documentation: https://learn.microsoft.com/en-us/dynamics365/commerce/price-change-tracking#how-price-change-tracking-works
Retail Price Change Tracking should already support tracking the changes made to trade agreements in general. Unfortunately, MS pleads to "design limitation" or "reduced performance" and only tracks trade agreements that are posted for "ALL" (party code relation). As in many cases, prices are specific to a customer or maybe even just a group (e.g. B2C prices vs. B2B prices) and therefore, the standard price tracking feature becomes useless and there is no other way in a standard environment to track price changes for those use cases without interfering in MS code with a customization.
This idea is not about tracking actual price changes on the PriceDiscTable but only require MS to run existing methods to update the UpdatedDateTime field in the RetailPriceChangeTracking table for all items in the currently posted trade agreement. I'd understand if they fear a performance risk, if there was a line with party code type = Group and item code type = Group as well (or even ALL). But a party code type = group and a specific item number should be tracked in my opinion.
There's already other cases, where multiple products will receive an update on the table, like when publishing a discount for a number of products or even a product hierarchy node which can hold plenty of products itself. Therefore, I don't see any issue with implementing the price change tracking for party code type = Group and party code type = Table.
I'd appreciate your vote on this idea.