Hello @somasundaram_h,
Wow, indeed, that's a lot of conbinations!! And the performance might take a hit.
I believe that the pressure type typology rule is the best suited to your needs.
As for the issue of the contact date, it can be easily resolved by creating a typology rule that executes before the pressure to set a delivery contact date to ''now'' if the contact date is empty.
If you do not want to use pressure typology, a solution that will avoid making queries on the broadlogRcp table is to create a dedicated table linked in a 1:N relationship with recipient that contains "recipientId", "productId", "channel", and "lastContact".
The table can be refreshed once a day (preferably overnight) with a dedicated technical workflow.
A purge should be performed on it to prevent it from growing indefinitely (according to your example, data older than 2 months is no longer useful).
And in the typology rules, use this table instead of broadLogRcp.
Br,