1. A method in a programmable computing device for determining the desirability of programming events, the method comprising executing processing comprising: receiving metadata describing programming events, the metadata that describes a programming event being comprised of at least one of descriptive data and keyword data; determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match of the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile, and ranking the programming events in accordance with the keyword match scores for each programming event.