3. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: receiving a query prefix from a user; obtaining a reference parameter for the user; identifying one or more likely queries that are likely to co-occur with the reference parameter in user activity sessions obtaining initial ranking scores for the one or more likely queries; computing, for each likely query of the one or more likely queries, a respective new ranking score including multiplying the initial ranking score for the likely query by a ranking factor associated with the likely query, wherein the ranking factor R is given by: R = P ⁡ ( x | q ) P ⁡ ( x ) , wherein P(x|q) is a measure of a likelihood of the likely query x occurring in a user activity session given that the reference parameter q also occurred in a same user activity session, and wherein P(x) is a measure of the likelihood of the likely query x appearing in a user activity session; determining a ranking of the one or more likely queries according to the new ranking scores; and providing the ranking of the one or more likely queries in response to receiving the query prefix.
3. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: receiving a query prefix from a user; obtaining a reference parameter for the user; identifying one or more likely queries that are likely to co-occur with the reference parameter in user activity sessions obtaining initial ranking scores for the one or more likely queries; computing, for each likely query of the one or more likely queries, a respective new ranking score including multiplying the initial ranking score for the likely query by a ranking factor associated with the likely query, wherein the ranking factor R is given by: R = P ⁡ ( x | q ) P ⁡ ( x ) , wherein P(x|q) is a measure of a likelihood of the likely query x occurring in a user activity session given that the reference parameter q also occurred in a same user activity session, and wherein P(x) is a measure of the likelihood of the likely query x appearing in a user activity session; determining a ranking of the one or more likely queries according to the new ranking scores; and providing the ranking of the one or more likely queries in response to receiving the query prefix. 24. The computer program product of claim 3 , wherein the operations further comprise: receiving a second query prefix comprising a character submitted by the user subsequent to the query prefix; generating a key comprising the reference parameter and a subset of characters of the query prefix; determining that the key corresponds to an entry in a cache of likely queries; and returning the one or more likely queries associated with the entry in the cache of likely queries.