A method includes creating a base content set having attributes indicative of a first program. Selecting a second program to form a first recommendation set, determining a first similarity score between the base content set and the first recommendation set, and providing a recommendation based on the similarity score.