English

An Optimistic-Robust Approach for Dynamic Positioning of Omnichannel Inventories

Optimization and Control 2025-04-02 v2 Artificial Intelligence

Abstract

We introduce a new class of data-driven and distribution-free optimistic-robust bimodal inventory optimization (BIO) strategy to effectively allocate inventory across a retail chain to meet time-varying, uncertain omnichannel demand. The bimodal nature of BIO stems from its ability to balance downside risk, as in traditional Robust Optimization (RO), which focuses on worst-case adversarial demand, with upside potential to enhance average-case performance. This enables BIO to remain as resilient as RO while capturing benefits that would otherwise be lost due to endogenous outliers. Omnichannel inventory planning provides a suitable problem setting for analyzing the effectiveness of BIO's bimodal strategy in managing the tradeoff between lost sales at stores and cross-channel e-commerce fulfillment costs, factors that are inherently asymmetric due to channel-specific behaviors. We provide structural insights about the BIO solution and how it can be tuned to achieve a preferred tradeoff between robustness and the average-case performance. Using a real-world dataset from a large American omnichannel retail chain, a business value assessment during a peak period indicates that BIO outperforms pure RO by 27% in terms of realized average profitability and surpasses other competitive baselines under imperfect distributional information by over 10%. This demonstrates that BIO provides a novel, data-driven, and distribution-free alternative to traditional RO that achieves strong average performance while carefully balancing robustness.

Keywords

Cite

@article{arxiv.2310.12183,
  title  = {An Optimistic-Robust Approach for Dynamic Positioning of Omnichannel Inventories},
  author = {Pavithra Harsha and Shivaram Subramanian and Ali Koc and Mahesh Ramakrishna and Brian Quanz and Dhruv Shah and Chandra Narayanaswami},
  journal= {arXiv preprint arXiv:2310.12183},
  year   = {2025}
}