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; defining a tracking type for a first attribute of a set of one or more attributes associated with a first entity of the plurality of entities; tracking a change in the first attribute based on the tracking type; generating a new version of the first entity of the plurality of entities in the activity graph in response to a change in the first attribute of 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.