The desirability of programming events may be determined using metadata for programming
events that includes goodness of fit scores associated with categories of a classification
hierarchy one or more of descriptive data and keyword data. The programming events
are ranked in accordance with the viewing preferences of viewers as expressed in
one or more viewer profiles. The viewer profiles may each include preference scores
associated with categories of the classification hierarchy and may also include
one or more keywords. Ranking is performed through category matching and keyword
matching using the contents of the metadata and the viewer profiles. The viewer
profile keywords may be qualified keywords that are associated with specific categories
of the classification hierarchy. The ranking may be performed such that qualified
keyword matches generally rank higher than keyword matches, and keyword matches
generally rank higher than category matches. In alternative embodiments, scores
may be calculated such that the ranges of scores for qualified keyword matches,
keyword matches and category matches are overlapping but are generally ordered
as previously described. Related embodiments may pertain to systems that implement
such methods. Program rankings may be used to generate an alert schedule for providing
alerts to viewers regarding programming events.