Version 10.0
Global PPV: one application, a lane per region
Current
The workspace becomes a global reporting and forecasting application. Americas and EMEA are separate lanes inside it rather than one blended view, because each carries its own categories, plants and currencies. Americas is unchanged. The spreadsheet, the drill and the forecast tables are being rebuilt on one grid so a figure behaves the same wherever it is read.
- The Data Warehouse page is the front door. The application opens on it, behind the landing field that offers the other pages as doors. Its header states the lane, how many sources are loaded, the actuals they cover and whether the model is built. Below that the tables are drawn as the catalog: a card for each with how complete it is, the joins between them, and what each one feeds. A file is added with the upload button beside the title or by dropping it on the canvas, and Begin builds the model.
- P9 vs P8 checked against its package. Drop the close-pair package (P9 x P8.package.json) beside the close file and Reporting's source line says whether the sheet agrees with it on every cell. Its link opens a page comparing the package with the hand-built three-block workbook: how many cells are the same to the cent, how many distinct cells those differences cover, every difference with its cause, and what the comparison leaves out. No figure on the sheet changes.
- The EMEA sheet reads like the Americas sheet. Its cells take the same shading (larger amounts wash stronger, quarters and year to date on their own tint), and a double-click on any value opens the Data Model on exactly the rows behind it: that category, those months, that subregion.
- EMEA keeps its own category names. Where two spellings of one category are merged (EMEA's "Others" and the Americas' "Other"), EMEA's sheet and charts show the name EMEA's file uses. The merge itself is unchanged, and the name stays after a reload.
- Rows with no category are charted. On Analytics they were left out of the category charts while the headline totals counted them, so the bars did not add up to Total PPV. They now chart as "(no category)", the Reporting sheet's own label, and can be pressed like any category.
- More headline numbers on Analytics. The top of PPV & Spend carries what Qlik's purchasing screen opens on: Total Spend, Total PPV, Spend at Standard and PPV % of Standard on one row, and Suppliers, Vendors Driving 80% of Spend and Items on the next. Amounts stay in full dollars. Suppliers leaves out the adjustment lines that are not suppliers.
- The Supplier Risk map reads cleanly. Its captions are dark enough to read, favorable and unfavorable sit level beside the axis instead of turned on their side, the largest single-source suppliers are named in full, and the small "in view" map shows only once you zoom in, where it used to cover the largest supplier's bubble.
- Where and when, on Analytics. A new row under the totals: by subregion (by plant on EMEA), each with its spend, PPV and PPV as a percentage of spend at standard; and by month, spend above and PPV below on one row of months. Press a subregion or a month to filter the page by it, press again to release; it is the page's own filter, so its chip and Reset work as usual. Chart figures now keep three significant figures ($1.02B, not $1B).
- Category and vendor charts read cleanly. On Analytics, spend and PPV by category are horizontal bars: each category on its own line in its own spelling, its value on the bar, and both charts in spend order so one row reads straight across. The vendor charts below follow the same rules, vendor names in their own spelling and full, and their captions no longer cut off. Labels paint at the size they are set to.
- EMEA actuals by month. On the EMEA lane, Reporting shows EMEA's own actuals: a row per L2 Category, a column per month, the quarters to date and the year to date, in $000s. Subregion narrows it to one subregion, and a line above the sheet names any month carried by fewer source systems than the others. Begin opens on this sheet rather than on a page EMEA does not have yet. Analytics names EMEA's categories as L2, and a file with no Americas rows shows no close control. Where no row is flagged copper, Analytics and the sheet say nothing was left out as copper instead of reading ex-copper.
- The Data Model is a sheet. It opens as a page beside the rail, and its ribbon no longer carries the pivot wells, the measure pill, Watch or Saved analyses, so the sheet runs the full width. Grouping by a field stays in the Bench's isolated-rows workspace.
- Fewer popups. A block's full screen, the accounting adjustments and their paste, a cell's details (double-click any sheet value), Import forecast, the full change log, the FCCS load view, the close review the Lock step opens, and the Statement of Operations preview open as pages beside the rail, named on the breadcrumb; press the name before it, or Esc, to go back. A weekly comment, and a change's detail, revert, edit and undo, dock over the right edge and the page stays in view. While a page is open the region bar does not switch lanes. Esc now closes the Statement of Operations preview too. More surfaces follow the same way.
- Easier to read. Words that were too faint in the FCCS load view and in a cell's details are darker, and the change log's column names sit over their columns.
- Esc works again outside Analytics. After visiting an Analytics board, the next Esc anywhere in the app was taken by that board and did nothing where you pressed it. It now only acts on the Analytics page.
- The weekly comes from the warehouse. One press on the Data Warehouse page loads every Weekly POV package the weekly engine wrote, each checked against the hash its publisher recorded: the weeks, the rebuilt Mondays and the history runs. Weekly PPV Reporting then shows the engine's own cells, names the package and the book it was tied against, says how many week cells tied to the cent, and can put another week under the open one. With no package loaded it computes the week from the spend rows and says so.
- The Gaps cause gets the width. The other columns shrink to what they hold, so the table no longer scrolls sideways at 1440. Each part of a cause is one line with its amount, and pressing the cause, or Enter on it, opens every part's full text and evidence under the line.
- No grey or tan bands on the forecast sheets. In the dark theme the block band, the Actual, Forecast and Quarters headers, the section rows and the total label sit on the darkest ground. Forecast and Quarters keep the faint wash their cells carry.
- The weekly report is the same sheet as the forecast. Gridlines instead of spaced tiles, with the same dark bands.
- Every Gaps line carries a status. Explained by a named cause, immaterial under the thousand-dollar threshold, or unexplained. A close file with an unexplained line of a thousand dollars or more is refused before it reaches the page. The header shows the tie on one strip and the lines by status on another, one table per status, and Export Rows carries Status and Cause.
- The close comes from the warehouse. One press on the Data Warehouse page loads every published close file from the local service, each checked against the hash its builder recorded, and every sheet says where its close came from.
- Export Workbook. One Excel file from AMER Total or any subregion tab, with AMER Total and each subregion on its own tab.
- A Gaps tab under Reporting. With a close file loaded, every actual cell where the filed close differs from the spend data plus the adjustments file, and no row of that file accounts for it, is listed in the spend data's own field names. Each line opens every sheet it lands on with the cell outlined, a cell that two sets of rows could each explain is listed with the count, and Export Rows writes the lines to Excel.
- The close package stays on the close file. With a close file loaded, the Executive Summary, Drivers and What Changed are skipped and named on the Cover, and the Cover's Total PPV Other FY is the close file's own.
- The Data Warehouse finds and pulls anything. Search any table or column from the command palette by its name or the team's own term, open its rows, filter with chips, pick columns, sort, copy, or export to CSV and Excel. Each source states its last load, rows, periods covered, and any subregion and period with no rows.
- The forecast sheet reads a close file. Drop a close file on the landing page and the AMER Total and subregion sheets show the filed actuals and both forecasts with no spend file loaded. It stays after a reload. The AMER Totals blocks sit under the category blocks on the AMER Total sheet.
- Exports and the FCCS load read the close file. The forecast workbook, the Close & Load package pages and the FCCS load carry the close file's figures, checked by opening every workbook. A report built from the spend rows says so on its tab.
- A lane per region. A lane is not a filter. It carries the region's own category rule, its own grain and its own deliverables.
- Renamed. Version 9.1 shipped as the Finance and Procurement Workspace. The release history below keeps that name where it was earned.
- The forecast tables are one sheet. The blocks stack on one sheet that scrolls as one, with three blank rows between blocks instead of three separate cards. Each block opens with a band stating its full-year figure, its actuals to date and its remaining forecast, in $000s, and the B/(W) band names the category that moved most in each direction. No figure, row or column moved.
- Every page says which lane it serves. On EMEA or APAC, PPV Forecasting, Reporting and Close & Load now say in one line that they are built for the Americas lane, with a way back, instead of showing Americas figures under another lane's name. Starting a close is refused off the Americas lane.
- The region bar is the one region control. Reset, saved views and the PPV Forecasting region menu follow it. The dashboard's Region buttons are gone, and a file with a single region shows it as one pill.
- A file without a Facility Region column builds the Americas close from its Americas systems. Version 9.1 read Subregion as the region and left that close empty.
- Rows without a Facility Region, including accounting adjustments, reach the forecast. EMEA and APAC keep their own categories through a Category Lookups reload and when a workspace saved by an earlier build opens. A close locked earlier replays its FP&A tabs, base rows and export exactly as locked; its Weekly tab and Forecast Bench read the live rows, as in Version 9.1. The upload check splits rows with no category by region, names the rows in no region once, and says how many adjustment rows enter the forecast.
- Example amounts are invented. The Assumptions empty state and the adjustments paste example show an invented amount in the format they describe.
- The top bar holds at every width. On a page not built for the lane, the trail names the lane, and it shortens rather than push the profile off the window. Close Readiness says it is built for the Americas lane, like the other close pages.
- A landing. A returning session opens on the Global PPV mark over a drifting particle field, with every page offered as a door. The v9.1 corridor is gone. Escape returns to the last page used, and a first run still opens the Data Warehouse.
Version 9.1
The Americas build
This version ships in dated updates rather than one drop. Newest first; each entry is one change and what it does.
Sep 7The slim adjustments file loads
- An adjustments file in the P9 slim shape now joins the model. The P9-cycle adjustments arrive with about twenty named columns instead of the full spend set, and the upload used to refuse the whole batch over the missing ones. Adjustment columns now pair by name; a model column the file does not carry stays blank on its rows, exactly as a full-shape adjustments row leaves it; file columns the model has no home for are dropped and named in the notice. Ambiguous headers are still refused — guessing an order is how columns cross-wire.
Aug 28A close counts before it is locked
- A draft close now supplies the prior forecast. Every B/(W) used to compare this month against last month’s bare run rate until somebody locked the prior close, so an imported forecast could not show up in a comparison at all. June’s Final rolls forward as July’s baseline the moment it exists. The Open PO lane stays out of a draft prior on purpose: an unlocked close has no snapshot of the PO book, and folding today’s book onto last month’s vintage would be a comparison against a number nothing shows.
- Locking means one thing now: frozen, finished. It is no longer a gate on being counted. A locked close still replays its own penny-stable snapshot, and locking changes no figure on screen.
- One close, everyone shares. Closes are shared the moment they are made. The Share step, the “share this first” refusal before locking, and the private state are gone.
Aug 27Drivers filter and compile
- The every-identifier popup takes a filter. Type a vendor, item, or class; terms narrow together. The footer keeps summing every stream so the tie to the category row never moves.
- Tick identifiers, ship one summary line. Checkboxes on every row; the selection survives filtering and sorting, and one compiled entry lands on the High-Level Summary carrying the Σ of exactly the ticked rows.
Aug 27The close's record is called Changes
- "Changes & Audits" is now "Changes." The tab, the breadcrumb, the full log (now the Change Log and its export), and every caption that said "audited" now say what the surface holds: the close's changes, each with who, when, why, and a revert. Nothing about what is recorded moved.
Aug 27Pages grow to fit, panels resize by hand
- The Forecast Bench and the Actuals page grow downward to fit their content. The page scrolls; nothing is squeezed into the window anymore. Drag the small bar under either surface to set your own height (the table scrolls inside it again); double-click the bar to go back to grows-with-content.
- Actuals summary lines name the month and the forecast. Driver notes, the summary tray, and the High-Level Summary report all read "Jun actuals … P6 forecast …" — one vocabulary from the grid to the report. The three figures above the Actuals table now carry the same names as the columns under them.
- Open driver rows read as their own layer, and detail-window column headings sit exactly on their columns whatever your scroll-bar setting.
Aug 27One typeface on every machine
- IBM Plex Sans and IBM Plex Mono now ship inside the file. The app no longer borrows whatever the operating system has, so Mac and Windows render the same type, and the small chrome labels stop reading thin. No network involved; the fonts are embedded.
- The High-Level Summary picks its room. Four palettes above the document — Graphite, Paper, Warm, Cool — each checked for contrast on its own ground. Favorable stays green and unfavorable red in all four, the choice sticks per machine, and an ink you set from the formatting bar follows you between palettes.
Aug 27The run rate shows its construction
- Hover or click Qty/wk or Unit PPV on the cell details Run Rate page: the three trailing months with bars, the divide by 13, the price-basis month at four decimals, and a tie line back to the row's own $/wk. A Special Items stream shows the substituted price instead.
- Click pins the reveal; Esc closes it. The hover delay is a slider in Settings.
- These notes become a ledger. The current version reads as dated updates, one line per change, instead of one long drop.
- Rebates, Other Allocation, MUV/VAVE and Tie to FCCS never forecast themselves. The first two were already guarded; all four now are. These lines are typed at the category level, and a data row carrying quantity under one of these labels can no longer project a run rate into forecast months.
Aug 26Named by month, ranked by miss
- Every scenario label is month-first. The actuals side is named by its month (Jul Actuals); the forecast side by its scenario period (P7 Forecast, P7 B/(W)), because several forecasts of one month exist and the label must say which. The P-pair jargon is off the user surfaces.
- Driver grids open ranked by |B/(W)|, largest miss first, the sorted column marked. Both the cell details grid and the see-all popup.
- The close panel names the month it holds. A July close no longer reads August anywhere.
Aug 26Reference files behind one door
- Special Items, Open PO and the lookups are three spreadsheets behind one topbar door. Special Items ships built in, so special pricing works without an upload.
- The landing flies. A returning boot flies over the data model and arrives at the doors instead of opening on a form.
- The Home tab is the Data Warehouse. Same surface underneath, named for what it holds.
- Two tapes adjustment labels corrected against the real workbook; the instrument drops the old language.
Aug 26The close-week report, and Close & Load unchained
- The High-Level Summary ships on the Reporting tab: the close-week report, with comments that take a formatting bar.
- Close & Load downloads several packages in one pass, and the explanatory text around it is out.
- Lock is ceremonial. It marks a close complete and read-only; it is never an export gate. Close & Load works on an unlocked close.
- The adjustments overhaul: one panel, three verbs, every grain from a single cell to the L3 total.
Aug 25The Actuals tab, rebuilt
- Three columns that close: the month's actuals, the forecast it landed against, and B/(W), with the headline KPIs as those columns' totals.
- Cell details is one shared popup. Double-click any cell: KPIs, then every identifier behind the figure, sortable, filterable by a typed query, and switchable to the item-class grain procurement speaks. A fold row opens its whole category.
- The Bench is a dark island in both themes, and the lanes take their colors.
- The Open PO page ships in-app: the extract's lines, bookable at any grain.
- The navigator home: lane tiles and the month's read.
Aug 24One close control, and lock becomes a walk
- One close control in the chrome (region, vintage, state) replaces four doors: the File menu pickers, both Time Machines and the Scenario Manager overlay. Its panel carries identity, presence, vintage, actions and the closes list.
- Lock opens a stepper. The month's material unexplained B/(W), walked one category at a time: the movers computed with their evidence, a bridge assignment, a driver note, an explicit residual, and the month's assembled story at the end. All three lock doors route through it.
- Opening with data lands on Actuals; the Bench is one click.
- Edge cases say what happened: closing the lookups sheet over pending edits names what was discarded; moving a booked Open PO line states the booking stays behind; the pivot's footer describes the pivot.
Aug 20The 9.1 cut: removals and cleanup
- PPV Forecasting opens on the Forecast Bench. The Overview tab is gone; the close's workflow rail and the Before-you-lock checklist move to the Changes tab beside the full change history, the checkpoints, the Forecast / Actuals / Assumptions filter and per-change revert.
- Right-click, Open in Data Model works everywhere: every vendor list, every second-tier tile, the Supplier Risk map and the Close Readiness categories, and any chart added later inherits it.
- The Open PO workbench regroups and ranks by money; the lookups are a full-screen sheet you correct in place; the data stream is a true Data Model preview with a pivot.
- Open purchase orders book a cell at a time. The lane-wide book-all and reference-all are gone; Nothing / Every line inside the per-cell workbench is unchanged.
- Accounting adjustments is a labelled block with a row count, present before anything is loaded, with Paste adjustments in the panel it opens.
- The working-files folder is a list of files. Click a row to open it; each row carries New from… .
- Less writing on the screen. Thirteen explanatory lines gone or shortened. What a number is, and what it is not, still gets said.
- Also gone: the Reporting chrome's export button, the Variance Drivers tab, the in-app tutorial's two doors, the version-pill settings, the + New close button and the copper dropdown off the forecasting chrome (both live on in the File menu, the cockpit and the filters).
Version 9.0
The data model and the FCCS load
Power Analyst is renamed the data model. This cut also closes out the load work: the app now writes the FCCS load workbook itself.
- The app produces the FCCS load workbook. Anthony's template rides inside the app byte for byte. Export writes the locked close's numbers into it, derives the scenario cell from the close so it can never be left on last month, and refuses loudly rather than dropping anything silently. The assumptions in force are printed on the load view, and every export's audit entry records exactly which were live when the file was made.
- The MUV workbook exports too. Its template stays on your machine only. The app patches the MUV line and the scenario; everything else in the file, including the macros, passes through untouched.
- Recipe shares on price moves. A class price change can apply to a share of the class, so a compound that is half PVC takes half a PVC move. The share rides the adjustment record.
- Adjust actuals inside the data model. The full-screen data model has an Edit control. Turn it on and every row gains Adjust and Exclude, the instrument takes an amber edge so you can see at a glance that you are in a grid that writes, and the control names the close your changes land in. Every change still carries your name, the time and a reason, and shows up in the close's history exactly like a forecast adjustment. If there is no close open, or the one you are on is locked, the control says so rather than doing nothing. In edit mode you can also double-click any cell to change that one field, add a row to the close, and open the component editor where quantity and unit costs derive the booked figure. The status bar counts the rows you have added and lists them, each revertable, and a Rows control narrows the grid to what this close has adjusted, or to what it has not. The close's change history now filters too, so you can read the actuals adjustments, the forecast overrides or the assumptions on their own. It only narrows the list you are reading: the timeline, the checkpoints, Revert-to-here and the full audit log all still cover everything. With all of that in the data model, the Actuals Editor subtab is gone: every route that used to open it, including the Actuals step in the close cockpit, now opens the data model in edit mode. The accounting adjustments card, and the Paste adjustments button on it, moved to the Overview beside the rest of the close.
- Every way of opening a close now behaves the same way. The ribbon selector, both Time Machines, + New, the FP&A picker, the command palette, the topbar chip, Close & Load, the workflow rail, the Scenario Manager and the File menu all open a close through one path. So the Time Machine always follows the close you opened, FP&A and Procurement can no longer sit on two different vintages of the same close, a comparison never stays armed against a close it was not measured against, and a close you deliberately closed stays closed when you navigate away. Branching from the Scenario Manager also keeps the name you typed and the vintage it came from, instead of being renamed behind your back.
- Power Analyst is now the data model. The name on every door, menu and title. The same engine underneath.
- Derived columns and the formula bar. Type an expression over the row's own fields, press Add column, and the grid grows a live computed column that recalculates from the model on every render. It filters, sorts, copies and exports like any other column, rides tabs and saved views, and a field the source lacks says so instead of going blank. The expression language is ours: fields, arithmetic, IF, four functions, nothing else.
- The creator, opened on the monthly close pack. Close & Load gains a composer: a package is a list of pages, and Build writes one workbook from the locked close in one click. Cover with the verdict and tie-outs, the FP&A three-block, Weekly PPV, the Statement of Ops, and the FCCS load summary. A page that cannot build is skipped and stated on the cover, never silently.
Version 8.4
The forecast, the way Procurement builds it
Built from the 3 August walkthrough with Jorge, Kevin, Jay and Anthony. The forecast now works in the grain Procurement thinks in, which is the item class and the commodity behind it, not an identifier the app made up to join its own data. Open purchase orders step back to being a reference. Special prices stop sitting in a lane of their own and go where they belong, inside the run rate.
- Adjust an item class, not an identifier. Open a category on the Forecast Bench and every row is now an item class, PVC and polypropylene and the rest, with the line items folded behind it. Pricing moves across a commodity, so that is the row you change. The identifier is gone from the view. Expand a class when you want to see the line items that build it up, which stay read only.
- Move a price by a percent, with buttons. Put a class up or down by a percentage and the app works out the forecast effect from every line in that class, using each line's own price and volume. You never type a dollar figure. It applies from the month you are on through December by default, because a price move usually holds, and you can turn that off for a single month.
- Set the number outright. Either a whole category or a single item class, whichever you mean. The number you type is the number the row reads. That holds even when the file import or a class adjustment has already moved the same cell, which was not true before.
- Open purchase orders are a reference again. They no longer book a lane of their own, so the run rate covers every item number the way your file does. Nothing is lost. The purchase order detail is still there to read, and one switch on the Bench puts the lane back if you want to run it both ways and compare.
- Special prices live in the run rate. They used to appear under Adjustments, which read as though somebody had edited the forecast by hand. A special price is the price the run rate should have used, so it is applied there and the Run rate lane shows the corrected figure. Adjustments is now your team's edits and nothing else. Double click a cell to see which prices were substituted.
- Every change still carries a reason. A driver and a note, per adjustment, into the audit trail, and a price change now defaults to the price reason instead of the first one in the list.
Not yet built, and worth saying: a compound that is only half PVC still takes the full percentage. Recipe percentages are a level of detail the app does not carry, so enter the share you actually mean until it does.
Version 8.3
The spreadsheet, and charts that answer the question
Data Streams stops being a popup with a table in it and becomes the thing the work actually happens in: a full screen spreadsheet with its own row and column indexes, tabs across the top, and a field list that tells you what is in a field before you use it. The charts gained seven treatments they did not have. And every board now says out loud what it is showing you.
- There is no view switch any more. Rows and Analyze were two modes you had to choose between. They were always the same thing: put a field in Rows and the grid groups by it, take it out and you are back at the line items. One surface, one control.
- Row numbers and column letters. The grid is addressable, so a selection can be named out loud. Both stay pinned while you scroll, and neither is selectable, so copying and summing are unaffected.
- Tabs. Several analyses open at once, each keeping its own filters, grouping, measure and sort. Switching between them is instant and nothing is lost.
- A field list that knows the answer. Every field shows how many distinct values it holds in what you are currently looking at, and a field with nothing in it is greyed out. You cannot point a chart or a pivot at something empty and get a confident blank.
- The readout moved under the grid. Eight tiles used to sit above the data and push it down. They are a status bar now, where a spreadsheet has always put its totals, and the selection count and sum join them.
- Seven new chart treatments. Pareto with a real cumulative curve, a heat map, small multiples on a shared scale, a price spread on a log axis, a signed split, a bridge, and a risk map with its quadrants named. Pick one per chart. Where a treatment ignores the field you chose, it says so instead of pretending.
- Every board states its scope. A line above the data reads how many rows you are looking at, which filters are inherited, and what you have clicked, with a way to clear it. It is never collapsed and never blank.
- Two fonts, one ground. A third typeface was loading and rendering; it is gone. Three near identical dark greys were fighting over the same level; they are one. Hover is neutral again, so the accent means selected and nothing else.
- Variance Drivers answers its own question. A line at the top says how much of the month sits in a few categories you can name, and how much is spread thin. A diffuse month says so.
- Fixes worth naming. Escape no longer closes the whole window from under an open menu. The button that opens a chart’s settings is no longer covered by the strip that appears when you reach for it. Weekly’s numbers line up. A saved analysis now states everything it holds, and admits when it was saved before filters and sorts were stored.
Version 8.2
One language, everywhere
The workspace stops looking like a stack of boxes and starts looking like one product. The navigation rail was already right, so its rules now run the whole application, on a calm graphite ground borrowed from the tools you already work in. Nothing about what the numbers say changed.
- State is a fill, not a box. Selected things light up with a soft wash instead of being fenced off with a border. Filter bars, tiles, cards and chart frames lost their edges, and the space they were wasting went to the data.
- A new ground. The navy and violet are retired for a near neutral graphite in the family of a modern code editor. Every contrast pair was measured on the worst surface it can land on, not eyeballed.
- Colour means something again. Blue marks the thing you have selected and nothing else. Green and red are reserved for favourable and unfavourable, and that has not moved: both were measured in both themes, on the wash they actually sit on.
- One instrument. The data streams window used to be a dark island inside a lighter application, and a whole family of overrides existed to stop the two fighting. They are now one language at two depths, which removed the cause of several contrast problems rather than patching them.
- Light mode is a sibling, not a translation. The warm paper theme was built for a violet and gold application. Against graphite it read as a different product, so it was replaced.
- The home canvas fills its page. It used to be a small window onto a large model. It is now the page, and it still pans and fits to view.
Version 8.1
The chrome comes down and the numbers come up
A release driven end to end by watching someone use the application, fixing what was in the way rather than adding anything new. Every view now starts at the top, and several controls that looked alive turned out to be doing nothing at all.
- Content starts at the top. The bars above the data were cut hard across Analytics, the reports and the close. On the dashboard the first number moved from 342 pixels down the screen to 179. On Forecasting, 328 to 193.
- Buttons that only worked once. Export this board and Copy as image were rebound every time the board redrew, so they worked on first paint and then silently did nothing. They failed without an error, which is why they survived two sweeps.
- Two charts the app could not draw. Composition over time, and the bridge from run rate through open purchase orders and adjustments to the final number. Both used to mean exporting to Excel.
- Targeted adjustments. Change a price, a quantity or a rate across many lines at once, as one reviewable batch with one undo, rather than editing lines one at a time.
- A monthly roll forward. Start the next close from the last locked one. Every step is a real call, and a step only ticks after the thing it asserts has returned. A ceremony that finished is not a close that ties.
- A third tier in the pivot, and a straighter answer from Ask. Break a view down three levels, and when a question contains something the app cannot read, it says which part.
Version 8.0
The Power Analyst becomes an instrument
The biggest release the workspace has had. The drill stopped being a popup you opened off a number and became a tool you work in: it reads any of six data sources, it pivots, it answers a question typed in plain English, and it is one click from anywhere. Around it, every tab was renamed for where it takes you, the close gained a tie-out you can trust at a glance, and the exception list that used to live in your head now lives on the top bar.
- One engine, six sources. The Power Analyst used to read the Global Spend Data and nothing else. It now reads Open PO, Special Items, Tapes, the item class lookup and special pricing as well, through the same filters, funnels, sorts and column picker. A source it cannot edit says so instead of offering an Adjust column that could never do anything.
- Analyze, and the pivot. Group by one field, then a second, then a third. The default cut is the top eighty percent with the tail folded into one row that states its own count, so a long list never hides its own shape. Set a threshold and the members that breach it are tagged.
- Ask, in every search box. Type a question and get a real, tied out view rather than a guess. It reads values, periods, quarters, favourability, top N, thresholds and exclusions. What it cannot read it says out loud, and the reading it arrived at appears as breadcrumb steps you can drop, so a wrong answer is visible and correctable.
- Dashboard on Command. A board where every chart's dimension and measure swap from its own menu, you choose which members plot and in what order, and a sentence typed into the scope bar configures the whole board. A member you picked that has no rows plots at zero rather than vanishing.
- Right click anything, open it here. A value cell, a chart bar, a category. The drill opens scoped to exactly what you clicked.
- The flags feed. One list on the top bar of everything that actually needs a person: a failing tie-out, a checksum that drifted, a price conflict, a dropped purchase order, an anomaly with a vendor's name on it. Every flag clicks through to the thing that caused it. Expected states, like a parked forecast, are deliberately not flags.
- Named for where you go. The top nav reads Data Model, Analytics, PPV Forecasting, Reporting and Close and Load, and the close carries a persistent chip telling you which one you are in and a trail showing how you got there.
- An always-on tie-out. Green, amber or red on the cockpit header and the Forecast Bench. Amber means not yet checked, and it will never show green for a check that had nothing to look at.
- Home is a data model. The upload page became a canvas of the sources you have loaded, the fields inside them, and the joins between them, with every rule the app applies written out beside it.
- The Forecast Bench, deepened. Line item overrides, targeted adjustments that move one term of the run rate at a time, a monthly roll forward that runs the real close steps rather than ticking boxes, and a lane breakdown you can open on any cell.
- A version pill that lives. The pill drifts slowly through the colours the app is built on, and every release below wears the pill it actually shipped with, reading its own number.
Version 7.3
Tapes, and a bench you can open up
The tapes forecast that was rebuilt by hand every month now runs in the app, and the Forecast Bench becomes a five part workbench where every number opens the detail behind it.
- The tapes forecast is automated. Two suppliers hold our inventory and slit it for us, so their purchase price variance has to be backed into through an inventory roll forward instead of projected from a run rate. That whole schedule now runs in the app, and every figure on it shows the source it came from.
- The Forecast Bench is a five part workbench. Actuals, Run rate, Open PO, Adjustments and Final sit side by side over the same months, and any one of them collapses to its total the way an Excel outline does.
- Final equals Run rate plus Open PO plus Adjustments on every single cell. That is not reconciled after the fact, it is true by the way the three layers are built, so the FP and A totals cannot drift away from what the bench shows.
- Double click any number to see what is behind it. Actuals opens the posted rows and the data model. Run rate opens the projection math with the price basis named. Open PO opens the purchase order lines grouped by vendor, alongside the special pricing. Adjustments opens the edits with names against them. Final walks you from actuals through to the closing figure.
- Adjustments now means people. Every automated layer moved out of that column, so what is left in it is only what someone chose to change, with who changed it, when, and the reason they gave.
- Open purchase orders and special pricing sit together. Both are procurement telling us something about price that the spend data does not know yet, so they share a lane and share a detail view.
- Tapes opens its own way. Clicking a posted tapes month opens the whole year of actuals rather than the one month, because the balances carry forward and the schedule only reads in sequence. The month you clicked is marked.
- A locked close still opens. You can browse every drill on a finalized close and read how it was built, without being able to move it.
- Light mode is warm paper now. The application ground is a soft sand, and every table, chart, card and popup sits on parchment on top of it, including the pivot, the Forecast Bench, the Summary and the Statement of Operations, which used to stay dark. Gridlines read as a real gray instead of sand, the topbar is a light banner, and the controls sit on paper rather than picking up the ground. The Time Machine is a solid violet chip. Text, the purple, the gold, and the green and red all darkened so every figure reads clearly on the lighter page. Two things stay dark on purpose, the upload page and the Power Analyst drill, and they pop harder on the paper.
- Detail Analysis is one instrument on both tabs. The detail view now sits on the same terminal ground as the Power Analyst tab beside it, with a command crumb, a monospace readout, count tiles, and the source provenance shown as an always visible breakdown that sums to the number. The item class and vendor driver tree kept its exact shape.
Version 7.2
Inflation reporting and Open PO
Two of the last hand run schedules move into the app. The Inflation percent of revenue deck exports byte for byte like the finance version, and open purchase orders layer onto the run rate as a bridge item so the forecast finally reflects what is already on order.
- Inflation percent of revenue, as shipped. Load the four tab inputs, review and edit them in app, and export the standalone workbook. The output is byte for byte identical to the finance deck, formulas and formatting and all, so it drops straight into the corporate package.
- An Inflation report you can read in app. A new Inflation tab under Reports shows the output tables the way they export, alongside the inputs you can edit in place. The Non Cu metal inflation table moved here from the Statement of Operations, and the Statement of Operations now shows its bridge section in the same dark table.
- Open purchase orders on the forecast. Drop an Open PO extract and its purchase price variance layers on top of the run rate as a bridge item in the Forecast Bench and the FP&A totals, attributed by item class and subregion. It never changes the run rate math and never mixes into the spend data.
- No double counting. An item that has open purchase orders is forecast by those orders, not by the run rate, so its run rate projection is set aside and only its open orders count. Its history stays untouched.
- See what is in an adjustment. Click an Adjustments cell and it opens a breakdown of Open PO, Special Items, and Other Adjustments, each summing to the number, with the purchase order line detail underneath and past due orders called out.
- Locked closes stay put. Locking a close snapshots its Open PO layer, so a later upload never moves a number that was already signed off.
- Special Items pricing feeds the run rate. Upload the Special Items lookup from the forecast file and every identifier is checked against the spend data. Where the price differs, the run rate is rebuilt at the special price, so the number you read is the corrected one. The breakdown lists every substitution beside the price it replaced, and identifiers that are not in the spend data are reported rather than guessed.
- Special Items are settled before open orders. An open purchase order carries its expected cost from the same system as the spend data, so it can be just as stale. When a line has a special price for its month, the order is repriced at that price. Where the order already carries the special price nothing moves.
- Past due orders are no longer left out. An order due on or before the close month now folds into the first forecast month with a past due tag, because the shipment is still coming. Booking reads the calculated due period columns, so the stray dates in the raw due date column are ignored.
- Push and pull a shipment. Pick a vendor, tick the shipments, choose a month, and give a reason. The value moves out of one month and into the other, the move shows on the affected lines, and it can be undone. Every move is recorded with who made it and why, it survives a lock, and if a later upload no longer carries the line the move is dropped and reported instead of applied.
- An adjustment workstation. The Other Adjustments panel now shows what is already accounted for, then takes one or more adjustment layers, each with its own reason. The final total updates as you type, before anything is saved. Type the layers and read the final, or type the final and let the difference book itself.
- Line detail worth reading. The purchase order detail groups by vendor with the lines folded underneath, carries the purchase order number as a real field, and filters by item number, vendor, or purchase order. Quantities read in full and unit costs carry cents.
- Locked closes open read only. A signed off close now opens its Adjustments breakdown for browsing instead of turning you away.
Version 7.1
Forecast file import, the shared workspace, and the three block bench
The monthly forecast file imports straight onto a close, the workspace becomes something a team shares, and the Forecast Bench gets a clearer overview.
- Import the forecast file to the close. The Summary tab pasted as values attaches every line and month to the close you pick, ties each category to the finance final, and books the plug so the totals reconcile to the penny. A preview shows what matched, what was held out, and why, before anything commits.
- A shared workspace. The app becomes multi user over a shared folder. Everyone sees the same closes and changes, roles decide who can lock a final close, and presence shows who is online. Dataset upload is limited to the data admins.
- The three block bench. The Forecast Bench overview now reads Run rate, Adjustments, and Final over the same months, so the final is the run rate plus your adjustments by construction and the middle column is where edits are made.
- A notepad for the workspace. Store, search, and group every note in one place, and pull the notes for a selection of data streams.
- Browse a locked close. A finalized close is now fully browsable, read only, on every subtab.
- Run rate or locked close, on every view. A toggle switches the FP&A view between the live run rate and the locked close scenario.
Version 7.0
Forecast Bench and the workspace overhaul
Procurement gets its own workbench and the whole app gets calmer and more decisive. The Forecast Bench brings the monthly PPV forecast into the app at the line-item level, so Procurement owns the override and it flows straight into the FP&A close. Reconciliation folds into Procurement, the workspace moves to a left navigation rail, and every view now answers the question first.
- Forecast Bench. One row per purchasing line (system, vendor, item) with its run-rate inputs and forecast months. Override any line with a driver, or set the whole category total, and it rolls up into the FP&A group total with no double count. The subtotal ties back to the close.
- One Procurement workbench. Reconciliation is folded into Procurement. Summary, Forecast Bench, Drivers and Flags, Adjustments, and Changes and Audit all live in one tab now, and Close and Load moved up to its own tab.
- Override a total, then see what is behind it. Click a forecast total to set the final number and see the run-rate line items that make it up. Click a line to override just that one, or drill into the raw data, without leaving the popup.
- Adjustments file view. Drop in your adjustments export and its rows show up as a per-category summary you can click into, clearly marked as adjustments and kept apart from the manual ones.
- Import the forecast file. From the File menu, Import forecast file reads the Summary tab of the monthly forecast file, pasted as values, and attaches every line and forecast month to the close you pick as line-item overrides. A preview shows what matched, what was skipped and why, and how the file compares to the run-rate before anything commits. The whole import lands as one change: one audit entry, one dot on the timeline, one step to revert, and importing a newer file replaces the previous import. The Bench shows each line's Identifier in the same format as the file, so you can cross-reference by eye or VLOOKUP.
- Search the dashboard. Type a vendor, a category, or an item class into the Analytics search box and pick from the suggestions. Each pick filters the whole page exactly like clicking a bar, picks stack across fields, and every one becomes a chip you can remove. The dashboard now reads Procurement Spend and Purchase Price Variance and leads with the numbers.
- Notes on any number. Annotate a category total from its detail popup, or a single line item from the data drill, the way you would leave a comment in Excel. Noted cells carry a purple corner, hovering shows the note, every note records who wrote it and when, and notes travel with the workspace export.
- What makes up this number. Actual values in the detail popup carry a small question mark that splits the total into its source systems and the Accounting Adjustments, and the lines always sum to the number on screen.
- Accounting Adjustments by name. The uploaded adjustments file now reads Accounting Adjustments everywhere it appears, so the source of a number is never ambiguous.
- A leader-facing Summary and full change history. The Summary reads as a high-level view of the forecast and PPV, with a recent-changes log you can click into to revert or edit any change, and every override, adjustment, and revert is tracked with who made it, when, and why. Set who you are acting as, review your own line overrides grouped by driver before the close, and set a per-line unit price when a price change has not been booked yet.
- A side rail you navigate from. Every view is one click away on the left, with the active one marked in the bright Belden purple. The upload screen stays full width until your data loads, then the rail comes in. Hide the rail when you want the whole screen for a page and a quick nav appears in the top bar, with the same views one click away.
- Jump to anything. Press Ctrl K and type where you want to go. The top bar also shows where you are, and carries just the brand, your profile, and the tools.
- Answers first. The Procurement Summary opens with the verdict: the full year number, whether you are beating the prior close, and the two categories moving it most. The detail is one click below, not competing with the answer.
- One terminal language for data. The Summary categories now render in the same instrument table as the Forecast Bench, with the scope line, mono numerics, and corner ticks. The FP&A blocks keep their exact close anatomy and pick up the same flare.
- Drill without losing your place. Drilling a Summary category opens a side panel showing what makes up the forecast, the top vendors, and the line item streams, while the table stays on screen. The Forecast Bench remains the one place overrides are made, one click from the panel.
- Calmer everywhere. Purple is now a signal, not a button fill. Gradients, glows, and heavy shadows are retired across the landing, Analytics, FP&A, and Procurement, and every tint now matches the bright brand purple.
- A quieter ground. The gridline backdrop is gone from the data views, the chrome rows sit directly on the page instead of stacked boxes, and the scenario bar, scope controls, and vintage picker are plain chips. Content sections carry their own frames; the page around them stays still.
- A simpler front door. The upload screen is one quiet column: what to drop, where it landed, and Begin. Loaded files are plain rows with a check and a remove control.
- A loading screen that shows the app. Opening the workspace now draws an outline of the workspace itself filling in, with a stage line that tells you what is building. No progress bar, no guessing, and it can never strand you on the overlay.
- Built for Windows screens. Hairlines hold at standard resolution, secondary text gets a contrast bump for ordinary office monitors, scrollbars are quiet and themed, and nothing depends on a Retina display to look right.
- Same engine underneath. Same views, same math, the same close that ties to the penny.
Version 6.2
Atlas
A full visual refresh on the Atlas design. One data model that bridges spend across regions, with the raw data surfaces styled like a precision terminal. Same engine underneath, this one is about the look.
- Editorial, not decorated. The chrome calms down. Hairlines instead of boxes, one status line per card (favorable, unfavorable, locked, live), flat violet buttons with a thin ring and no gloss, and the aurora reading quietly through the glass.
- Atlas shell. A refreshed top bar, an underline grammar shared by tabs and subtabs, and a landing that opens on the shared-workspace hero with the three-region bridge.
- Terminal data surfaces. The Power Analyst drill, the isolated-rows tables, and the reconciliation grids get a mono, high-density readout look. Tabular numbers, tight rows, sign-colored cells, and a corner-tick frame, so the data reads like a trading terminal.
- Status vocabulary. A consistent set of pills, region dots, and function badges carries the workspace state across every view.
- Same engine underneath. Every calculation, close, forecast, export, and drill behaves exactly as it did before.
Version 6.1
Forecast overrides and exports
A working build on top of v6.0 that sharpens the FP&A forecast-override flow and the Excel export.
- Overridden forecasts export straight through. The FP&A export now writes a locked close's overridden forecast values right into the Excel cells, instead of falling back to the raw run-rate formula, so the file matches what the tab shows. Cells you did not touch keep their run-rate formula.
- Edit all periods. From any forecast-override cell, open Edit All Periods to change every forecast month for that stream in one table, saved together under a single note.
- Zero out. One click zeroes a single forecast cell, and Zero out all drops every month to $0.
- Per-period total and a cleaning adjustment. The overrides grid shows a total row for each period. Double-click a total to add a small statistical-discrepancy adjustment that folds into the total everywhere (grid, FP&A, AMER Totals, export) without showing up as its own line.
- Cents on overrides. Overrides keep two decimals for accuracy without forcing whole dollars. The display still rounds to thousands.
- Rounding fixed. A favorable figure like $(1,500) now rounds to $(2) in the thousands display, instead of the wrong way to $(1).
Version 6.0
The Power Analyst data model
v6.0 turns Power Analyst into an app-wide data engine. Many spend exports concatenate into one reconciled model. You drill it from anywhere, whether a dashboard tile, a forecast cell, or a weekly line, down to the exact rows behind the number, and you move, resize, and pin those windows however you like. The FP&A close ties to FCCS and freezes penny-stable, and the Power Analyst tab opens on an Analytics gallery of your dashboards.
- The Power Analyst data model. One governed, reconciled model sits behind every dashboard, forecast, and close deliverable. Isolate 200K or more rows down to the exact stream you mean, by click or by typed query, and drill it from any view: a dashboard tile, an FP&A cell, the Weekly grid, the Statement of Operations. Scope stays strict AMER with a per-view Copper toggle, and every isolated-rows workspace carries copyable metric tiles and Excel-style column filters.
- Upload concatenation. Drop in several Global Spend exports, period fragments plus an adjustments file, and they load as one model. Columns are matched by name in any order, every row is preserved, the CAD to USD book rate is re-derived at ingest, and the Forecast-L3 and L2 category grain is normalized so a fragment's spend never orphans into a stray bucket. Add another file later, even after Begin, and the whole app follows.
- Windows and stickies. Every detail and drill window moves, resizes, and minimizes to a bottom-left dock, or pins as a floating sticky so you can keep working behind it. Detail opens full-screen by default, any drill pane hides to the corner, and the dock keeps your open analyses one click away.
- Period-close scenarios and FCCS tie-out. Lock a reconciliation scenario to a close period and it freezes a penny-stable snapshot that the FP&A Time Machine replays forever, a true close-over-close comparison. On a locked period you can toggle to peek at the raw source data without adjustments and back, with a clear marker of which you are seeing.
- FP&A, sharpened. The variance block reads B/(W) the right way round (Better is positive and green). MUV/VAVE/Cost Avoidance and Tie to FCCS are real, populating Forecast-L3 lines. The AMER Totals get their own Current, Prior FCT, and B(W) three-block, with per-subregion totals plus MUV/VAVE and Tie to FCCS broken out. And a forecast override can be set by target total, where you type the number you want and the adjustment bridges itself.
- Reconciliation and SOO. Assumptions can be scoped to a single item class. Opening a new period close lets you pick which adjustments carry over from the prior close. And an L3's B/(W) can be split across several Statement-of-Operations bridge categories.
- Analytics gallery. The Power Analyst tab becomes Analytics and opens on a gallery of your dashboards, each a live, fit-to-window preview of the real widgets, with the original fixed PPV dashboard kept as the Original card.
- A new front door. The upload page leans into the aurora nebula, a drifting particle field converging on the glass box. A loaded model shows just its file name plus row and size behind a green ready-check. The version chip is reborn as Molten Carbon, a deep crimson ringed in platinum, and a settings gear can reduce the landing animation while the nebula keeps drifting.
Version 5.4
Circuit landing
A ground-up redesign of the upload page. The landing is now a single circuit: labeled file threads pour in from the page edges, the portal ingests them, a luminous bus collects beneath the dropzone, and delivery streams carry the model down to the capability columns, all under the drifting aurora.
- One living dataflow. a single canvas engine drives intake threads, comet packets, code flicker along the wires, a glowing bus under the portal, and three delivery streams that swell as they land on the capability cards. Dragging a file quickens the whole circuit; a loaded model lights it green.
- Two-part heading. the hero reads as a pair, Finance Procurement over Analyst Workspace, at near-equal weight.
- On-brand Begin. the Begin button trades the terminal-green treatment for the brand violet primary.
- Leaner page. the flow strip and the stat row are removed; six capability cards now carry the product story, each with its feature chips.
- Copy modernized. the lede, dropzone, and card copy are rewritten around one idea: many exports in, one reconciled model, every deliverable out.
- Motion-safe. under reduced motion the circuit renders once as a lit wiring diagram; the canvas pauses in hidden tabs and steps aside below 880px.
Version 5.3
Close and Load
Reconciliation’s Data Warehouse tab becomes Close & Load. It stays empty until you approve & lock a scenario, then turns into the control center for every close export, one place to ship the FP&A forecast, the Weekly PPV report, the Statement of Operations, and a reconciled Global Spend file, all reflecting the locked scenario’s adjustments.
- Locked-scenario gate, the tab shows nothing until the active scenario is approved & locked. Have a lock but nothing open? It offers one-click buttons to load any locked scenario; an active draft prompts you to approve it first.
- The close package at a glance, a hero banner names the locked scenario, who approved it and when, the source file, and its live impact: net PPV, adjustment count, and rows added / dropped, with a Reopen to edit escape hatch.
- One-click reporting exports, the FP&A 3-Block forecast, the Weekly PPV forecast, and the Statement of Operations, each straight to Excel and each reflecting the locked scenario’s numbers.
- Reconciled Global Spend, re-emit the Global Spend export with the scenario baked into the source: added and excluded rows and every field-level change applied, in the original column layout.
- On the roadmap, FCCS load files for US-LAT & Alpha and for CAD are stubbed in as “coming soon”.
- Multi-file GSD concatenation, drop several Global Spend exports (period fragments, an adjustments file) and they load as one model: columns matched by name in any order, a per-file Index column ignored and renumbered globally, and every file listed as its own chip on the landing page. Add another fragment later, even after Begin, and the whole app follows.
- Cross-file duplicate guard, a row that is a carbon copy across every field (index aside) of a row in an earlier file is kept but zeroed on every value column so nothing double-books, with a warning and an inspectable list. Identical rows within the same file are legitimate repeats and are never touched.
Version 5.2
Power Analyst Ad Hoc
A Reconciliation cleanup pass. The Drill graduates from a tab into Power Analyst Ad Hoc, a ribbon tool that opens above the Data Adjustments stream and filters it live. Row edits gain a component mode that ties out the PPV math, the stream is re-laid-out with conditional color, selectable headers and cleaner icons, and a forecast cell now opens a detail modal with the Ad Hoc drill built in.
- Power Analyst Ad Hoc, the Drill is now a ribbon tool, not a tab. Open it from the workspace ribbon and it drops a drill panel above the Data Adjustments stream; isolate any slice (by click or command bar) and the stream below filters to exactly those rows, with a one-click Clear filter. The header carries a live, copyable Net Total PPV for whatever you’ve isolated.
- Component-level adjustments, editing a row now toggles between Total PPV and Components: change Quantity, ACT / STD cost per unit, Actual Transaction Cost or Extended Standard Cost and the figures tie out automatically, change the quantity and the extended costs follow; change an extended cost and the unit price re-derives, with PPV recomputed live.
- Forecast cell detail, double-click any forecast cell to open a larger detail modal: edit the override, drill the category with the Ad Hoc tool (pre-isolated to that Forecast L3), and toss extra PPV on top at the line-item level.
- A re-laid-out stream, the Data Adjustments columns are reordered to the finance reading order (Src Sys Id → Region → … → Actual Transaction Cost, Extended Standard Cost, PPV Source) with Vendor Name up front; Adjust is now a green pencil and Remove a red ×.
- Conditional color & depth, PPV, Adjustment and PPV Booked carry favorable / unfavorable tints, and the table picks up zebra striping and a tinted value block so it reads at a glance instead of one flat blue.
- Selectable headers & quieter scrollbars, every table heading is now selectable and copyable app-wide, and table scrollbars stay hidden until you hover or scroll, so they never sit static over the data.
Version 5.1
Reconciliation, rebuilt
A power pass on the Reconciliation workspace: theme-clean dropdowns everywhere, a column-rich and smartly-addable Data Adjustments stream, a self-serve Drill (break any dimension down to a single row, by click or command bar, then adjust the isolated stream), undo/redo, a scenario manager, and the app’s Excel / sticky powers brought into reconciliation.
- Theme-clean dropdowns everywhere, the Subregion, Compare and Acting-As pickers (and the File menu) are now custom popovers that read perfectly in both light and dark mode, replacing the OS-styled selects that turned unreadable.
- Sharper adjustment cues, Adjust / Exclude are now a green + / red − pill pair, the “Net” column reads PPV Booked with a favorable/unfavorable tint, and the Adjust-PPV dialog gains a one-click Reset.
- A GSD-grade Data Adjustments stream, the table now shows the full 16-column finance view (Invoice Date, PO Number, Vendor, ACT / STD cost per unit, PPV…) instead of a thin slice, scrolling horizontally so every column stays legible.
- Show/hide any column, a new Columns picker (eye icon) lets you toggle any field on or off, search the list, and snap back to the default 16, the count badge tracks what’s visible.
- Smart Add Adjustment Row, adding a row now uses cascading dropdowns where each pick narrows the rest (region → subregion, category → vendor…), with a “type a custom value” escape for a brand-new vendor or item, so manual rows stay clean and complete.
- Undo & redo, a ↺ / ↻ pair in the workspace reverts (or re-applies) the most recent adjustment, each through a quick confirm that shows exactly what changes; every undo/redo is itself written to the audit trail.
- Click any history entry, rows in Changes & Audit now open a detail card with the full who / when / note / before→after and the specific row or forecast stream the change touched.
- Scenario Manager, one hub (File → View Scenario Manager) lists every scenario with its status, net PPV, change count, and created / last-edited dates, with Open, Branch, Compare, Approve and Delete right there.
- Self-serve Drill, a new Drill tab turns the whole spend file into an ad-hoc workbench: from a blank slate, break the rows by any dimension (vendor, category, PO, period…), see members ranked by PPV, and click to narrow in, or − to drop one, until 200K+ rows collapse to the exact stream you want. The breadcrumb is your path; Back and Undo step you out non-destructively.
- Type to isolate, prefer the keyboard? The Drill’s command bar takes the same path as a query:
vendor:Amphenol itemClass:Component po:!4500-1288 by poNum, : keeps, :! excludes, by sets the breakdown, with autocomplete over every field and its values. Clicks and typing stay in sync, so the bar always mirrors your breadcrumb.
- Act on the isolated stream, once you’ve isolated exactly the rows you mean, adjust one from the row list or act on the whole stream in a click: Exclude it from actuals or Zero out its PPV, each a noted, reversible, fully-audited adjustment that flows through the same reconciliation pipeline.
- Save a drill, replay it next month, a drill is just its path, so you can save it by name and re-run it against fresh data anytime, and if a vendor or PO from the saved view has dropped out of this month’s file, it tells you exactly which, rather than quietly returning nothing.
- Spreadsheet powers in reconciliation, the Data Adjustments and Drill tables now share the dashboard’s click-and-drag cell selection: copy any block to Excel, grab it as an image for slides, or pin it as a sticky, with a running sum as you go.
Version 5.0
A calmer shell
Version 5.0 pulls a release’s worth of polish into one milestone: a consistent control ribbon across every workspace, surfaces that finally read in light mode, filters you can see at a glance, and faster ways to move through the densest views, plus a refreshed version pill to mark the occasion.
- Unified context ribbon, the Dashboard now leads with the same Region, controls, export ribbon as FP&A, Procurement and Reconciliation, with theme and measure grouped consistently; the title row carries only the executive read.
- Light mode with depth, KPI cards, the filter bar and every tile now lift off the page with a true edge and a soft shadow, so surfaces read as surfaces instead of one flat sheet.
- Filters at a glance, applied filters surface as removable chips above the grid (visible even when it’s collapsed), and Saved Views share the row, one place to see and change what you’re looking at.
- Weekly flag-stream controls, a sticky toolbar adds search, favorable/unfavorable filtering, sort, and a Comfort/Compact density toggle to the flag list.
- FP&A block switcher, jump between Current, Prior, (B)/W and Totals (or show all) without scrolling the full stack.
- Cleaner empty states, the Procurement and Reconciliation placeholders now fill the space they’re given, with a calm preview rather than a stranded card.
- Sharper details, the executive insight line drops the leading period label that read like a total, theme-aware KPI coloring, and a faster, de-cluttered loading screen.
- A new version pill, the 5.0 mark gets a deep-space nebula treatment with a soft orbiting halo.
Version 4.9
Weekly table and copy as image
A focused follow-up: the Weekly PPV table gains full Excel-style cell selection and copy, comment driver figures read from the top item class, any selection can be copied straight to an image, and the (B)/W block labels its variance chunk plainly.
- Excel-grade Weekly table, click, Ctrl/⌘-click and drag to select any block of Weekly PPV cells, then copy the grid (or its sum) into Excel, pin it as a sticky, or copy it as an image, the same mechanics the dashboard and forecast tables already have.
- Copy any selection as an image, the selection toolbar gains a Copy as image button, so a highlighted range drops straight into slides or email, no need to pin a sticky first.
- Sharper Weekly comments, each comment now shows the PPV of its highest-contributing item class rather than the Forecast L3 subtotal, so the figure matches the named item class and vendor.
- Clearer (B)/W block, on the (B)/W block of every geography, the variance column group is labeled (B)/W instead of “Forecast.”
Version 4.8
Wayfinding and a cleaner export
A broad round building on v4.7: the FP&A subtabs are grouped for orientation, the dashboard leads with a one-line executive read, the forecast Excel export is rebuilt to a close-format template, light mode is lightened across FP&A, and the app picks up a calmer, more professional shell.
- Grouped FP&A tabs, the eight subtabs are now split into Reports (SOO, Weekly PPV Reporting) and Geographies (AMER Total + subregions) with a divider and a clearer active state, so it’s obvious where each view lives.
- Dashboard auto-insight, a one-line executive read under the title, e.g. “P7 PPV is unfavorable at $49.8M, led by Other Metals ($40.4M), copper excluded”, it follows your filters live.
- Sharper Weekly view, the flag stream now summarizes itself (net impact + top driver) and a small legend explains the gold flagged-week dot.
- More uniform UI, the Dashboard and Procurement page titles share one solid brand-purple treatment, and control corner-radii and card padding are harmonized.
- Watchlist concatenation by Forecast L3, a flag joins the existing ticket for the same Forecast L3 line, rolling all subregions and vendors into one AMER ticket per L3 (with per-week subregion detail). Previously it merged by L2 category + a shared item class, which could collapse distinct L3 lines together.
- Forecast Excel export, reformatted, every 3-block forecast export now matches the close-format template: per-block Actual/Forecast/Quarters/FY headers, conditional red/green shading, purple totals, a navy structural frame and matched spacing, ready to drop straight into the close.
- Lighter light mode, the heavy navy used for the FP&A subtab ribbon, the Weekly table headers/sections, and the forecast heading blocks is now a soft slate-blue with dark text, so light mode actually reads light.
- A calmer shell, the landing leads with a restrained Finance Procurement / Analyst Workspace title, the Dashboard tab is now Power Analyst, and the data tabs drop the drifting background gas for a still, focused backdrop.
Version 4.7
Polish pass
A design-quality sweep across every tab in both light and dark. The dashboard KPI cards now each carry a contextual micro-stat, the Statement of Operations reads as a deliberate close-format document instead of a bright island in dark mode, and the placeholder screens become guided, on-brand empty states.
- Story-telling KPI cards, every dashboard KPI now ends on a contextual micro-stat: Favorable / Unfavorable show their share of the gross swing, Quantity shows average unit PPV, and Vendors shows top-10 concentration, so no card sits empty. “Good guy / Bad guy” PPV is now the clearer Favorable / Unfavorable PPV.
- Statement of Operations, framed, the SOO tab is wrapped as a titled close-format document around a paper-shadowed statement, so in dark mode it reads as the as-shipped Excel deliverable rather than an un-themed white panel.
- Guided empty states, one reusable empty-state pattern (icon, headline, guidance, action). The Procurement watch offers a one-click jump to Weekly PPV Reporting, and the Reconciliation workspace reads as a deliberate “in build” state.
- Clearer charts, category and vendor axis labels show much more before truncating, and chart gridlines and bars now follow the active theme, legible in both light and dark.
Version 4.6
Weekly PPV Reporting
A new Weekly PPV Reporting subtab under FP&A turns the “Total PPV Other” close into a living weekly view: every Forecast L3 line across the weeks of the period, actuals through the closed weeks, a weekly run-rate for the rest, with a flag list that concatenates recurring drivers into one High-Level Summary ticket and a styled, collapsible Excel export.
- Weekly PPV table, replaces the KPI strip with a full Forecast L3 × weekly grid: the canonical Belden Cables & Wires and Manual JE sections (plus an Other Forecast L3 catch-all), forecast-style value tiles, a gold dot on the flagged week, a Total / Forecast / B(W) roll-up and per-week comments. The Week & Subregion ribbon and the Time Machine drive it; double-click any cell to drill.
- Looser concatenation, a flag now joins an existing watchlist ticket when they share the same L2 category and at least one item class, regardless of subregion or vendor, so a recurring driver rolls up across AMER into a single Procurement ticket with per-week subregion detail.
- Weekly Excel export, every week of every period as its own column block, with Excel +/− outline grouping: prior and future periods collapse, the current Time Machine period stays expanded. Thousands/parentheses number formats, sign colors and a navy/lavender header echo the Weekly Template.
- Light mode for the weekly flag cards, drawn from the Weekly Template palette, navy header chip, lavender band, light zebra rows.
- Fixes, weekly actuals now sum correctly across all subregions in the All view (previously a single subregion slipped through), with the same correction in the cell drill and the export.
Version 4.5
Light mode everywhere
You can now run any tab in light or dark, independently, keep the Dashboard in daylight while the rest stay dark. The light theme is drawn from Belden’s own site greys. The Aurora reskin continues onto the Dashboard, and the drifting gas-cloud glows from the landing now breathe softly behind every workspace. (In progress, rolling out tab by tab in 4.5.)
- Per-tab Light / Dark, a switch in each tab’s header flips just that view between the dark Aurora theme and a clean Belden-grey light theme; the choice sticks per tab and survives reloads.
- Ambient gas on every workspace, the landing’s violet→magenta→gold gas clouds now drift gently behind the Dashboard, FP&A, Procurement and Reconciliation too, dialed back ~25% so they never compete with the data. The Upload page keeps its own full-strength field, untouched.
- Dashboard revamp, the PPV dashboard takes on the Aurora language: a gradient title, an aurora-horizon accent, story-telling KPI cards, and a lighter filter bar.
Version 4.4
The Statement of Operations
A reconciliation layer over the AMER forecast. Categorize the Procurement Statement of Operations “performance bridges” straight from the (B)/W block: flag a forecast variance, assign it to a bridge category, and the totals roll up into a new SOO view, with a full AMER-total drill behind every category. (In progress, more landing in 4.4.)
- (B)/W flagging, on the AMER Total tab, select a (B)/W vs PF value cell and a Flag action appears in the selection bar (and inside that cell’s double-click detail). It captures a required bridge category (Productivity / Inflation - (List Material) / Countermeasure/Go-Get / Volume / Other) plus an optional comment, marks the cell, and persists locally so it survives reloads.
- SOO subtab, a new leftmost FP&A tab that rolls every flagged variance up into the five performance-bridge categories on an AMER-total basis, under a categorized Total Variance.
- SOO category drill, double-click a category for an AMER-total detail that walks Forecast L3 → Item Class → Vendor, each level cut at 80% cumulative with the remainder grouped, composition bars scaled to %-impact, an Auto-Filter that narrows the line-item stream to your drill selection, and a subregion filter.
- Plus a placeholder Statement of Operations data source on the upload page (close-week ingest to come) and an early Reconciliation workspace scaffold.
Version 4.3
Aurora
A bold visual refresh begins. Power Analyst takes on the Aurora theme, drifting violet→magenta→gold gas-cloud glows, ambient gridlines, and a connectivity-network motif, rolling out page by page over the same engine. The brand-fixed pieces (the Belden mark, the four-item nav, and the negative = favorable = green convention) stay untouched; this is a skin, not a rebuild.
- Aurora Upload page, a fully rebuilt landing: a glass intake portal, glass capability cards, a gradient Sora wordmark, pointer-reactive parallax on the gas-cloud glows, a capability-card hover lift, and an edge vignette. The green-neon Begin button carries over.
- Deeper base navy, app-wide, the core backgrounds were darkened to match the Belden website ribbon, carrying the new mood across every view.
- Hyperdrive hand-off, the Begin→dashboard transition is reinvented as a lightspeed jump: hyperspace streaks, octagon ripples that break on a ring of igniting data-field nodes (AMER,EMEA,APAC, L2 & L3 category, vendor, item class, PPV) bridging clockwise in neon green, a charging violet→gold portal meter with a purple percent readout, and a forward jump into the workspace, a tight ~2-second pass that fully respects reduced-motion.
Version 4.2
Executive Brief and Ops Board
The High-Level Summary becomes a two-mode workspace. Executive Brief (default) keeps the calm, narrative ticket cards with the Finance/Procurement thread foregrounded; a new Ops Board mode adds a KPI strip and dense, triage-first rows with favorability rails and week-magnitude bars for fast scanning. A small in-tab toggle flips between them, and the favorable/unfavorable color convention now actually renders across the tab.
- Brief / Board toggle, a compact control in the HLS header switches between the two views; Executive Brief is the default. The selection persists for the session, and status, removal, write-ups, the Time Machine, and region segmentation behave identically in both modes.
- Ops Board KPI strip, four at-a-glance tiles: tickets under watch, open vs. in-review split, net MTD exposure across the watchlist, and the worst ticket (most unfavorable MTD) with its category, item class.
- Dense triage rows, each watchlisted ticket renders as a full-width row with a favorability-colored accent rail, an L2/L3 chip, an inline week timeline of magnitude bars (prior-week in the tooltip), a note count, status pill, and MTD pulled right. Click a row to expand the full discussion thread and Procurement write-up inline.
- Favorability colors wired in, the green=favorable / red=unfavorable convention is now applied to HLS MTD and weekly values in both views (previously the classes were present but unstyled in this tab), keeping the $(.) negative formatting intact.
Version 4.1
Weekly PPV Reporting and the Watchlist
The Executive Summary becomes a true weekly reporting surface and gains a hand-off layer to Procurement: a dedicated Weekly PPV Reporting tab driven off the Time Machine, Best / Worst / single Top Mover KPIs, a drill-down on every flag, a Watchlist that turns a flag into a tracked ticket, automatic week concatenation, and a new High-Level Summary tab where watchlisted tickets are worked MTD over a discussion thread.
- Weekly PPV Reporting tab, the reshaped AMER-only weekly surface: an AMER Totals ribbon over a Weekly PPV Reporting Engine ribbon, with the period driven by the Time Machine and a period-dependent week selector (five weeks for P1/P4/P7/P10, four otherwise) carrying an MTD option; subregion and AMER rows now read as explicit Total lines.
- Best / Worst / Top Mover KPIs, a KPI ribbon surfacing the week’s most favorable and most unfavorable flags, with the Top Mover collapsed to a single flag per week by largest % change.
- Flag drill-down, double-click any weekly flag to open a detail view that walks Forecast L3 → item class → vendor, each rolled up to a strict 80%-cumulative cut, with favorable/unfavorable vendor bars over purple item-class bars on a shared bridge-column stream; the whole view pins as a sticky note.
- Watchlist, every weekly flag carries an Add to Watchlist bookmark; adding opens an inline preliminary comment (stored as Finance’s opening note) and flips the flag to a red On Watchlist state. Removal lives only on the High-Level Summary tab.
- Automatic concatenation, a ticket’s grain is Subregion × Forecast L3 × Item Class × Vendor; when a later week’s flag matches an existing ticket, the bookmark becomes Approve Concatenation and stacks that week under the same ticket rather than opening a duplicate, while a different vendor on the same item class correctly opens its own.
- High-Level Summary tab, a new top-level tab (right of FP&A) with its own Region + Time Machine ribbon, independent of the FP&A Time Machine. Each watchlisted ticket is a tracker, ticket header, Open⇄In review status, MTD total, concatenated weeks as chips, over a thread carrying Finance’s note and a Procurement write-up box; everything persists to IndexedDB alongside saved views.
- Plus alignment and chrome polish on the new tab, the High-Level Summary now shares the standard page container and top offset of the other tabs, and its nav underline lights only when selected.
Version 4.0
Executive Summary, Weekly PPV Engine, and Formatting Overhaul
The headline FP&A release: a new Executive Summary that surfaces the period’s most material PPV movements with auto-flagged drivers and analyst commentary; a weekly PPV engine that buckets flags to the fiscal week and reconciles CAD line items at ingest; and a formatting-and-interaction overhaul spanning fluid forecast tables, a title ribbon, sheet-wide selection, and pinnable sticky notes.
- Executive Summary, a new FP&A tab (positioned first, but not the default) that opens on a subregion PPV block, US-LAT / CAD / Alpha over an AMER Total PPV, Other + Other Metals, rendered in the full Actual/Forecast/Quarters forecast-tile format, beneath an auto-flagging engine that calls out every subregion × L3 category breaching materiality, with the responsible item class and its driving vendor(s).
- Flagging tuned to intent, for each flagged category the engine surfaces only the item class(es) driving it in the flag’s direction, then the vendors driving that item class, with opposing and immaterial contributors filtered out; the L3 category total rides alongside as context. Every threshold (materiality floor, top-movers, flip magnitude, item-class / vendor significance) lives in one config for the desk to tune.
- Directional reason tags, < $(50) / > $50 threshold breaches, Flip → Good Guy / Flip → Bad Guy switches, and Top Mover swings, each colored to its favorable/unfavorable meaning, plus an L3-level follow-up commentary layer for the qualitative driver notes.
- Weekly PPV engine, wired to the new Transaction Week field on Belden’s 5/4/4 fiscal calendar. A period-dependent week selector (five weeks for P1/P4/P7/P10, four otherwise) drives week-over-week flagging; the Monthly view rolls every week’s flags into a week-stamped month-to-date.
- CAD FX reconciliation, recomputes Ppvusd in place at ingest per the desk’s currency formula, keeping the actual transaction FX distinct from the hardcoded book rate (parked in a single constant). No second column, no enlarged file.
- New upload layout, the resolver reads the updated 62-column Tableau export (now carrying Transaction Week) by field name, so ingest, dashboard, pivots, and FP&A all recognize the new structure without breaking on the column shift.
- Fluid forecast tables & title ribbon, every forecast block (and the Executive Summary’s subregion block) now fills its container with no horizontal scroll, sheet-wide; the Executive Summary title sits in an ambient-gradient ribbon rather than standalone gradient text.
- Sticky notes & sheet-wide selection, pin any selection or full-sized view (maximized pivot, forecast block, detail stream) as a floating, draggable, resizable snapshot; every cell on the sheet is selectable with Excel-grade Ctrl+Shift+Arrow navigation and copies out as Excel-ready TSV.
- Plus the FP&A house style across the pivot and Period×Category totals (dark heading blocks, favorable/unfavorable Totals), a view-only PPV / Spend toggle, master-filter collapse, and assorted dashboard polish.
Version 3.5
Excel-grade detail streams & sharper Unit PPV
Every detail view is now a proper analysis surface, a full-width vendor ranking over a filterable, copyable line-item stream with Excel-style column filters, plus a clearer Unit PPV format and a price-vs-standard-cost lens on the engine.
- Filterable, Excel-style stream tables in every detail view (Actual, Forecasting Engine, and (B)/W), each column heading is styled like the forecast block headers and carries an AutoFilter funnel (search + select-all + distinct-value checkboxes); active filters highlight in gold.
- Item class is now a column on every stream, and Top vendor contributors runs the full width of the view, the standalone item-class panel has been retired per the desk's preference.
- Full copyability throughout, numeric cells join the array/Ctrl+Shift selection engine, and a Copy rows button copies the currently visible (filtered) rows as Excel-ready TSV.
- The (B)/W view gains the same analytical depth as the others: a per-stream current-vs-prior breakdown (with item class) under a full-width vendor ranking, on top of the existing price/quantity driver decomposition.
- Price vs standard cost on the engine, hover the average unit PPV in the Forecasting Engine ribbon to see unit price − unit standard cost = unit PPV.
- Unit PPV now uses the same financial format as every other figure, commas, four decimals, and parentheses for negatives (e.g. $(1.2345)), in the app and across the Excel exports.
Version 3.4
Glass-box forecast exports
The Americas forecast workbook now shows its own work, a dedicated Engine tab derives every run-rate from the data, stream by stream, with live formulas end to end.
- New Engine tab in the Americas forecast export, one row per run-rate stream (Src Sys Id × Vendor × Item) for both the current and prior vintages. It lays out the trailing-window quantity, the last active period and its unit PPV, then derives the weekly qty rate (qty ÷ 13), unit PPV (PPV ÷ qty at the last active period) and weekly $ run-rate (rate × unit) as live formulas.
- Forecast months are no longer a pasted run-rate, each tab's run-rate cell is now a SUMIFS into the Engine tab (Americas sums every stream; each subregion filters to its own), and the month is that cell × the weeks in the month. The whole chain, Data → Engine → forecast, recalculates live, with nothing hardcoded.
- Validated to tie to the penny: the engine reproduces every forecast cell across the Americas total and all four subregions, in both vintages.
Version 3.3
Detail Analysis, the Forecasting Engine & a Spend lens
A full drill-down layer over the forecast, a price/quantity driver engine on every (B)/W cell, a PPV⇄Spend measure toggle, and richer filtering.
- Detail Analysis on any actual forecast cell, select a cell and open a full-screen view ranking the top vendor and item-class contributors by share of |PPV|, each drillable to the underlying GSD line items. Line items carry a cross-level category column (L2 when forecasting by Forecast L3, and vice-versa), are individually selectable, and copy out as a table or export to Excel.
- Forecasting Engine driver decomposition on every (B)/W cell, splits the change versus the prior forecast into price, quantity, and interaction effects (symmetric PVM), each in dollars and as a share of the (B)/W, with a current-vs-prior “what moved” readout and a reconciliation that ties to the penny. Exports to Excel.
- PPV ⇄ Spend measure toggle across the dashboard, KPIs, all charts, the pivot, and exports switch between Purchase Price Variance and total Spend, with PPV-only visuals hidden in Spend mode.
- L2 and Forecast L3 added as master filters and as per-chart filters, consolidated behind a per-tile filter pane.
- Forecast Light / Dark theme toggle, with a report-style light mode for sharing.
- Detail-view polish: composition bars now scale to the exact % impact shown; %-of-(B)/W is on an absolute basis; conditional red/green formatting on the driver inputs; a standard icon export across all full-screen views; two-stage Esc (clear selection, then collapse); and click-anywhere-neutral to drop a drill.
Version 3.2
Formula-linked exports, polish & corrections
Live-formula multi-tab forecast exports, an in-app patch log, and a sweep of forecast and pivot fixes.
- Forecast export rebuilt as one workbook with five tabs, Americas Total, Alpha, CAD, and US-LAT forecasts plus a shared Data tab. Actuals are live SUMIFS, forecast months are an editable run-rate × weeks, quarters / FY / totals are SUM, and (B)/W is current − prior, all tying to the penny.
- Forecast tie-out corrections: fixed Forecast-L3 column resolution and region scope so the forecast matches the dashboard heatmap; rebuilt as a fixed canonical skeleton (Rebates and Other Allocation always shown, No-L3 / None suppressed).
- (B)/W block recolored purple (on-screen and in Excel) and its zeroed columns realigned to the current-close boundary so all three blocks stack cleanly; the Q4–FY gap was removed.
- Excel-style click-and-drag cell selection across tables, with Esc to clear.
- Pivot now defaults to Compact with value cells matched to the forecast formatting; the forecast ribbon was reordered (View → L2 / L3 → Time Machine); Period × category tile text enlarged to match the forecast cells.
- Region-aware export filenames; heading restructured (Finance Procurement over Power Analyst); refreshed capability-card copy; and this in-app patch-notes page, opened from the version pill.
Version 3.1
Forecast formatting & styled exports
A unified visual standard for the forecast grid and fully styled Excel output.
- Forecast cell standard: section zone shading, full-contrast red/green text, neutral tile floors, stacked ACT/FCST month headers, violet Q/FY headers, and purple totals.
- Chunk gaps separating the actuals, forecast, quarters, and FY sections.
- Per-block full-screen view to maximize any of the three forecast blocks.
- Styled Excel exports, single-block and all-three-blocks, carrying proper fills, fonts, borders, and number formats.
- Merged group-band column headers (Actual / Forecast / Quarters / FY).
- Green master Export button added to the forecast ribbon.
Version 3.0
Forecasting view & rebrand
A brand-new in-app forecasting engine alongside Upload and Dashboards, plus the FPAA rebrand.
- New Forecasting view reproducing the Excel “P6 Forecast File” mechanics, with a run-rate FP&A engine at the stream grain (Src Sys Id + Vendor + Item), validated to tie to the penny.
- Three stacked blocks, Current forecast, Prior forecast, and (B)/W vs prior, each running Jan → Dec with Q1–Q4 and FY rollups.
- Time Machine scenario selector to replay any prior close from a single upload, with scenarios auto-limited to what the data supports.
- Region and subregion navigation (Americas with Alpha / CAD / US-LAT; EMEA and APAC stubbed) and locked defaults (copper excluded; BBS / Thinklogical / X-Mark / SAGEEI removed).
- Branding overhaul, recolored corner logo, Belden → FPAA, an animated violet→gold version pill, and an uploads-landing facelift with a three-card capability strip.
- App-wide: number prefixes stripped from L3 labels (1.Compounds → Compounds); heatmap retuned to the unified red/green standard.
Version 2.6
Two-tab exports & cell copyability
Excel-grade exports and spreadsheet-style cell selection across charts and pivots.
- Every chart export now produces a two-tab workbook: a Data tab of the chart’s current filtered rows and a POV tab with a live pivot replicating the chart (e.g., categories on rows, periods on columns, sum of PPV), consistent with the chart’s filters; numbers in long form, no decimals.
- Per-row copy on the pivot, an icon highlights the row and copies it in an Excel-pasteable form.
- Pivot expand/collapse moved to double-click; a single click now highlights a cell for copying.
- Multi-cell selection on Windows and Mac, select multiple same-field cells and copy the sum to the clipboard.
- Value copyability extended to the Period × category tiles and to any bar on a bar/combo chart.
Version 2.5
Analyst power features
Saved views, search, and fullscreen filtering for deeper self-serve analysis.
- Saved views (presets): built-in per-region chips plus save/delete custom views, persisted locally.
- Vendor/item search on the pivot that keeps each match’s parent path and child drill.
- Sparkline and period-over-period delta on the Total PPV KPI.
- Master filters dockable into fullscreen to re-slice a maximized chart in place.
- Export filtered raw transactions to CSV; pivot density toggle (comfort / compact).
- Polish: global tabular numerals, sticky pivot headers in fullscreen, full-row hover, and active-filter context in the fullscreen header.
Version 2.4
Interactivity, polish & scale
A fully interactive fullscreen, per-chart exports, and sheet-wide visual tuning.
- Fullscreen made fully interactive, the live tile relocates so its filters, tabs, and drill-down all work maximized (replacing the static clone).
- Per-chart Excel (.xlsx) export icon added to every tile’s hover menu (unpivoted data).
- Totals rows: bold white text with value cells in a subtle accent lighter than the label purple.
- Softened the green/red shading sheet-wide (compressed the alpha range).
- Baked in a default 110% magnification via a zoom wrapper.
- Pivot readability: brighter Total PPV text, a greywash that fades as you drill deeper, brighter headers; fixed the fullscreen heatmap collapsing to minimum width.
Version 2.3
Layout redesign, axes & first Fullscreen
A cleaner master-filter bar and the first version of the fullscreen detail view.
- Rebuilt the master filter bar from a flex-wrap into a clean grid, with the label, favorable/unfavorable legend, and Reset on a tidy header row.
- Introduced the fullscreen detail view (an expand icon per tile), at this stage a scaled clone of the tile.
- Renamed the waterfall’s final bar “Net” → “YTD”.
- Added the filled-purple totals corner cell and a subtle warm tint on non-PPV cells.
Version 2.2
Period filtering & totals
Period slicing on every chart and signed totals across the pivot and heatmap.
- Added per-tile period multi-selects to the three charts not already sliced by period (category bars, vendor concentration, pivot).
- Added Totals rows to the pivot and the Period × category heatmap.
- Heatmap cells colored by sign (favorable/unfavorable) with the purple totals styling.
- Reworked the upload subheading copy.
Version 2.1
Multi-select filtering foundation
The first ribbon-badged release, establishing the multi-select filter model.
- Subregion master filter became a true multi-select panel.
- Introduced the per-tile “inherit master / override” filter model on each chart.
- Pivot capped to the top 10 vendors per category with an “Others (N vendors)” rollup.
- Unified the dropdown/panel styling across master and per-tile controls.