Social recommendation systems use social relations (such as trust, friendship, etc.) among users to find preferences and provide relevant suggestions to users. Historical ratings of items provided by the users are also used to predict unseen items in the systems. Therefore, it is an important issue to calculate the sufficient number of the historical ratings for each user to have a reliable prediction. In addition, providing a reliable mechanism to incorporate virtual ratings into the historical ratings of the users who have insufficient ratings can improve the performance of the rating prediction process. In this paper, a social recommendation system is proposed based on reliable virtual ratings to improve the accuracy of predicted ratings especially about the users with insufficient ratings. To this end, a probabilistic mechanism is used to calculate the minimum number of required ratings for each user to predict unseen items with high reliability. Then, a novel method is considered to predict the reliable virtual ratings based on users’ reputation and clustering models. In addition, a noise detection method is used to detect noisy virtual ratings and prevent them from adding to the historical ratings. Then, the reliability, diversity and novelty of items are used to propose a selection mechanism for adding the remaining virtual ratings into historical ratings of the users with insufficient ratings. Therefore, the performance of the social recommendation systems can be improved through incorporating the reliable virtual ratings. Several experiments are performed based on three well-known datasets and the results show that the proposed method achieves higher performance than other state-of-the-art recommendation methods.