1. A method comprising: selecting a plurality of predetermined demographic groups including externally selected characteristics including historical data from a plurality of actual viewers and historical actual electronic program guide (EPG) data to associate viewers with; recording a viewer's monitor behavior with data item variables including watched channel, watching start time, at least one of watching date and watching duration, a first ratio of time watched to time available for at least one non-hopping program, and a second ratio of time watched to time available for at least one program with hopping, wherein hopping represents an act of leaving and returning to the same program, wherein the first ratio exclusively corresponds to non-hopped programs and said second ratio exclusively corresponds to hopped programs; associating a particular demographic group of the plurality of demographic groups with the viewer; from a server-side system, inputting historical data information regarding demographic information tagged to the viewer for the viewer's demographic group; generating preferred program guide information based on the historical data information for the viewer's demographic group and based on bias metrics; inputting the preferred program guide information for the viewer's demographic group; at a client side system, associating the preferred program guide information with the viewer's monitor behavior; and defining therefrom a knowledge base with demographic group cluster information of the viewer in terms of statistical state machine transition models.