Recently, there have been frequent fluctuations in the wholesale prices of electricity following the increased penetration of renewable energy sources. Therefore, retailers face price risks caused by differences between wholesale prices and retail rates. As a hedging against price risk, retailers can utilize critical peak pricing (CPP) in a price-based program. This study proposes a novel multi-stage stochastic programming (MSSP) model for a retailer with self-generation photovoltaic facility to optimize both its bidding strategy and the CPP operation, in the face of several uncertainties. Using MSSP, decisions can be determined sequentially with realization of the uncertainties over time. Furthermore, to ensure a global optimum, a mixed integer non-linear programming is transformed into mixed integer linear programming through three linearization steps. In a numerical simulation, the effectiveness of the proposed MSSP model is compared with that of a mean-value deterministic model based on a rolling horizon method. We also investigate the optimal strategy of a retailer by changing various input parameters and perform a sensitivity analysis to assess the impacts of different uncertain parameters on the retailer’s profit. Finally, the effect of the energy storage system on the proposed optimization problem is investigated.