Back to all meetings
Training 2026-04-30 · Kyle Bartlett public

Walmart CPFR Weekly Manual Data Update Walkthrough

Original: Walmart CPFR - Manual Update Process

Kyle Bartlett conducted a comprehensive walkthrough of the manual weekly data update process for the Walmart CPFR (Collaborative Planning, Forecasting, and Replenishment) Google Sheet with a group of trainees. The session covered every data source feeding the CPFR, moving left-to-right through color-coded tabs: RJW Summary (supply pipeline from RJW Transfer Sheet), three orange Supply Pipeline Report tabs (Pipeline Overview, Daily Chicago On Hand, Daily In Transit), three dark-blue PSI Report tabs (In-Stock, Historical Store Count, Sell-Out History), the 268-column light-blue Walmart weekly email data dump with its critical multi-sort step, Actual Orders from the Sell-In Data Report, Current/Last Week Forecast and QTD preservation, Last Week Root Cause Summary from QTD Forecast Raw Data filtered to Walmart customer ID 657, Process PO data pulled from Walmart Retail Link's Nova app, and finally the CPFR tab date entry and forecast week shift. The manual process exists as a fallback for when Apps Script automations fail or off-schedule updates are needed.

Chapters

8
1

Introduction and Overview of Manual Update Process

00:00:00 – 00:01:30

Kyle introduces the Walmart CPFR manual update process, explaining that automations via Apps Script normally handle weekly updates but trainees need to understand the manual process for troubleshooting or off-schedule updates. He outlines the left-to-right tab navigation approach, noting the CPFR tab is updated last.

Kyle Bartlett
2

RJW Summary Tab Update

00:01:30 – 00:04:30

Kyle demonstrates updating the RJW Summary tab by copying data from the RJW Transfer Sheet's Summary tab and pasting values using Shift+Command+V. He explains the tab shows supply pipeline data including SKU-level inventory at RJW, weekly forecasts, and units in transit from RFI to RJW.

Kyle Bartlett
3

Supply Pipeline Report Updates (Pipeline Overview, Daily Chicago On Hand, Daily In Transit)

00:04:30 – 00:09:30

Kyle walks through updating three orange-coded tabs from the Supply Pipeline Report: the weekly Pipeline Overview (a Monday morning BOH snapshot updated once per week), Daily Chicago On Hand from the WMS Daily tab, and Daily In Transit Detail. He warns trainees not to overwrite the formula-protected Column J in the In Transit tab and notes he has locked that column as a safeguard.

Kyle Bartlett
4

PSI Report Updates: In-Stock, Store Count, and Sell-Out History

00:09:30 – 00:15:30

Kyle covers the three dark-blue tabs updated from the Eufy team's PSI Report — In-Stock, Historical Store Count, and Sell-Out History — which are updated once per week, typically on Tuesdays. He notes that on this Wednesday the PSI data is still only updated through Week 15, but the Sell-Out History has been updated, and he demonstrates copying that data into the CPFR sheet, mentioning future plans to automate the pull directly from Alloy.

Kyle Bartlett
5

Weekly Walmart Email Data Dump Update and Sort

00:15:30 – 00:33:00

Kyle explains the light-blue teal section driven by Walmart's weekly email ladder plan (268 columns of sales forecast, in-stock rates, order history, etc.), demonstrating how to paste data from the email starting at Column M while preserving formula columns A through L. He then walks through a critical multi-sort step — sorting by Channel Type A-to-Z and then Last Week POS Z-to-A — to ensure Walmart Stores rows appear above Walmart.com rows so VLOOKUP/XLOOKUP formulas grab the correct store-level data.

Kyle Bartlett
6

Actual Orders, Forecast Tabs, Root Cause Summary, and QTD Updates

00:33:00 – 00:47:00

Kyle covers updating the Actual Orders tab from the Sell-In Data Report's Walmart Pivot, copying the Current Week Forecast to Last Week Forecast as hard-coded values before making changes, updating the Last Week Root Cause Summary from the QTD Forecast Raw Data file filtered to current week and Walmart customer ID 657, and copying Current Week QTD to Last Week QTD to preserve week-over-week comparison integrity.

Kyle Bartlett
7

Process PO Update via Walmart Retail Link Nova

00:47:00 – 01:03:00

Kyle demonstrates downloading Walmart's purchase order data from the Nova app on Walmart Retail Link, filtering by supplier ID and current week order create date, and verifying that today's orders are included by running a secondary check filtered to the current date. He then creates a pivot table from the downloaded file to sum ordered units by SKU and pastes the results into the Process PO tab, which uses a formula to project the full-week order quantity based on how many ordering days have elapsed.

Kyle Bartlett
8

CPFR Tab Final Update: Date Entry and Forecast Week Shift

01:03:00 – 01:29:00

Kyle completes the update by returning to the main CPFR tab, entering the current week's Monday date (4/27) to shift all formula-driven data to Week 17, then filtering to Row 24 (Sell-In Forecast) and copying all SKU forecast values one column to the left so hard-coded forecasts align correctly with the new current week. He explains this prevents erroneous week-over-week deltas and notes a zero delta is the expected result after a clean shift, flagging one expected variance due to a mid-week NPI SKU change.

Kyle Bartlett

Key Takeaways

  • Always update tabs left-to-right, saving the main CPFR tab for last; the date entry in the CPFR tab (using Monday's date, never Sunday) triggers a formula-driven week shift across all columns.
  • When pasting Walmart email data dump into the weekly received email tab, start at Column M to preserve formula-protected Columns A–L, then immediately perform a two-level sort: Channel Type A-to-Z first, then Last Week POS Z-to-A, so VLOOKUP/XLOOKUP formulas grab Walmart Stores rows instead of Walmart.com rows.
  • Column J in the Daily In Transit tab contains formulas used by other tabs and must never be overwritten; Kyle has locked the column as a safeguard but trainees should still be aware.
  • Before making any forecast changes each week, copy Current Week Forecast to Last Week Forecast (values only, Shift+Command+V) and Current Week QTD to Last Week QTD to preserve hard-coded week-over-week comparison integrity.
  • Process PO data must be pulled from Nova on Walmart Retail Link, filtered by supplier ID and current-week order create date, then verified with a secondary same-day filter to confirm today's orders are included before building a pivot table by SKU and pasting into the Process PO tab.
  • After shifting the CPFR date to the new week, filter to Row 24 (Sell-In Forecast) and copy all SKU forecast values one column to the left; a zero week-over-week delta after the shift is the expected clean result.
  • PSI Report tabs (In-Stock, Historical Store Count, Sell-Out History) are updated by the Eufy team, typically on Tuesdays; check all three independently as they may be updated at different times, and pull directly from Alloy as a fallback if needed.

FAQ

Why do we need to learn the manual process if automations via Apps Script already handle the weekly updates?

The manual process is necessary for troubleshooting when automations fail, for making updates outside the normal schedule, and to ensure you can verify on your own that everything has been updated correctly.

00:00:03

Why can't you paste data starting at Column A in the weekly received email tab?

Columns A through L are formula-based and must not be overridden. You always start pasting the Walmart email data dump at Column M to preserve those formulas. You can verify formula locations using Control+Tilde on a Mac.

00:17:27

Why do we need to sort the weekly email data by Channel Type A-to-Z and then Last Week POS Z-to-A?

The data includes both Walmart Stores and Walmart.com rows per SKU. The CPFR formulas use VLOOKUPs and XLOOKUPs that always grab the first matching row. If a Walmart.com row appears above a Walmart Stores row, the formula will pull .com data instead of store data. Sorting Channel Type A-to-Z pushes all Stores rows above .com rows, and sorting by Last Week POS Z-to-A then orders SKUs by top sellers within each channel.

00:23:03

Why do we enter the Monday date instead of Sunday when updating the CPFR tab, even though weeks technically start on Sunday?

If a Sunday date is entered, some formulas don't shift correctly and still read it as the previous week. Using Monday's date (or any later day in the week) ensures all formula-driven data shifts properly to the new current week.

01:03:48

How do we verify that today's orders are actually included when we pull the Process PO data from Nova?

After running the current-week search in Nova, run a second advanced search filtered to the current date only. If today's orders have been processed, results will appear. If the system hasn't updated yet (typically happens around 11 AM Central / 9 AM Pacific), it will return nothing, meaning you should wait and rerun later.

00:53:49

Why is the Sell-In Forecast (Row 24) hard-coded rather than formula-driven?

The forecast is intentionally hard-coded so it doesn't automatically change due to data fluctuations like an un-updated sell-out report or an anomalous week (e.g., a big snowstorm). This gives the planner explicit control. Because it's hard-coded, when the week shifts, you must manually copy all forecast values one column to the left so they align with the new current week.

01:06:28

What should the week-over-week forecast delta show after completing the CPFR date shift and forecast copy-left step?

It should show zero delta across all SKUs. A zero delta confirms the shift was done cleanly. Any non-zero variance indicates either a legitimate forecast change or an error. This week, one expected non-zero variance exists due to a mid-week NPI SKU change made between forecast submissions.

01:09:31

Action Items

  • {'task': "Investigate setting up an automated pull of In-Stock, Historical Store Count, and Sell-Out History data directly from Alloy so the team is no longer dependent on the Eufy team's PSI Report update timing.", 'owner': 'Kyle Bartlett', 'due': 'Future / TBD'}
  • {'task': "Pull In-Stock and Historical Store Count data manually from Alloy for the current update session, since the Eufy team's PSI Report is only updated through Week 15 as of this Wednesday.", 'owner': 'Kyle Bartlett', 'due': 'Same day (2026-04-29)'}
  • {'task': 'Re-record or edit the CPFR tab update segment of the training video to remove the portion with unwanted notifications appearing on screen.', 'owner': 'Kyle Bartlett', 'due': 'TBD'}