A computer-implemented method of facilitating navigation in an electronic environment, comprising: identifying (604, 902) a current user interface state of an application utilized by a user during a session; identifying a path of user interface transitions that the user took to arrive at the current user interface state; identifying a plurality of other users with paths which include the current user interface state; selecting the paths of the plurality of other users that maximally overlap with the user's path; identifying the user interface transitions taken from the current user interface state in the selected paths of the plurality of other users; identifying a plurality of potential user interface transitions available to the user; for each of the user interface transitions available to the user: determining a preliminary user transition score, based on a historically measured frequency of the user transitioning from the current interface state to the respective interface transition; determining a further transition score based on the past navigational behavior of the plurality of other users transitioning from the current interface state to the respective interface transition, wherein the plurality of other users are associated with the same role in an organization as the user; determining a second user transition score, based at least in part on the respective preliminary user transition score and the respective further transition score; calculating a transition frequency for the user based on a number of user interface transitions made by the user during the session and a browsing session length for the session; determining a number of the one or more user interface transitions to be cached based at least in part on their respective second user transition scores and the user's transition frequency; and caching the number of the one or more user interface transitions based at least in part on their respective second user transition scores and the user's transition frequency to result in acceleration of the one or more user interface transitions upon selection by the user; wherein the second user transition score is increased for the identified user interface transitions taken from the current user interface state in the selected paths of the plurality of other users. identifying (604, 902) a current user interface state of an application utilized by a user during a session; identifying a path of user interface transitions that the user took to arrive at the current user interface state; identifying a plurality of other users with paths which include the current user interface state; selecting the paths of the plurality of other users that maximally overlap with the user's path; identifying the user interface transitions taken from the current user interface state in the selected paths of the plurality of other users; identifying a plurality of potential user interface transitions available to the user; for each of the user interface transitions available to the user: determining a preliminary user transition score, based on a historically measured frequency of the user transitioning from the current interface state to the respective interface transition; determining a further transition score based on the past navigational behavior of the plurality of other users transitioning from the current interface state to the respective interface transition, wherein the plurality of other users are associated with the same role in an organization as the user; determining a second user transition score, based at least in part on the respective preliminary user transition score and the respective further transition score; determining a preliminary user transition score, based on a historically measured frequency of the user transitioning from the current interface state to the respective interface transition; determining a further transition score based on the past navigational behavior of the plurality of other users transitioning from the current interface state to the respective interface transition, wherein the plurality of other users are associated with the same role in an organization as the user; determining a second user transition score, based at least in part on the respective preliminary user transition score and the respective further transition score; calculating a transition frequency for the user based on a number of user interface transitions made by the user during the session and a browsing session length for the session; determining a number of the one or more user interface transitions to be cached based at least in part on their respective second user transition scores and the user's transition frequency; and caching the number of the one or more user interface transitions based at least in part on their respective second user transition scores and the user's transition frequency to result in acceleration of the one or more user interface transitions upon selection by the user; wherein the second user transition score is increased for the identified user interface transitions taken from the current user interface state in the selected paths of the plurality of other users.