1. A computer-implemented method for managing data in a data warehouse using an activity graph, the method comprising: accessing an activity graph comprising a plurality of interconnected nodes, wherein the plurality of interconnected nodes represent a plurality of entities; storing a new version of a first entity of the plurality of entities in the activity graph based on a change in an attribute of the first entity and a tracking type associated with the first entity; removing a second entity of the plurality of entities from the activity graph based on a data retention rule associated with the second entity; and removing a third entity of the plurality of entities from the activity graph based on an elapsed length of time and a data decay rule associated with the third entity.