1. A method comprising: identifying, by one or more processors, a first set of actions performed by a first user using a user interface (UI), wherein each action of the first set of actions corresponds to a respective UI element; generating, by one or more processors, a set of natural language statements corresponding to the identified first set of actions; associating, by one or more processors, natural language statements of the set with a goal, wherein the goal is achievable by performing actions of the first set of actions using their respectively corresponding UI elements; identifying, by one or more processors, at least a second set of actions performed by a second user using the UI, wherein each action of the second set of actions corresponds to a respective UI element; generating, by one or more processors, a set of second natural language statements corresponding to the identified second set of actions; associating, by one or more processors, second natural language statements of the set with the goal; correlating, by one or more processors, a duration of the first set of actions and the second set of actions by averaging respective amounts of time taken to complete the first set of actions and the second set of actions; and determining, by one or more processors, an optimized set of actions for achieving the goal, wherein the optimized set of actions includes actions from at least one of the first set of actions or the second set of actions, and wherein the actions of the optimized set of actions are optimized based on the correlated duration.