Abstract Battery energy storage systems (BESSs) can play a key role in obtaining flexible power control and operation. Ensuring the profitability of the energy storage is the prerequisite to realize its reasonable applications in the power system. This paper establishes a bi-level optimal sizing of energy storage participating in demand management and energy arbitrage for industrial users. The BESS scheduling cycle and lifetime are considered in the optimization model. The proposed bi-level model is derived from a life-cycle economic analysis of energy storage based on the maximization of net profit over the entire life-cycle and profit over the scheduling cycle as upper- and lower-level objective functions, respectively. The Karush–Kuhn–Tucher (KKT) conditions are combined with a mixed-integer linear programming (MILP) approach to solve the optimization model. Case studies based on realistic industrial load data are used to validate the usefulness of the proposed method, with the simulation results confirming that the method can effectively improve the benefits of the energy storage system. Finally, the effect of the load characteristics and electricity price policies on the model results is analyzed.