17. A non-transitory storage medium storing instructions executable by a computational device, wherein the instructions comprise instructions to: obtain program historical data associated with users that each receive one or more programs via one or more channels of a program delivery network that provides a program service to which the users belong; obtain social network data associated with the users from social network sites to which the users belong, wherein the social network data includes a social graph, communication data pertaining to a frequency of communications between the users via a communication network that provides a communication service to which the users belong, wherein the communication service includes a mobile phone service and a messaging service, and the communication data includes mobile phone calls, and user profile information pertaining to the users; calculate based on the social network data, the communication data, and the user profile information, a social similarity value that indicates a social similarity between one of the users and other users; calculate based on the program historical data, a channel-interest similarity value that indicates a common interest between the one of the users and the other users in relation to the one or more channels used by the users to receive the one or more programs; calculate based on the social similarity value and the channel-interest similarity value, a similarity index value that indicates a similarity between the one of the users and the other users; calculate based on the program historical data a program regularity value, for each program, that indicates a regularity of consumption of each program over a time period; calculate based on the program regularity value, a program weight value, for each program, that indicates a priority value; calculate based on the program historical data, a stay-time, for each channel, that indicates a time period each of the users remained on each channel; calculate based on each program weight value, each stay-time, and each similarity index value, a channel weight for each channel; and select based on each channel weight, one or more channels to recommend to at least one of the users.
20. The non-transitory storage medium of claim 17 , wherein the instructions to calculate the channel weight comprise instructions to: calculate the channel weight based on an expression: W=w*Σ i=1 N (Stay_time(U i )*S i ), wherein w is the program regularity value, Stay_time is a time user U i stays on a channel, S i is the similarity index value between the one of the users and one of the other users U i , and W is the channel weight.