Collaborative filtering (CF) and its modifications is one of the most commonly used recommendation algorithms. There are two basic approaches of this recommendation algorithms, user-based collaborative filtering and item-based collaborative filtering. User-based collaborative filtering is a system that finds other people with similar interests, analyzes their behavior, and then offers other users the same items. On the other hand, item-based collaborative filtering is a system that looks at items a user bought previously and then recommends products that are like them. Moreover, Matrix Decomposition is another algorithm used for recommendation systems. This system puts humans and items in a matrix and uses their positioning in the matrix to make predictions. Furthermore, clustering is the system that identifies user groups and recommends each user in the group the same items. For this particular system, when there is enough data, this is the first step taken in shrinking the selection of relevant items. In other words, each cluster would be assigned to typical preferences, based on preferences of customers who belong to the cluster. Customers within each cluster would receive recommendations computed at the cluster level.