1. A method for providing query suggestions for a user comprising: using a computer processor and storage, receiving a query log comprising a number of user sessions, the sessions including a plurality of sets of queries, some of the sets of queries including query transitions, followed by a purchase related event; cleaning and normalizing the query log; generating from the cleaned and normalized query log stationary scores and transition scores of at least some of the plurality of sets, the transition scores comprising ordered query pairs; building a set of query suggestions from the ordered query pairs; computing similarity scores of at least some of the set of query suggestions to determine whether individual ones of the at least some of the set of query suggestions meet a predetermined assurance level; including as elements of the set of query suggestions that meet the predetermined assurance level; and mixing and ranking the set of query suggestions in accordance with a user behavior that is to be optimized.