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.