How to select random data for two different recommender systems?
Welcome @Remus Raphael :) - Your approach is a sound option.

More specifically, if a density-based algorithm was already working for you, I'd recommend the HDBSCAN clustering algo, which should have a better performance and has a unique built-in cluster validation (based on the DBCV algorithm).

Then your general pipe line could be:


An optional pre-processing
An optional NLP / TFIDF for meaningful text features
An optional dimensionality reduction (I found TSNE and TruncatedSVD to
work nicely with HDBSCAN with textual processing)
HDBSCAN tuning for different params and distance metrics
Finally, when you're satisfied with the clustering quality - you can simply start with the 2 largest clusters for your AB testing


I'd love to hear you feedback on your actual data :)