Skip to main content
Workforce LibreTexts

2.1.1: Case Study- Walmart - The 100,000 T-Shirts

  • Page ID
    48638
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\ket}[1]{\left| #1 \right>}\)
    \(\newcommand{\bra}[1]{\left< #1 \right|}\)
    \(\newcommand{\braket}[2]{\left< #1 \vphantom{#2} \right| \left. #2 \vphantom{#1} \right>}\)
    \(\newcommand{\braopket}[3]{\left< #1 \vphantom{#2}\vphantom{#3} \right| #2 \vphantom{#1}\vphantom{#3} \left| #3 \vphantom{#1}\vphantom{#2} \right>}\)
    \(\newcommand{\qmvec}[1]{\mathbf{\vec{#1}}}\)
    \(\newcommand{\op}[1]{\hat{\mathbf{#1}}}\)
    \(\newcommand{\expect}[1]{\langle #1 \rangle}\)
    \(\newcommand{\dfn}[1]{\emph{\textbf{#1}}}\)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    How Walmart Outsourced a Commodity—and Engineered a Global Procurement Machine

    The fluorescent lights buzzed faintly in the 5th floor of Walmart’s Global Sourcing office in Shenzhen. It was just after 8:00 AM, and the room smelled like instant coffee and anticipation.

    Jin Yao, a regional sourcing coordinator, leaned over her laptop, watching a line of numbers flicker and shift on the screen. Across the office, her manager, David, stood by the whiteboard where the day’s target was written in marker:
    “100K Units – Men’s Cotton/Poly Blend Tee – Target FOB: $1.97”

    They had 11 pre-qualified manufacturers dialed in across China, Bangladesh, and Vietnam—each with open access to the reverse auction platform Walmart had spent two years refining.

    The T-shirt itself was simple. A blend of 60% cotton, 40% polyester. Crew neck. Four SKUs based on color, three standard sizes, double-stitched. Nothing fancy—but it had to feel good, wash well, and ship on time. And Walmart needed 100,000 of them in stores across the U.S. in six weeks.

    But today wasn’t about fabric or fashion.
    Today was about sourcing at scale—and squeezing pennies without snapping the elastic.

    The Reverse Auction Begins

    At 8:15 AM, the bidding window opened. From Hanoi to Guangzhou, factory managers logged into the secure portal and began adjusting their prices in real time.

    The rules were simple:

    Jin watched the bids drop.

    $2.06.
    $2.01.
    $1.99.
    Then, with three minutes left:
    $1.968—just below Walmart’s internal target.

    “Looks like Yunnan Textiles is in the lead,” David murmured. “But let’s see if Shandong tries to undercut at the buzzer.”

    What Made This Work

    This wasn’t just about picking the lowest bidder. That’s a mistake rookie buyers make.

    Instead, Jin and David had already:

    Each supplier was bidding not just on price, but on the full scope of deliverables. Walmart’s expectations were non-negotiable. The price, however, was up for war.

    “It’s not about racing to the bottom,” David had explained to a group of interns the week before.
    “It’s about finding the right partner who can meet standards—and win efficiently.”

    Post-Auction (The Real Work Begins)

    By 8:36 AM, the auction closed. Yunnan Textiles had won with a final bid of $1.964 per unit FOB (freight on board), shaving nearly $6,000 from the cost compared to the highest initial bid.

    But now the countdown clock started:

    Jin wasn’t celebrating. She was already emailing Yunnan’s quality liaison to confirm shipment staging at Ningbo Port and verify container availability. One missed vessel could throw off Walmart’s nationwide promotion calendar.

    Meanwhile, in Arkansas, a team of merchandisers was finalizing signage and floor placement strategies for the June “Basics Blowout” event. They had no idea how many systems, people, and documents had already moved to make those $1.97 T-shirts happen.

    The Project Manager’s Role

    Walmart’s sourcing team doesn’t sew. They don’t even visit the factory anymore—much of the auditing is third-party, and site visits are rare unless a red flag is raised.

    But project managers like Jin manage everything else:

    They don’t choose the color of the shirt. But they own the result—in-store, on time, under cost.

    The Risks Behind the Savings

    Reverse auctions are powerful. But they carry risk:

    To mitigate this, Walmart builds in:

    The cost savings are real. But the system only works because the controls are tighter than the stitches on the shirts themselves.

    Lessons for Practicum Leaders

    This isn’t just about fashion.

    It’s a vivid look at how:

    Walmart didn’t outsource production to avoid work.
    They outsourced to specialize—so they could focus on designing systems instead of stitching shirts.


    This page titled 2.1.1: Case Study- Walmart - The 100,000 T-Shirts was last modified on Wed, 02 Sep 2026 04:37:44 GMT and is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Sukhjit "Bob" Singh.