Whenever you need to make decision, you may want some opinions from others. Before the era of web we used to ask friends and other family members to recommend what product to purchase, which places are best to travel, which hotels best for to take food. With the growing availability and popularity of information technology, various tool and techniques are evolved which help human for decision making. Artificial intelligence and machine learning applications are implemented for automated decision making. Recommendation systems are systems which provides ranked list of options from available huge list of options. Ecommerce sites like amazon.com uses various techniques and algorithms for to provide recommendations to user. For to develop recommendation system various tools and techniques are in use. In this paper we discussed various techniques and algorithms used for development of recommendation systems.