Power utility companies rely on forecasting to anticipate future consumption needs, plan power production, and schedule the selling/purchasing of power. We present a novel method to forecast the power consumption of a single house based on non-intrusive load monitoring (NILM) and affinity aggregation spectral clustering, with the idea of extending it to forecasting consumption in a larger set of houses like a microgrid. First, we use a graph to model statistical relationships between appliances. Specifically, the ON/OFF time-of-day and state duration probabilities are used to compute graph edge weights and establish statistical relationships among appliances. Then, leveraging on our previous work on NILM, we disaggregate the smart meter aggregate power profile into individual appliance power profiles. With the disaggregated individual power profiles and the corresponding ON/OFF time-of-day and state duration probabilities, we next propose a method to forecast each appliance's power profiles using affinity aggregation spectral clustering. For the proposed method, we incorporate human behaviour and environmental influence in terms of calendar and seasonal contexts in order to enhance the forecasting performance. Finally, the results of appliance-level forecasting are aggregated to perform house-level forecasting. To test our proposed forecasting method, we use four publicly available datasets and compare our method against several existing approaches such as autoregressive integrated moving average, similar profile load forecast, artificial neural network, and recent NILM-based forecasting. Experimentally, we examine how well the proposed forecasting method can generalize appliance behaviours from one house to another. Results clearly show that our method is more accurate than existing approaches. INDEX TERMS Appliance identification, demand side management, non-intrusive load monitoring, NILM, power forecasting, smart grid, spectral clustering.