With the boom of online retail sales, retailers strive to leverage their store network more and more along with their dedicated warehouses to fulfill online demand and control fulfillment cost. Traditional e-com fulfillment systems select candidate nodes from the network based on simple rules such as minimal distance without taking into account fulfillment load and other practical constraints. This naïve logic can induce uneven load across the network and potentially result in more node backlog, longer fulfillment time and more cancelled orders at later stages, especially during peak times. These negative consequences eventually lead to increase fulfillment cost. We have developed a data-driven capacity utilization model which can balance the load across the network while trading off the shipping cost. Simulation experiments on real production data demonstrated the effectiveness of the proposed solution.