Daily snapshot fact table I have a list of products per costumer. Costumers can delete or add products to their list. I want to know in each day what is the list of products (and count) by costumer.

My first approach is to have a fact table with all products by client each day.

Is this the best approach? 
This fact table will grow at the same rate that the products are added to costumers list. 

btw i'm using Pentaho.
You could do that. I'm thinking something along the lines of having an active and inactive date on your fact table for each product for each customer. Then you could mark a previous product with an inactive date.

This should allow you to query it for date ranges that are include a specific date to get what their product list was for a specific point in time.