As both the amount of data to be stored and the rate of data production grows, data center designers and operators face the challenge of planning and managing systems whose characteristics, workloads, and performance, availability, and reliability goals change rapidly. As we move towards software-defined data centers (SDDCs) the ability to reconfigure and adapt our solutions is increasing, but to take full advantage of that increase we must design smarter, more intelligent systems that are aware of how they are being used and able to deliver accurate predictions of their characteristics, workloads, and goals. In this paper we propose a novel algorithm for use in an intelligent, user-aware SDDC which performs run-time analysis of user storage system activity in a manner that has a minimal impact on performance and provides accurate estimations of future user activity. Our algorithm can produce both generalized models, and specific models, depending on the parameters used. Our algorithms are efficient, and have low overhead, making them ideal to use to add intelligence to SDDCs and build intelligent storage systems. We use our algorithm to analyze actual data from two real systems, monitoring user activity two and three times a day for each system respectively, over a period of roughly two years, for almost 500 distinct users.