In some examples, systems and techniques can determine a respective visit likelihood for each respective destination of a plurality of destinations based at least in part on a respective distance between the respective destination and a geographic location from a location history associated with a user and a comparison between a time associated with the geographic location and a visit likelihood distribution across time. The systems and techniques can then sort at least some of the plurality of destinations. In other examples, systems and techniques can determine whether a user is likely to visit a place during a future instance of a timeslot based at least in part on a location history associated with the user. The systems and techniques can then output information relating to the place prior to the beginning of the future instance of the timeslot.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving, by a computing device, a location history associated with a user; determining, by the computing device, based at least in part on the location history, a place that the user previously visited and visit history data indicating whether the user visited the place during any of a plurality of past instances of a timeslot; determining, by the computing device and based at least in part on the visit history data, that the user is likely to visit the place during a future instance of the timeslot; and responsive to determining that the user is likely to visit the place during the future instance of the timeslot, outputting, by the computing device, information relating to the place prior to the beginning of the future instance of the timeslot. 2. The method of claim 1, wherein determining that the user is likely to visit the place during the future instance of the timeslot comprises determining that the user is likely to visit the place during each respective timeslot of a plurality of future instances of the timeslot. 3. The method of claim 1, wherein determining the place that the user previously visited and visit history data indicating whether the user visited the place during any of the plurality of past instances of the timeslot comprises determining a visit vector comprising a plurality of vector elements, each respective vector element corresponding to a respective past instance of the timeslot and having a value indicating that the user visited the place during the respective past instance of the timeslot or a value indicating that the user did not visit the place during the respective past instance of the timeslot. 4. The method of claim 3, wherein determining the place that the user previously visited and visit history data indicating whether the user visited the place during any of the plurality of past instances of the timeslot comprises: executing a function T(X,Y) that receives as inputs the visit vector, a value of Y, and a value of X, wherein Y is a length of a sub-stream of interest measured in the number of elements in the sub-stream, wherein X is the number of positive elements in the sub-stream of interest, and wherein the function T(X,Y) returns the number of sub-streams in the visit vector having the length of Y, having exactly X positive elements, and being followed by a subsequent element in the visit vector. 5. The method of claim 4, wherein determining the place that the user previously visited and visit history data indicating whether the user visited the place during any of the plurality of past instances of the timeslot comprises: in instances in which the number returned by the function T(X,Y) is less than a predetermined threshold, decrementing Y by one; and executing the function T(X,Y) for the value of Y and the value of X. 6. The method of claim 5, wherein determining the place that the user previously visited and visit history data indicating whether the user visited the place during any of the plurality of past instances of the timeslot comprises: calculating a future visit probability as the number of sub-streams of type (X,Y) in the visit vector which are followed by a positive element, divided by the number returned by the function T(X,Y). 7. The method of claim 1, wherein determining that the user is likely to visit the place during the future instance of the timeslot comprises determining that the user is likely to visit the place during the future instance of the timeslot when a future visit probability exceeds a predetermined probability threshold value. 8. The method of claim 1, wherein determining that the user is likely to visit the place during the future instance of the timeslot comprises using at least one of a Markov chain model, a beta-prior model, and a random forest model to determine whether the user is likely to visit the place during the future instance of the timeslot. 9. The method of claim 1, wherein the timeslot corresponds to one of: a particular day of the week and a particular time of the day; only a particular time of the day; or the two weekend days in a one week period. 10. A computer-readable storage device storing instructions that, when executed, cause at least one processor of a computing device to: receive a location history associated with a user; determine, based at least in part on the location history, a place that the user previously visited and visit history data indicating whether the user visited the place during any of a plurality of plurality of past instances of a timeslot; determine, based at least in part on the visit history data, that the user is likely to visit the place during a future instance of the timeslot; and responsive to determining that the user is likely to visit the place during the future instance of the timeslot, output information relating to the place prior to the beginning of the future instance of the timeslot. 11. The computer-readable storage device of claim 10, further comprising instructions that, when executed, cause the at least one processor of the computing device to: determine that the user is likely to visit the place during each respective timeslot of a plurality of future instances of the timeslot. 12. The computer-readable storage device of claim 10, further comprising instructions that, when executed, cause the at least one processor of the computing device to: determine, based at least in part on the location history, a visit vector comprising a plurality of vector elements, each respective vector element corresponding to a respective past instance of a timeslot and having a value indicating that the user visited a place during the respective past instance of the timeslot or a value indicating that the user did not visit the place during the respective past instance of the timeslot. 13. The computer-readable storage device of claim 12, further comprising instructions that, when executed, cause the at least one processor of the computing device to: execute a function T(X,Y) that receives as inputs the visit vector, a value of Y, and a value of X, wherein Y is a length of a sub-stream of interest measured in the number of elements in the sub-stream, wherein X is the number of positive elements in the sub-stream of interest, and wherein the function T(X,Y) returns the number of sub-streams in the visit vector having the length of Y, having exactly X positive elements, and being followed by a subsequent element in the visit vector. 14. The computer-readable storage device of claim 13, further comprising instructions that, when executed, cause the at least one processor of the computing device to: in instances in which the number returned by the function T(X,Y) is less than a predetermined threshold, decrement Y by one; and execute the function T(X,Y) for the value of Y and the value of X. 15. The computer-readable storage device of claim 14, further comprising instructions that, when executed, cause the at least one processor of the computing device to: calculate a future visit probability as the number of sub-streams of type (X,Y) in the visit vector which are followed by a positive element, divided by the number returned by the function T(X,Y). 16. The computer-readable storage device of claim 10, further comprising instructions that, when executed, cause the at least one processor of the computing device to determine that the user is likely to visit the place during the future instance of the timeslot when a future visit probability exceeds a predetermined probability threshold value. 17. The computer-readable storage device of claim 10, further comprising instructions that, when executed, cause the at least one processor of the computing device to use at least one of a Markov chain model, a beta-prior model, and a random forest model to determine whether the user is likely to visit the place during the future instance of the timeslot. 18. The computer-readable storage device of claim 10, wherein the timeslot corresponds to one of: a particular day of the week and a particular time of the day; only a particular time of the day; or the two weekend days in a one week period. 19. A computing device comprising: at least one processor; and at least one non-transitory computer-readable storage medium storing instructions that are executable by the at least one processor to: receive a location history associated with a user; determine, based at least in part on the location history, a place that the user previously visited and visit history data indicating whether the user visited the place during any of a plurality of plurality of past instances of a timeslot; determine, based at least in part on the visit history data, that the user is likely to visit the place during a future instance of the timeslot; and responsive to determining that the user is likely to visit the place during the future instance of the timeslot, output information relating to the place prior to the beginning of the future instance of the timeslot. 20. The computing device of claim 19, wherein the instructions are further executable by the at least one processor to: determine, based at least in part on the location history, a visit vector comprising a plurality of vector elements, each respective vector element corresponding to a respective past instance of a timeslot and having a value indicating that the user visited a place during the respective past instance of the timeslot or a value indicating that the user did not visit the place during the respective past instance of the timeslot.