Does collaborative filtering make sense with binary data (subscriptions)

Hello, I’m experimenting with using collaborative filtering to suggest content to users based on users existing subscription behaviour. I’m wondering if it makes sense to use this algorithm in the case where you only have information about whether a user has subscribed to a given piece of content - i.e. its a binary, yes/no situation where a user either has or hasn’t subscribed, which is different to when you have a “rating” from a user which could be good or bad.

In my case, my dataset then just consists of only rating=1 for the (user, content) combinations where the user subscribed, but there are no zeros in my data set! I could set rating=0 for content that the user didn’t subscribe to, but that would create an awful lot of data (these correspond to all the empty entries in the crosstab matrix shown in Chapter 8 (Collab Filtering Deep Dive).

Training the model as suggested in the book yields a pretty good validation loss, but I’m trying to better understand what this really means in my case - how can I ensure that my model doesn’t just predict 1 for all (user, content) combinations?