<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Fizi’s Substack]]></title><description><![CDATA[My personal Substack]]></description><link>https://fiziyadav.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!hMO1!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29764894-0a65-4bbb-9879-1fa89692ea6c_144x144.png</url><title>Fizi’s Substack</title><link>https://fiziyadav.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 09 Jun 2026 14:19:20 GMT</lastBuildDate><atom:link href="https://fiziyadav.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Fizi]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[fiziyadav@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[fiziyadav@substack.com]]></itunes:email><itunes:name><![CDATA[Fizi]]></itunes:name></itunes:owner><itunes:author><![CDATA[Fizi]]></itunes:author><googleplay:owner><![CDATA[fiziyadav@substack.com]]></googleplay:owner><googleplay:email><![CDATA[fiziyadav@substack.com]]></googleplay:email><googleplay:author><![CDATA[Fizi]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Case for Generative AI in Operations]]></title><description><![CDATA[Balancing Predictive and Generative AI for Smarter, Faster Decisions]]></description><link>https://fiziyadav.substack.com/p/the-case-for-generative-ai-in-operations</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/the-case-for-generative-ai-in-operations</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Sun, 14 Sep 2025 20:02:31 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4ded1ff-3923-49aa-af2c-a9e86592b340_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>Introduction</strong></h2><p>Generative AI has captured the imagination of businesses everywhere. While much of the early buzz has focused on marketing content, chatbots, and creative applications, its role in <strong>operations</strong>&#8212;the engine room of every organization&#8212;remains nascent.</p><p>Operational domains such as supply chain, procurement, and workforce management work on the basic tenet of data, decisions, and actions, in that order. In this context, accuracy is non-negotiable. Yet one of the known limitations of large language models is their tendency to generate confident but incorrect answers&#8212;a risk that becomes especially acute when dealing with data-driven tasks.</p><p>The real challenge, then, is not whether to use generative AI in operations, but <strong>where it belongs</strong>: identifying the points where it can complement deterministic analytics rather than replace it, adding value without compromising reliability.</p><div><hr></div><h2><strong>Two Complementary Lines of Capability</strong></h2><p>When thinking about GenAI in operations, it helps to separate the solution into two complementary lines:</p><ul><li><p><strong>Predictive Analytics = detect &amp; predict.</strong></p><p>Algorithms that find anomalies, forecast demand, optimize scheduling, or track performance. Provide the <em>what</em>&#8212;the anomalies, forecasts, and optimizations.</p></li><li><p><strong>Generative AI = explain, communicate, act.</strong></p><p>Models that interpret results, enable natural interaction with data, and guide the next action. Provide the <em>so what</em> and the <em>now what</em>&#8212;explaining, contextualizing, and guiding action.</p></li></ul><p><strong>Analytics supplies the facts. Generative AI supplies the understanding.</strong> This framing is powerful because it allows us to tell a balanced story: clients can see why deterministic analytics is essential for accuracy and scale, while also appreciating where GenAI adds unique value.</p><div><hr></div><h2><strong>Analytics Does the Math, GenAI Makes It Actionable</strong></h2><p>Analytics is the <strong>backbone</strong> of operational decision-making. It can crunch millions of rows of data to detect anomalies, forecast trends, and optimize processes. But once the results are in, the harder part begins:</p><ul><li><p>Why did this happen?</p></li><li><p>Who needs to know?</p></li><li><p>What should we do next?</p></li></ul><p>Take <strong>margin outlier detection</strong> as an example: we can build a simple t-distribution model that takes in data at different levels (branch vs region, weekly vs month avg) and reliably identifies when costs and prices deviate from expectations. This can be accomplished using LLM but:</p><ul><li><p>much harder to do it reliably every single time</p></li><li><p>much harder to scale dure to limitation in context length as well as latency as compared to predictive programming</p></li></ul><p>Hence, the outlier detection algorithm is still in the domain of predictive AI but GenAI can step in to:</p><ul><li><p>Generate a narrative explanation of the root cause.</p></li><li><p>Personalize the insight for different roles.</p></li><li><p>Suggest secondary or &#8220;may-be&#8221; causes when deterministic rules don&#8217;t fit.</p></li><li><p>Draft follow-up actions, like a buyer email or an updated pricing sheet. It can go a step further in taking automated actions on behalf of the users through custom tools</p></li></ul><p>The same pattern extends to many areas of operations.</p><div><hr></div><h2><strong>A Framework for GenAI in Operations</strong></h2><p>The use cases for generative AI can be clustered into categories that illustrate where LLMs are particularly effective, as outlined in the following. These categories can be used as <strong>brainstorming lines</strong> to explore specific, high-value operational enhancements.</p><h4><strong>Natural Language Handling</strong></h4><ol><li><p><strong>Classification:</strong> Mapping free-form text into structured codes or categories, even when phrasing is novel or inconsistent.</p><p><em>Examples:</em></p><ul><li><p><em>Ascertain the type of question asked in chat and use specific agent to furnish the request.</em></p></li><li><p><em>Routing support tickets to the correct department.</em></p></li></ul></li><li><p><strong>Extraction:</strong> Pulling entities/relations out of contracts, support tickets, call transcripts or any other corpus of text.</p><p><em>Examples:</em></p><ul><li><p><em>Convert all vendor receipts into structured data for analysis (indirect cost)</em></p></li><li><p><em>Extract the right information from a phone transcript from a store or an email to the buyer</em></p></li><li><p><em>Pull clauses (e.g., renewal terms, penalties) from vendor contracts for relational storage and retrieval</em></p></li></ul></li></ol><h4><strong>Summarization &amp; Narrative Generation</strong></h4><ol><li><p><strong>Summarization:</strong> Condensing reports, notes, or feedback into concise executive briefs.</p><p><em>Example:</em></p><ul><li><p><em>Create daily digest of top outliers for a buyer</em></p></li></ul></li><li><p><strong>Explanation:</strong> Turning raw KPIs or anomalies into human-readable narratives</p><p><em>Examples:</em></p><ul><li><p><em>Generate narrative for outlier detection + root-cause analysis</em></p></li><li><p><em>Explaine why a forecast changed week-over-week (forecast explainability).</em></p></li><li><p><em>Interpret ML model results in natural language</em></p></li></ul></li><li><p><strong>Personalization:</strong> Tailoring the same insight differently for different roles</p></li></ol><h4><strong>Human Interaction Layer</strong></h4><ol><li><p><strong>Conversational interfaces:</strong> Let business users interrogate data with natural language.</p><p><em>Examples:</em></p><ul><li><p><em>Chat interface to query data directly</em></p></li></ul></li><li><p><strong>Tutoring / onboarding:</strong> Explain what a metric means, how to interpret it, or how a process works.</p><p><em>Examples:</em></p><ul><li><p><em>Create onboarding documents (text, images and videos).</em></p></li><li><p><em>Interactive world models (Genie 3 by Google) for process simulation</em></p></li></ul></li><li><p><strong>Decision support</strong>: Draft action plans, emails, or reports grounded in model outputs.</p><p><em>Examples:</em></p><ul><li><p><em>Daily email to buyers about outliers</em></p></li><li><p><em>Draft report on supplier performance with root-cause and action steps.</em></p></li></ul></li></ol><h4><strong>Reasoning &amp; Semantic Search Across Heterogeneous Inputs</strong></h4><ol><li><p><strong>Unstructured + Structured:</strong> Combine numeric facts with policy text or emails to suggest causes or actions.</p></li><li><p><strong>Contextual Q&amp;A</strong>: Answer &#8220;why&#8221; questions that blend multiple modalities.</p><p><em>Examples:</em></p><ul><li><p><em>Brainstorming/ideation for scenarios that don&#8217;t require precision (chat combining streaming data + fan feedback for a music app).</em></p></li></ul></li><li><p><strong>Semantic Search:</strong> Search through data store and documents using meaning instead of keywords and retrieve &#8220;the closest &#8221; or &#8220;most similar&#8221; without handcrafted logic rules.</p><p><em>Examples:</em></p><ul><li><p><em>Retrieve most similar outliers within the last month</em></p></li><li><p><em>Return the best response out of n. This can be used as a consensus agent that asks the same question multiple times and picks out the best possible one, enhancing robustness</em></p></li></ul></li></ol><h4><strong>Agentic Actioning</strong></h4><ol><li><p><strong>Communication:</strong> email, text, phone</p><p><em>Examples:</em></p><ul><li><p><em>Call a store with automated recommendations, capture manager response, log it in DB.</em></p></li><li><p><em>Send summary emails/texts after process completion</em></p></li></ul></li><li><p><strong>Read/Write to source systems</strong></p><p>E<em>xamples:</em></p><ul><li><p><em>Update pricing worksheet once buyer approves changes.</em></p></li><li><p><em>Push adjusted forecasts into ERP system after validation.</em></p></li><li><p><em>Automatically create a JIRA ticket when anomaly is detected.</em></p></li></ul></li></ol><div><hr></div><h2><strong>Broader Operations Use Cases for Generative AI</strong></h2><h4><strong>Supply Chain Management</strong></h4><ul><li><p><strong>Forecasting + Explanation:</strong> ML models generate forecast for certain metrics; GenAI explains why (e.g., promotion, change in distribution, shipping delyas, tariffs) and drafts a proactive communication to relevant parties.</p></li><li><p><strong>Exception Handling:</strong> Summarize logistics anomalies across regions and suggest corrective actions. The set of exceptions can be determined programmatically and then explained using Gen AI.</p></li></ul><h4><strong>Procurement &amp; Vendor Management</strong></h4><ul><li><p><strong>Contract Intelligence:</strong> Extract renewal dates, penalties, or pricing clauses from supplier contracts.</p></li><li><p><strong>Supplier Performance Reports:</strong> Auto-generate supplier scorecards with both data and narrative context.</p></li></ul><h4><strong>Workforce Management</strong></h4><ul><li><p><strong>Scheduling:</strong> Optimization algorithms to generate the schedule; GenAI explains trade-offs in plain language (&#8220;We prioritized coverage in peak hours, leading to higher overtime for Team A&#8221;).</p></li><li><p><strong>Onboarding &amp; Training:</strong> Generate role-specific guides, FAQs, and even interactive tutors for new hires.</p></li><li><p><strong>Employee Feedback:</strong> Summarize open-ended survey responses into themes (e.g., workload, shift fairness).</p></li></ul><h4><strong>Inventory &amp; Retail Operations</strong></h4><ul><li><p><strong>Stock Anomalies:</strong> Gen AI can detect slow-moving inventory through tools and then take subsequent actions <em>eg: email DC with replenishment requests.</em></p></li><li><p><strong>Store Communications:</strong> Auto-generate daily store briefs: <em>&#8220;Top-selling items, inventory risks, and recommended actions.&#8221;</em></p></li><li><p><strong>Customer Feedback Integration:</strong> Combine structured sales data with unstructured reviews to suggest assortment changes.</p></li></ul><h4><strong>Risk &amp; Compliance</strong></h4><ul><li><p><strong>Policy Q&amp;A:</strong> Employees can ask, &#8220;Can I override pricing in this case?&#8221; and GenAI retrieves the right policy snippet.</p></li><li><p><strong>Expense Compliance:</strong> Detect expense anomalies through outlier detection algos and generative AI and then summarize and send compliance report to relevant parties.</p></li><li><p><strong>Issue Triage:</strong> Classify irregular transactions into potential fraud categories and explain rationale.</p></li></ul><h2><strong>Beyond the Hype: A Balanced Story</strong></h2><p>The temptation is to make Generative AI the panacea to all issues facing the business. But in operations, <strong>deterministic analytics remains essential</strong> for scale, speed, and precision. Generative AI&#8217;s true role here is as the <strong>bridge between data and decision</strong>. This means:</p><ul><li><p>Turning outputs into understandable narratives.</p></li><li><p>Exploring possibilities when the answers aren&#8217;t black-and-white.</p></li><li><p>Guiding users toward the right next steps.</p></li></ul><p><strong>The place of GenAI in operations is not to replace analytics, but to elevate it&#8212;turning data into decisions, and insights into action.</strong> As such, the future of operations will be defined not just by more data, but by <strong>better conversations with data</strong>.</p><p>By keeping this balance, organizations can avoid overhyping AI while still unlocking its transformative potential.</p>]]></content:encoded></item><item><title><![CDATA[Structured Approach to Generative AI in Demand Planning]]></title><description><![CDATA[A production-ready framework for Precision, Explainability, and Scale - all things essential to planning]]></description><link>https://fiziyadav.substack.com/p/structured-approach-to-generative</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/structured-approach-to-generative</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Wed, 11 Jun 2025 21:11:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ae106685-b8df-4776-80cc-4eb3a88b6de8_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Demand planning requires precision and consistency in forecasting, with analysts needing to identify significant variances and explain their causes. While generative AI offers promising capabilities for this domain, its implementation must be carefully structured to overcome inherent limitations. <em>This article proposes a production-ready framework for integrating generative AI into demand planning workflows. By combining deterministic calculations, AI-guided analysis, and a traceable state model, we ensure precision, consistency, and explainability in generating insights.</em></p><h2><strong>Challenges in Demand Planning</strong></h2><p>Demand planning analytics typically involves several key requirements:</p><ol><li><p><strong>Time-Period Comparisons</strong>: Analysts need to compare forecasts across cycles or against actual values, identifying significant deviations.</p></li><li><p><strong>High-Volume Data Processing</strong>: Planning data often involves millions of rows across multiple dimensions, requiring efficient filtering to identify meaningful variances.</p></li><li><p><strong>Threshold Determination</strong>: What constitutes a "significant" variance involves both statistical methods and domain knowledge &#8211; for example, determining if a 10% error on a high-volume product is more important than a 50% error on a low-volume one.</p></li><li><p><strong>Root Cause Analysis</strong>: Once variances are identified, planners must trace them to their sources using multiple datasets and causal reasoning.</p></li><li><p><strong>Consistent Presentation</strong>: Analysis must be formatted consistently for stakeholder consumption, typically following organizational standards.</p></li></ol><h2><strong>Limitations of Purely Prompt-Based Generative AI</strong></h2><p>While generative AI can conceptually handle these tasks, several limitations emerge:</p><ol><li><p><strong>Numerical Imprecision</strong>: LLMs aren't designed for high-precision calculations. For example, when calculating error concentrations, they might round inconsistently or make arithmetic errors.</p></li><li><p><strong>Consistency Issues</strong>: Simply asking an LLM to "Find forecast errors and explain them" produces different outputs on each run, making the analysis unreliable for stakeholders.</p></li><li><p><strong>Black-Box Reasoning</strong>: The inability to trace how an AI reached its conclusions undermines confidence in the analysis, especially when stakeholders ask specific questions about methodology.</p></li><li><p><strong>Multi-Step Logic Challenges</strong>: Complex calculations, like calculating error concentration metrics, often get muddled when handled solely within prompts.</p></li><li><p><strong>Plausible but Incorrect Explanations</strong>: LLMs can generate convincing-sounding explanations that attribute variance to incorrect business drivers, potentially misleading decision-makers.</p></li></ol><h2><strong>A Structured Approach: Graph-constrained Agent Workflows with State Management</strong></h2><p>Rather than relying solely on prompts, a more effective approach uses a structured workflow with clearly defined roles:</p><h3><strong>1. Workflow Graph with Validation Cycles and Logic Loopbacks</strong></h3><p>The core innovation is implementing a cyclic workflow graph where:</p><pre><code>Data Acquisition &#8594; Data Validation &#8594; Calculation &#8594; Analysis &#8594; Presentation
       &#8593;                                   |
       &#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;(if validation fails)&#9472;&#9472;&#9472;&#9496;</code></pre><p>This pattern enables powerful control loop mechanisms where agents can:</p><ol><li><p><strong>Self-Correct through Feedback</strong>: Agents can evaluate their own outputs and initiate remedial actions when quality thresholds aren't met</p></li><li><p><strong>Implement Adaptive Sampling</strong>: Dynamically adjust data granularity based on detected error patterns</p></li><li><p><strong>Enforce Quality Gates</strong>: Establish validation checkpoints that must be passed before proceeding to subsequent analysis stages</p></li><li><p><strong>Create Learning Loops</strong>: Track successful analysis patterns to improve performance over time</p></li></ol><p>For example, if a data query returns unexpected results, the system can retry with clarifications:</p><pre><code>// Pseudocode example of retry logic
if (nielsen_data is invalid or empty):
  increment retry_count
  if (retry_count &lt; 3):
    add_context("Previous query failed, please ensure it includes all required metrics")
    retry_query()
  else:
    log_error("Unable to retrieve valid Nielsen data after 3 attempts")
    proceed_with_available_data()</code></pre><h3><strong>2. Global State Management</strong></h3><p>A well-structured global state management system is crucial for maintaining context and tracking execution. The example system uses an AnalysisState typology with these key components:</p><pre><code># An excerpt of our AnalysisState TypedDict:
class AnalysisState(TypedDict):
    # Tracing and debugging
    analysis_path: List[str]                  # Records each step in the execution
    
    # Analysis artifacts
    raw_data: Dict[str, pd.DataFrame]         # Original query results
    processed_data: Dict[str, pd.DataFrame]   # Calculated metrics
    summary_stats: Dict[str, Dict[str, Dict]] # Statistical summaries
    
    # Error handling
    analysis_attempts: int                    # Retry counter 
    last_analysis_error: Optional[str]        # Last error message
    
    # Data sources
    nielsen_data: Dict[str, pd.DataFrame]     # Market share data by level</code></pre><p>This state object allows comprehensive tracking of the analysis process, making the system's reasoning transparent and debuggable. But this approach to state management requires careful consideration of memory tradeoffs:</p><ol><li><p><strong>Raw vs. Consolidated Data</strong>: For high-volume datasets, we store both raw query results and processed metrics, allowing for reanalysis without re-querying while maintaining access to original data</p></li><li><p><strong>Summary vs. Full Data</strong>: The system strategically combines both approaches - storing full data for active analysis levels but using statistical summaries for cross-level comparison</p></li><li><p><strong>In-Memory vs. Persistent Storage</strong>: Time-critical data remains in memory for fast access during the analysis workflow, while embeddings or large historical datasets might be offloaded to file system storage when not actively needed</p></li></ol><p>These design decisions ensure the workflow remains responsive even with large datasets while maintaining a complete audit trail of the analysis process.</p><h3><strong>3. Task Separation</strong></h3><p>Rather than a monolithic AI system, key tasks are delegated to specialized components:</p><ul><li><p><strong>SQL Generation</strong>: The LLM translates structured prompts into precise SQL queries, executes them, and performs initial validation to ensure completeness and correctness.</p></li><li><p><strong>Metric Calculation</strong>: All statistical computations are handled deterministically using pandas, ensuring precision and repeatability without relying on the LLM.</p></li><li><p><strong>Threshold Application</strong>: The LLM applies domain-informed, subjective thresholds to algorithmically flag significant contributors based on the calculated metrics.</p></li><li><p><strong>Market Context Integration</strong>: Leveraging the existing output, the LLM dynamically determines which supplementary data sources to query (e.g., Nielsen, DAR) and how to enrich the analysis with them.</p></li><li><p><strong>Natural Language Insights</strong>: The LLM interprets the structured data and generates contextualized, human-readable explanations to communicate root causes and patterns clearly.</p></li></ul><p>For example, when calculating forecast error metrics, the system uses deterministic functions rather than asking the LLM to perform math:</p><pre><code>// Pseudocode for error metric calculation
function compute_forecast_error_metrics(data):
  for each metric in metrics:
     data["error"] = data["forecast"] - data["actual"]
     data["abs_error"] = absolute_value(data["error"])
     total_error = sum(data["abs_error"])
     data["contribution_percentage"] = (data["abs_error"] / total_error) * 100
     data["error_direction"] = if error &gt; 0 then "Over" else "Under"
  return data</code></pre><h3><strong>4. Data-First Approach</strong></h3><p>The workflow prioritizes data collection and structuring before analysis:</p><ol><li><p>Query base forecast vs. actual data</p></li><li><p>Calculate error metrics (MAPE, bias, etc.)</p></li><li><p>Identify significant contributors based on statistical thresholds</p></li><li><p>Pull in contextual data (Nielsen market share, DAR drivers)</p></li><li><p>Only then perform analysis and generate insights</p></li></ol><p>This ensures the AI has all relevant information available when forming conclusions, rather than speculating based on incomplete data.</p><h3><strong>5. Analysis at the Right Stage</strong></h3><p>The AI's strengths in pattern recognition and natural language generation are applied after data is properly structured:</p><pre><code>// Pseudocode for insight generation
function generate_level_output(level, stats, contributors, dar_data, nielsen_data):
  // Combine all preprocessed data into context
  context = {
     "level": level,
     "summary_statistics": stats,
     "significant_contributors": contributors,
     "market_drivers": dar_data,
     "market_share": nielsen_data
  }
  // Now let the LLM generate insights with all data available
  return ask_llm_for_analysis(context)</code></pre><p>Positioning analysis at the end of the workflow creates multiple benefits:</p><ol><li><p><strong>Rapid Iteration on Analysis Logic</strong>: With all data pre-collected and structured, analysts can quickly modify prompts to generate different insights without re-running the entire data pipeline. For example, changing the analysis focus from "identify over-forecasted products" to "analyze base vs. incremental components" requires only prompt adjustments, not data restructuring.</p></li><li><p><strong>Complex Analysis Without Complex Code</strong>: The LLM can generate sophisticated multi-factor analyses by examining relationships across various data sources. For instance, it can correlate Nielsen market share data with forecast errors to identify external market factors - all without explicit programming of these relationships.</p></li><li><p><strong>Contextual Adaptation</strong>: Different business scenarios may require different analysis approaches. A structured system can adjust prompts based on detected patterns - for example, using different analysis logic when errors are highly concentrated versus widely distributed.</p></li><li><p><strong>Prompt Engineering Efficiency</strong>: Since all relevant data is already in the context, prompt engineers can focus on analysis quality rather than data extraction logic. This separation allows non-technical business experts to refine analysis prompts without changing the underlying data pipeline.</p></li><li><p><strong>Maximum Leverage of Context Windows</strong>: Modern LLMs with large context windows can process all relevant data simultaneously, enabling cross-referencing between different metrics and levels that would require complex logic in traditional programming.</p></li></ol><p>A practical example of this approach's flexibility: when a demand planner needs to incorporate a new logic to map pipefill volume in error calculation, they can simply update the prompt template to include this dimension without modifying the data collection or calculation code. The system will leverage the already-collected metrics to generate new insights immediately.</p><h3><strong>6. Prescriptive Prompting for Structured Reasoning</strong></h3><p>Another key insight in our system is the implementation of <strong>structured causal reasoning frameworks</strong> within prompts that guide the AI through domain-specific analytical pathways.</p><p>Just as we use carefully designed workflows to process data, we apply equally rigorous structure to the reasoning process itself. This prescriptive approach ensures that AI analysis follows expert human reasoning patterns rather than taking unpredictable paths that may sound plausible but lack grounding in domain expertise.</p><p>For example, when analyzing forecast errors, we don't simply ask the AI to "explain the variance." Instead, we provide a step-by-step causal reasoning framework that mirrors how an experienced demand planner would approach the problem:</p><pre><code># Example of structured reasoning instructions in a prompt
prompt = """
Analyze the forecast error patterns in this data and identify likely causes.
&#8203;
For significant over-forecasting (where forecast &gt; actual):
* First check market share: Did our share decline more than historical trend?
* Then check category performance: Did the category decline unexpectedly?
* Examine pricing factors: Were you expecting a price decrease that did not materialize?
* Assess marketing impact: Did expected marketing contribution not materialize?
&#8203;
For market dynamics impact:
* If over-forecast, negative market dynamics represents a gap between forecast and actual
* Test whether the movement year-over-year is consistent with trend/share patterns
* Check if there are other external factors reflected in the data
&#8203;
Base your reasoning on the actual data provided, not general assumptions.
Provide specific, data-backed explanations that reference the metrics shown.
"""</code></pre><p>This prescriptive approach guides the AI to follow the same reasoning processes a human analyst would, while staying grounded in the actual data.</p><h2><strong>The Workflow in Action: A Demand Planning Example</strong></h2><p>Let's walk through how this structured approach works in practice:</p><h3><strong>1. Data Collection and Validation</strong></h3><p>The workflow begins by gathering forecast vs. actual data at different hierarchy levels. The graph's first stage queries the database for each level (brand, category, SKU), validates the results, and stores the raw data in the state:</p><pre><code>State["analysis_path"]: 
- "initialize: created analysis queue with hierarchy levels"
- "select: starting analysis for category level"
- "calculate: starting metrics calculation for category"</code></pre><p>Each level is processed systematically with validation to ensure data quality.</p><h3><strong>2. Metric Calculation and Contributor Identification</strong></h3><p>Once raw data is available, the workflow calculates forecast error metrics deterministically:</p><pre><code>State["analysis_path"]:
- "calculate: completed metrics calculation"
- "identify_contributors: starting identification for category"</code></pre><p>For significant contributor identification, the system:</p><ul><li><p>Calculates a concentration ratio to understand error distribution</p></li><li><p>Dynamically adjusts thresholds based on this concentration</p></li><li><p>Selects records meeting either coverage or contribution criteria</p></li></ul><h3><strong>3. Contextual Data Integration</strong></h3><p>To enable root cause analysis, the workflow conditionally fetches additional data sources:</p><pre><code>State["analysis_path"]:
- "decision: fetching DAR data"
- "dar: successfully fetched DAR data"
- "nielsen: starting data fetch for category"</code></pre><p>These retry loops ensure robustness against temporary database issues, implementing automatic retries with increasingly detailed context:</p><pre><code>// Pseudocode example of retry context
if (nielsen_attempt &gt; 0):
  context = f"Previous query failed with error: {last_nielsen_error}. 
  Ensure you group by the correct category columns."</code></pre><h3><strong>4. Analysis with Structured Reasoning</strong></h3><p>Finally, when all data is available, the analysis step applies structured reasoning:</p><pre><code>State["analysis_path"]:
- "output: generating formatted analysis for category"</code></pre><p>The AI is given precise instructions on how to approach the reasoning:</p><pre><code>"First identify the direction of forecast error. If we over-forecasted, examine whether market share declined more than expected. Check the nielsen_data for category-level share trends. Then examine year-over-year patterns in the dar_data to identify if marketing, pricing, or distribution factors contributed."</code></pre><p>This structured approach ensures the reasoning follows business logic and remains consistent across analyses.</p><h2><strong>Conclusion</strong></h2><p>Successful integration of generative AI in demand planning requires a structured approach that:</p><ol><li><p><strong>Separates responsibilities</strong> between deterministic calculation and AI interpretation</p></li><li><p><strong>Implements validation cycles</strong> to ensure data quality</p></li><li><p><strong>Maintains comprehensive state</strong> to track execution and enable debugging</p></li><li><p><strong>Prioritizes data structuring</strong> before applying AI for insight generation</p></li></ol><p>By combining the precision of traditional analytics with the interpretive capabilities of generative AI, organizations can produce more insightful, consistent, and reliable demand planning analyses.</p><p>The key is finding the right balance &#8211; using generative AI where it excels (pattern recognition, natural language, explanation) while relying on deterministic methods for the precise calculations that form the foundation of trustworthy analysis.</p>]]></content:encoded></item><item><title><![CDATA[How to Model and Forecast New Products in Demand Planning]]></title><description><![CDATA[Demand forecasting for new products presents a unique challenge in demand planning.]]></description><link>https://fiziyadav.substack.com/p/how-to-model-and-forecast-new-products</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/how-to-model-and-forecast-new-products</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Mon, 16 Dec 2024 22:38:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/dbf19622-9c61-4696-8f6d-b12856e1dcb3_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Demand forecasting for new products presents a unique challenge in demand planning. Unlike established products with historical sales data, <strong>New Product Introductions (NPIs)</strong> lack any past performance records, making it difficult to predict demand accurately. Traditional time series forecasting methods heavily rely on past sales patterns to predict future demand, but for NPIs, there is no historical baseline, rendering conventional approaches less effective.</p><p>In this article, we&#8217;ll explore how to tackle this problem using <strong>Bayesian hierarchical modeling</strong>&#8212;a flexible statistical approach that allows us to &#8220;borrow&#8221; information from similar products launched in the past. This modeling framework can adapt to different levels of product grouping (or hierarchy) and incorporate a <strong>transition curve</strong> that captures the unique adoption phase of NPIs. By leveraging information from similar products within the same hierarchy, Bayesian hierarchical models allow us to create reliable forecasts for NPIs, even in the absence of historical data. Let&#8217;s dive into the concepts, approaches, and practical steps for forecasting new product demand using this approach.</p><p><strong>The Challenge of Forecasting New Products</strong></p><p>For established products, demand forecasting typically involves analyzing historical sales data, seasonal patterns, and external factors. However, NPIs present a different landscape, as there&#8217;s no prior sales data for the new product. This leads to several challenges:</p><blockquote><p>1. <strong>Lack of Data</strong>: No historical baseline exists for identifying trends or seasonal patterns.</p><p>2. <strong>Uncertain Demand Patterns</strong>: New products often exhibit unique adoption curves, particularly in the early stages, which makes demand highly variable.</p><p>3. <strong>Difficulty in Systematizing Expert Judgement</strong>: In the absence of data, demand planners often rely on expert judgement, which can be subjective and inconsistent.</p></blockquote><p><strong>Bayesian hierarchical modeling</strong> offers a robust solution to these challenges. By designing a hierarchical model, we can pool information across similar NPIs, account for various levels of grouping (such as product category or retailer), and model product-specific variations in a systematic way.</p><p><strong>Bayesian Hierarchical Modeling for NPIs</strong></p><p><strong>Bayesian hierarchical modeling</strong> is a statistical technique that allows us to build flexible models with structured relationships across different levels of data. For NPIs, this means we can leverage information from past NPIs within the same product category or retail environment to model demand. By structuring the model hierarchically, we can estimate demand patterns that are common across similar products, while also capturing nuances unique to each new product.</p><p><strong>Why Bayesian Methods?</strong></p><p>Bayesian methods are particularly well-suited for NPI forecasting due to several advantages:</p><blockquote><p>&#8226; <strong>Borrowing Patterns from Similar NPIs</strong>: A hierarchical structure allows the model to pool information from similar new products launched in the past within the same category or retailer. This establishes a reasonable baseline for NPIs.</p><p>&#8226; <strong>Quantifying Uncertainty</strong>: Bayesian models generate full posterior distributions for each parameter, providing credible intervals that allow us to quantify the uncertainty in each forecast&#8212;a critical feature when demand is highly unpredictable.</p><p>&#8226; <strong>Flexibility in Hierarchical Structure and Transition Modeling</strong>: Bayesian models can handle one-level or multi-level hierarchies and adapt to different grouping structures, such as product categories or retailers. Additionally, they can model the initial transition phase (or adoption curve) that is common in NPIs.</p></blockquote><p><strong>Building a Bayesian Model for NPI Forecasting with Hierarchical Flexibility</strong></p><p>In our approach, we&#8217;ve developed a single, flexible Bayesian hierarchical model that can be tailored to different demand forecasting needs based on the product hierarchy and complexity. This model is adaptable, allowing for both one-level and multi-level hierarchies, depending on the product&#8217;s structure in the organization. It also incorporates a <strong>transition curve</strong> that captures the initial adoption phase for NPIs, which is essential for modeling demand for new products without historical data.</p><p>Let&#8217;s explore how the hierarchical structure and the transition curve work within this model.</p><p><strong>Hierarchical Flexibility: One-Level and Multi-Level Structures</strong></p><p>The model is designed to support different levels of product hierarchy, which allows it to handle a variety of product groupings. Here&#8217;s how this flexibility works:</p><blockquote><p>1. <strong>Single-Level Hierarchy</strong>: In most scenarios, products have only a single dimension &#8212;such as product category. Hence, the model can be structured with a single grouping level which makes it simpler to implement. For example, if we&#8217;re forecasting demand for a new type of snack bar launched across multiple stores, we might only need to capture variations across stores, without further grouping.</p><p>2. <strong>Multi-Level Hierarchy</strong>: When products are organized within broader categories or regions, the model can be structured to capture multiple levels of grouping. For instance, if a company launches a new line of eco-friendly cleaning products, each product might fall under broader categories (like &#8220;kitchen cleaners&#8221; or &#8220;bathroom cleaners&#8221;) or be specific to certain retailers. In this case, the model can incorporate multiple levels of hierarchy to account for both the individual product trends and the category or retailer-level patterns.</p></blockquote><p>Our model&#8217;s flexibility means we can configure it based on the appropriate grouping dimensions for each forecasting scenario. By adjusting the hierarchy levels (e.g., adding or removing group levels), the model can capture the unique demand behavior of each NPI while still benefiting from shared information within similar groups.</p><p><strong>Role of Transition Curve &amp; Launch Date for Capturing Early-Stage Adoption</strong></p><p>New products often exhibit distinct demand phases, particularly in the period immediately following their launch. This early demand phase might involve a rapid increase in sales, a peak, and then a stabilization period. To model this dynamic, we include a <strong>transition curve</strong> which allows us to accurately capture the adoption phase for new products.</p><p>Each product within the hierarchy&#8212;down to the most granular level&#8212;has its own transition curve that reflects its unique adoption characteristics. The parameters of the transition curve, such as the <strong>rate of adoption</strong>, the <strong>peak demand</strong>, and the <strong>stabilization period</strong>, are modeled hierarchically. This means that products belonging to the same group, like a product category or retailer, share common patterns while still allowing flexibility to represent product-specific variations.</p><p>Importantly, the <strong>launch date</strong> of the new product acts as an additional parameter for inference. It defines when the transition curve begins&#8212;essentially the point in time when the business starts putting the product in stores. For new products, the launch date is a critical input because it anchors the transition curve, ensuring the model can accurately capture the timing and shape of the demand build-up. However, for products included in the training data (past products), the launch date is not required; their observed historical data already provides the demand trajectory.</p><p>To illustrate:</p><blockquote><p>&#8226; <strong>A highly anticipated product</strong>, like a gaming console, will have a sharp, early peak in demand right after the launch date, as the transition curve kicks in immediately.</p><p>&#8226; <strong>Niche products</strong> may see a slower adoption phase, with demand ramping up more gradually over time, depending on the launch date and the dynamics of their respective product category.</p></blockquote><p>By treating the transition curve&#8217;s parameters (adoption rate, peak, stabilization) hierarchically, the model pools insights from similar products while retaining the flexibility to reflect individual adoption patterns. The <strong>launch date</strong> provides a starting point for the transition function, ensuring that the model can project future demand for new products based on when they hit the market.</p><p>To further strengthen the model, <strong>informative priors</strong> are set for the transition curve parameters. These priors act as a guide, particularly when data for a new product is sparse or limited. They ensure that the model converges accurately and avoids unrealistic forecasts, while still allowing room for learning as new data becomes available.</p><p>By structuring the transition curve hierarchically, the model is able to capture both the <strong>stationary demand characteristics</strong> (long-term behavior) and the <strong>dynamic adoption phase</strong> (transition behavior) for NPIs.</p><p><strong>How the Model Works in Practice</strong></p><p>Our Bayesian hierarchical model, implemented using <strong>CmdStanPy</strong> (a Python interface for Stan), follows a structured workflow to provide robust demand forecasts for NPIs:</p><blockquote><p>1. <strong>Define the Model Structure</strong>: Based on the product&#8217;s grouping complexity, we configure the hierarchy as either a one-level or multi-level structure. The choice of grouping dimensions, such as product category or retailer, depends on what best represents the relationships between similar products.</p><p>2. <strong>Incorporate Priors and Transition Curve</strong>: The model uses Bayesian priors, informed by similar NPIs, to guide parameter estimates. It also incorporates the transition curve, with hierarchical parameters to capture group-specific adoption patterns.</p><p>3. <strong>Fit the Model Using MCMC</strong>: CmdStanPy runs MCMC (Markov Chain Monte Carlo) sampling to estimate the posterior distributions of the model parameters, capturing both group-level patterns and product-specific effects.</p><p>4. <strong>Generate Predictions with Uncertainty</strong>: The model produces forecasts with credible intervals, providing a range of likely demand outcomes that account for the uncertainty inherent in NPI forecasting.</p></blockquote><p>This workflow allows us to generate demand forecasts with quantified uncertainty, making the model well-suited for NPIs where limited data is available but reliable, data-driven estimates are essential.</p><p><strong>Benefits of a Flexible Bayesian Hierarchical Model for New Product Forecasting</strong></p><p>Using a single, flexible Bayesian hierarchical model for NPIs provides several advantages:</p><blockquote><p>1. <strong>Reliable Forecasts for New Products</strong>: By leveraging patterns from similar products launched in the past and incorporating the transition curve, we create reasonable demand estimates for new products. The transition curve parameters allow us to model the unique adoption phase of NPIs, capturing the dynamic early-stage demand that is typical for new products.</p><p>2. <strong>Quantification of Uncertainty</strong>: Bayesian models provide full posterior distributions, allowing us to estimate credible intervals for each forecast. This is particularly valuable for NPI forecasting, where demand is often unpredictable and quantifying uncertainty is critical.</p><p>3. <strong>Scalability for Complex Product Lines</strong>: The hierarchical structure of the model allows it to scale across different levels of product complexity. Whether forecasting demand for a single level (like individual products in multiple stores) or multiple levels (such as products grouped by category and retailer), the model is adaptable to large, complex product portfolios.</p><p>4. <strong>Flexibility to Add Exogenous Variables</strong>: Bayesian methods can easily incorporate additional features, such as seasonality effects or external factors, which further refine forecasts and make the model adaptable to different contexts.</p></blockquote><p><strong>Conclusion</strong></p><p>Forecasting demand for new products without historical data is challenging, but <strong>Bayesian hierarchical modeling</strong> provides a robust and flexible solution. By designing a single model that can adapt to different hierarchy levels and incorporate a transition curve for the adoption phase, we can create reliable forecasts for NPIs, even in the absence of direct historical data.</p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Mastering the Future: Forecasting Models for Smarter Business Planning]]></title><description><![CDATA[At its core, Integrated Business Planning involves the creation of a sound forecast that turns into a constrained demand plan.]]></description><link>https://fiziyadav.substack.com/p/mastering-the-future-forecasting</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/mastering-the-future-forecasting</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Sun, 13 Oct 2024 19:37:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7ebb4f9a-e56e-43fd-8526-92928cfd597b_1792x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At its core, Integrated Business Planning involves the creation of a sound forecast that turns into a constrained demand plan. This is a product of analysis, near-term goals and expert opinion and also informs the long-term strategic vision. Here we provide the different ways in which forecasts are produced across industries. But before exploring specific forecasting models, it&#8217;s crucial to recognize that the real strength of demand forecasting comes from how multiple models are integrated into a well-designed architecture. Rather than relying solely on one model, businesses can gain more accurate and actionable insights by integrating multiple modeling blocks into an <strong>ensemble framework</strong>. For instance, a Marketing Mix model can provide the right pricing elasticity that is then fed into a <strong>consumption model</strong> that can forecast customer demand. This is then augmented by <strong>estimates by experts</strong> and can then feed into a <strong>sell-in model</strong> to optimize supply chain and inventory decisions. This layered approach allows each model to focus on different aspects of the forecasting process, ensuring that the final output accounts for both internal patterns and external influences. Ultimately, <strong>it is the architecture and thoughtful combination of models that drive better forecasts, addressing the complexities of real-world business challenges more effectively than any single out-of-the-box model could</strong>.</p><h2><strong>Statistical Forecasting Methods</strong></h2><p>Statistical methods rely on historical data and mathematical models to project future demand. These methods are generally easy to implement and are widely used across industries where the demand patterns are relatively stable and predictable with clear trends and seasonality, these being retail (forecasting short-term store replenishments or regional/store-level demand of staple goods), manufacturing and energy.</p><p><strong>Time Series Analysis</strong>: examine historical data to identify trends, cycles, and seasonality. <strong>Use Case</strong>: Forecasting sales for stable, consistent products where past data patterns are predictive of future demand. Some common techniques include:</p><ul><li><p>Moving Averages: calculates the average of a subset of data points within a sliding window over time. The idea is to reduce short-term fluctuations and highlight longer-term trends</p></li><li><p>Exponential Smoothing: weighs recent data more heavily than older data, making it useful for products with stable but slightly fluctuating demand.</p></li><li><p>Holt-Winters Exponential Smoothing: form of exponential smoothing used to forecast time series data that exhibits both trend and seasonality. Works well for time series with regular patterns and seasonality such as Seasonal sales forecasting for retail or e-commerce, where demand fluctuates based on holidays or recurring events.</p></li><li><p>ARIMA (AutoRegressive Integrated Moving Average): more advanced statistical forecasting method that models the relationship between current and past values in a time series. It combines three components: <em>AutoRegressive (AR)</em>, <em>Integrated (I)</em>, and <em>Moving Average (MA)</em> to model both the trend and the pattern in the data.</p></li></ul><p><strong>Time Series Analysis with Exogenous Features</strong>: adds <em>exogenous variables</em> (additional external features) to the time-series data to improve forecasting accuracy. These models are useful when external factors like promotions, weather, or economic conditions influence the time series.</p><ul><li><p>ARIMAX (ARIMA with Exogenous Variables): Adds external, explanatory variables (e.g., marketing spend) to the ARIMA model.</p></li><li><p>SARIMAX (Seasonal ARIMAX): Similar to ARIMAX, but with seasonal adjustments. It incorporates exogenous data like economic indicators to improve seasonal forecasting.</p></li><li><p>VAR (Vector Autoregression): A multivariate model that forecasts multiple interdependent time series simultaneously, considering how they influence each other. Useful for datasets where several variables interact, like different product categories</p></li></ul><h2><strong>Machine Learning (ML)-Based Forecasting Methods</strong></h2><p>ML-based methods are increasingly popular for demand forecasting because they can analyze large datasets and detect complex patterns that statistical models may miss. This is especially useful when demand is influenced by multiple factors, such as promotions, product distribution, pricing, economic conditions, or consumer behavior. However, the quality of any ML model depends heavily on the quality of the input data. In demand forecasting, having clean, structured data is a critical requirement. While deep learning techniques can incorporate unstructured data to improve forecast accuracy, such data typically serves as a supplement rather than the primary driver of model improvement.</p><p>As a result, much of the effort goes into identifying and building high-quality data inputs. Additionally, using ensemble models often comes at the cost of explainability. Techniques like SHAP can help attribute the output to the correct drivers, but as ML models become more complex, it becomes increasingly difficult to provide clear explanations for their predictions.</p><p>Here&#8217;s a breakdown of the different ways to produce ML forecasts:</p><p><strong>Bayesian Forecasting Models</strong>: These models use Bayesian inference to update the probability of an outcome as more information becomes available. They are ideal for time series with uncertainty or irregular patterns (new product introductions or skus with little sales history)</p><ul><li><p>Prophet: Developed by Facebook, Prophet is a robust model for <strong>time series forecasting</strong> with daily, weekly, or yearly seasonality. It handles missing data and outliers well.<strong>Use Case</strong>: Retail sales forecasting with seasonality, holiday effects, and promotions.</p></li><li><p>Orbit: Another Bayesian forecasting model similar to Prophet. It&#8217;s designed for scalable Bayesian time series forecasting and is particularly suitable for datasets with irregular or sparse patterns.</p></li><li><p>Bayesian Ridge Regression: An ML extension of linear regression that includes Bayesian inference for time series prediction with uncertainty estimates</p></li></ul><p><strong>Gradient Tree Boosting Models</strong>: This category includes methods that apply decision trees in an iterative boosting framework. These models are powerful for predicting demand when multiple variables interact (e.g., promotions, prices, seasons). <strong>Use Case</strong>: Forecasting product sales based on many structured inputs like product type, historical demand, location and pricing.</p><ul><li><p>Random Forests: An ensemble learning model that builds multiple decision trees and averages their predictions for more accurate results.</p></li><li><p>XGBoost (Extreme Gradient Boosting): A highly efficient, gradient-boosting algorithm that builds trees iteratively, improving each step.</p></li><li><p>LightGBM: Another fast, efficient gradient boosting algorithm similar to XGBoost, used for time series forecasting with engineered features. It is known for handling large datasets with ease.</p></li></ul><p><strong>Neural Networks</strong>: Flexible models that can handle both structured and unstructured data, learning complex patterns from large datasets. These are not widely used for time-series prediction but can be used as part of ensemble modle to augment prediction especially from unstructured data. <strong>Use Case</strong>: Forecasting sales or demand based on historical trends, customer behaviors and time-dependent data (e.g., weekly sales fluctuations).</p><ul><li><p>Feedforward Neural Networks: A basic type of neural network that predicts outcomes by learning the relationships between input variables.</p></li><li><p>LSTM (Long Short-Term Memory Networks): A type of recurrent neural network (RNN) designed to capture sequential patterns in time-series data.</p></li></ul><h2><strong>Collaborative and Judgmental Forecasting</strong></h2><p>These strategies integrate human expertise, market knowledge, and collaboration across stakeholders and can be used standalone or as augmentation to statistical or ML methodologies discussed above. This is how industries like manufacturing have traditionally set up where they align their production schedules with anticipated demand by bringing together data from various departments (e.g., sales, marketing, and operations) to create a consolidated demand forecast.</p><p><strong>Delphi Method</strong>: This expert-driven forecasting method is often used in healthcare, pharmaceuticals, and industries with long product development cycles. Experts provide independent demand estimates, which are then aggregated for a consensus forecast.</p><p><strong>Collaborative Planning, Forecasting, and Replenishment (CPFR)</strong>: This method is prevalent in retail and supply chain industries, where companies collaborate with suppliers and retailers to share data and co-create demand forecasts. This helps ensure products are always available where and when they are needed.</p>]]></content:encoded></item><item><title><![CDATA[Opportunities ( & some limitations ) of Generative AI in IBP]]></title><description><![CDATA[Generative AI is currently in an incubation phase, with research progressing at a rapid pace as new models are constantly emerging.]]></description><link>https://fiziyadav.substack.com/p/opportunities-and-some-limitations</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/opportunities-and-some-limitations</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Wed, 09 Oct 2024 18:47:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mh6B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mh6B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mh6B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 424w, https://substackcdn.com/image/fetch/$s_!mh6B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 848w, https://substackcdn.com/image/fetch/$s_!mh6B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 1272w, https://substackcdn.com/image/fetch/$s_!mh6B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mh6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png" width="1020" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&quot;width&quot;:1020,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:924273,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mh6B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 424w, https://substackcdn.com/image/fetch/$s_!mh6B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 848w, https://substackcdn.com/image/fetch/$s_!mh6B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 1272w, https://substackcdn.com/image/fetch/$s_!mh6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a7e4667-ffbc-4c3b-902b-a319b05a596d_1020x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Generative AI is currently in an incubation phase, with research progressing at a rapid pace as new models are constantly emerging. However, the industry is still determining the most effective use cases for these models to drive meaningful change. This change can take various forms, such as increased productivity, unlocking new value propositions or market opportunities, streamlining automation, and enhancing decision-making and creativity.</p><p>IBP presents a significant opportunity for generative AI, particularly due to the vast amounts of data spread across various functions and the need to simulate scenarios and quickly find relevant answers. Based on experience with numerous generative AI cases, the following areas offer the greatest potential for uplift:</p><p></p><h3><strong>Providing Data Analysis in Natural Language</strong></h3><p>As generative AI models become more reliable and less prone to hallucinations, coupled with tighter control over data organization and access, a mechanism can be provided for business users to ask first-level analysis questions and receive answers quickly. Previously, this would require specialized SQL knowledge or reliance on data domain experts. By eliminating that dependency, faster responses and decision-making are enabled. However, it is crucial to implement sufficient guardrails to ensure the accuracy of the analysis. This can be achieved through several mechanisms:</p><ul><li><p><strong>Creating an Effective and Explainable Entity-Relationship Model for Storing Data</strong>: The fewer decision blocks a model goes through, the lower the risk of errors. Structuring tables coherently for easier analysis leads to better results. Generative AI should prioritize understanding the context of questions and retrieving relevant data from tables, rather than handling complex calculations.. As a guiding principle, if retrieving the response requires a Common Table Expression (CTE), it&#8217;s often better to create the response as a view.</p></li><li><p><strong>Constraining the Agent</strong>: It is essential to impose restrictions on how and what data an AI agent can access. Using a SQL agent that fetches data from tables with built-in row and column access controls is more prudent than employing a Python agent that reads flat files. Granular data controls help secure information, reducing the risk of breaches or misuse of agents.</p></li><li><p><strong>Validation Checks on the Response</strong>: Quality controls should be applied to the response itself. These can either be rules-based or encoded as contextual instructions for the AI agent, ensuring it validates the response before providing an answer.</p></li><li><p><strong>User Training</strong>: It is important not to rely solely on the technology. Upskilling users and providing them with foundational knowledge of generative AI, including its limitations, can help them better navigate the augmented processes.</p></li></ul><p></p><h3><strong>Creating Human-Readable Reports from Generated Analysis</strong></h3><p>Foundational models excel at natural language processing and generation, making them capable of transforming data-heavy reports into easily readable formats with the right context and guidance. This is valuable for generating insights and providing context to users who might otherwise require domain knowledge to interpret the information.</p><p><strong>Classification and Categorization of Semi-Structured and Unstructured Data</strong></p><p>This is a highly impactful use case for generative AI, significantly boosting productivity where traditional rules for categorization are loosely defined. Conventional rules-based or machine learning classifiers rely on structured training datasets, making them less effective with data that has fluid boundaries or is constantly evolving. Generative AI offers superior flexibility in interpreting such changes and is also easier to set up and adapt. In most cases, especially with non-specialized datasets, there&#8217;s no need for frequent model retraining.</p><h5><strong>Automation of Processes and Services</strong></h5><p>Automation is another key area where generative AI excels, and it has been a central focus for many business applications to date. By combining traditional coding techniques with AI agents, frameworks can be created to automate business processes that are often managed by SaaS models. Some examples include:</p><ul><li><p><strong>On-Demand Infrastructure Provisioning</strong>: AI agents can be designed to handle user requests for provisioning VMs, cloud services, or user accounts. These agents have access to service accounts and the necessary permissions to interpret user requests, verify eligibility, and complete the action.</p></li><li><p><strong>User Onboarding</strong>: Early adoption of AI has been seen in user onboarding through chatbots that assist with process queries. There are also innovations, like Google&#8217;s tool that converts scientific papers into podcast formats. Similar audio-visual formats can be used to guide users through processes.</p></li><li><p><strong>Auto-Scheduling of Product Lines</strong>: Generative AI can be embedded in workflows to eliminate manual processes and reduce friction. For example, if a production line fails, a user can request rescheduling. The AI agent can initiate an approval process, and upon approval, invoke an optimizer to rebalance production. Here, the agent acts as a mediator between services, enhancing automation.</p></li><li><p><strong>Route Management in Logistics</strong>: Generative AI can augment GIS data to optimize warehouse locations and reduce shipping costs. By analyzing historical data, demand forecasts, and transportation routes alongside GIS mapping, AI can provide real-time analysis of logistics bottlenecks and their solutions.</p></li></ul><p><em><strong>However, it is worth pointing out that Gen AI is still in its infancy when it comes to traditional ML domains such as time-series forecasting, optimization and scenario planning and as such should only be used to augment existing models until such a time when foundational models become better at it.</strong></em></p><p>Provided below, are a few examples where we have successfully implemented and industrialized Generative AI-driven processes.</p><ol><li><p><strong>Forecast Narrative</strong></p><p>In any planning process, demand forecasting is key and typically spans a defined time period, often updated monthly. While there are various methods for creating forecasts, many businesses are increasingly adopting machine learning-driven forecasts due to their high accuracy and bias reduction. However, these sophisticated models often lack explainability due to their black-box nature, making it challenging for demand planners to justify forecast changes. To alleviate this burden, we developed a Generative AI model that compares two forecasts and constructs a narrative explaining the differences. By structuring the model&#8217;s inputs and outputs intelligently and maintaining tight control over data, the AI could access and analyze changes between forecasts, referencing the underlying drivers to provide a plausible explanation. It then generated a complete narrative that planners could use. The key point here is that the Gen AI acts as a support tool, removing roadblocks in the process, although the planner still verifies the findings. This approach reduced the time needed to construct a narrative from a week to just two days.</p></li><li><p><strong>Analyst Bot</strong></p><p>We developed a helper bot designed to assist business users with data queries. This bot uses a SQL agent to translate natural language queries into SQL, execute them on the server, and then present the results in a standardized format to the user. As discussed earlier, the agent first checks the user&#8217;s permissions before fetching any data, and it also runs validation checks on the responses. This greatly democratized data analysis, enabling business users to be more productive in their daily work and significantly reducing the volume of ad hoc data requests to technical teams.</p></li><li><p><strong>Indirect Cost Classifier</strong></p><p>Indirect costs, or overhead costs, are expenses that cannot be directly linked to a specific product or service but are essential for the overall operation of a business. These costs span various activities and departments, making them difficult to track. We had an internal taxonomy for categorizing these costs, but previously, an associate had to manually review receipts collected by the client&#8212;a highly time-consuming process. By combining OCR with Generative AI, we created a system to automatically read data from receipts, identify the type of expense, and categorize it based on our taxonomy. This automation reduced the effort from days to mere minutes, streamlining the entire process. Knowing where these costs lie empowers businesses to negotiate or eliminate unnecessary expenses, ultimately enabling more effective cost management and improved control over spending.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[Harnessing the Power of Data in IBP Transformation]]></title><description><![CDATA[Harnessing the accrued and ever-increasing data continues to be the biggest challenges for companies embarking on IBP transformations and it is also the most important aspect to master for successful execution.]]></description><link>https://fiziyadav.substack.com/p/harnessing-the-power-of-data-in-ibp</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/harnessing-the-power-of-data-in-ibp</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Wed, 09 Oct 2024 18:36:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JwTw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JwTw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JwTw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 424w, https://substackcdn.com/image/fetch/$s_!JwTw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 848w, https://substackcdn.com/image/fetch/$s_!JwTw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 1272w, https://substackcdn.com/image/fetch/$s_!JwTw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JwTw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png" width="1000" height="571" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:571,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:737326,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JwTw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 424w, https://substackcdn.com/image/fetch/$s_!JwTw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 848w, https://substackcdn.com/image/fetch/$s_!JwTw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 1272w, https://substackcdn.com/image/fetch/$s_!JwTw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb077ce1c-7844-4ea6-94e6-9b9b42dcde18_1000x571.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Harnessing the accrued and ever-increasing data continues to be the biggest challenges for companies embarking on IBP transformations and it is also the most important aspect to master for successful execution. Here we delve into the factors that make mastering data so difficult and provide examples and guidance on how to overcome them.</p><h2><strong>Characteristics</strong></h2><p>Following are the major characteristics of the data powering IBP.</p><p><strong>Accurate</strong>: IBP data is used to generating forecasts and aid in decision making and as such it needs to be precise and reliable. There is no ceiling to the damage inaccuracy in data can present.</p><p><strong>Up to date</strong>: For the same reason as above, data needs to be real-time or near it, reflecting the current state of the business and its operations. This makes the decision-making process more agile and can also reduce communication touchpoints.</p><p><strong>Complete</strong>: IBP data is essential to central and holistic decision making. Therefore, it needs encompass all relevant aspects of the business. These include but are not limited to financial, operational, supply-chain, procurement, and market-related information.</p><p><strong>Granular</strong>: Operational data specific to supply chain has strict hierarchies especially as it relates to products or customers. Hence, the relevancy of data for the user can vary in granularity, from high-level summaries to detailed transactional data.</p><p>The data transformation must holistically encompass the above-mentioned aspects to truly gain insight from the information and provide tangible benefits in the decision-making process. Provided below are five necessary things an organization must do for the said data transformation.</p><h2><strong>Preparation</strong></h2><p>Having relevant data for the right users and processes is crucial precursor to enabling any kind of digital transformation. Most legacy organizations will have multiple systems and data sources. They will also have processes that have been built upon those systems and would often have dependencies on each other for normalizing the data. This often leads to situations where we define a different number based on who is looking. As s:uch, sufficient effort has to be focused on</p><ul><li><p>Disentangling these processes,</p></li><li><p>Formalizing the source contracts, collection and refresh cadence of data</p></li><li><p>Building out the relevant infrastructure and data pipelines</p></li><li><p>Building out the people system and processes to manage the pipelines.</p></li><li><p>Continuous monitoring and enhancements for robustness of the pipelines. Data will continue to grow and as such it is important that the technology evolves alongside it.</p></li></ul><p>This is perhaps the most time-intensive undertaking among all mentioned. So, it is important to do it in a staggered manner that allows for quicker results while also maintaining cohesion between the different services.</p><p>For a large retail client, we upgraded their ERP system, built an enterprise data platform, and developed downstream data layers that provided a more unified view of the organization's data. This enhanced visibility not only improved operational transparency but also led to a significant increase in data-driven use cases. As a result, the client was able to make more informed decisions and optimize various business processes, driving greater efficiency across the organization.</p><h2><strong>Scoping</strong></h2><p>The most crucial aspect for reaching a consensus on numbers is to first define clearly the right sources, transformations and units of the data being utilized for a given process. This is an oft-neglected part of a build that quickly comes to the fore when problems in measurement materialize. It is important to formally acknowledge the data scopes through written records and advertise them broadly so that everyone sings from the same hymn sheet.</p><p>Following are a few of the potential hazards in data that one may encounter:</p><ul><li><p>Shipments are tracked as actualized (remove returns or unfulfilled orders) or invoiced.</p></li><li><p>There may be multiple product id standards.</p></li><li><p>Shipments may have multiple units of measure.</p></li><li><p>Same data resides in two different sources. Orders are placed in SAP, but actualized shipments are tracked in Kinaxis.</p></li><li><p>Data categorization happens in multiple systems. Customer orders are recorded in SAP, but the product hierarchy is created in Kinaxis.</p></li><li><p>Forecasting is done for a subset of customers (say, retail)</p></li><li><p>Data Is not refreshed at the cadence that forecasting requires.</p></li><li><p>SMEs have incorrect definitions of data attributes and their usage.</p></li></ul><h2><strong>Data Model &amp; Platform Design</strong></h2><p>Once the scope is finalized, we can commence work on IBP specific data setup. This means taking the enterprise data and deliberately designing the pipelines and storage architecture that would allow for fit-for-purpose actions on the data by downstream IBM tasks and applications.</p><p>The data platform is a layer of fabric connecting multiple sources rather than a single component. Since the underlying storage solutions and their number change with advent of technology, you want an abstraction that can protect the application code from the changes. This can be a custom interface or a utility existing for a given language. For eg: python has <a href="https://filesystem-spec.readthedocs.io/en/latest/">fsspec</a>, an interface for interacting with different storage solutions.</p><p>Data model refers to structure and relationships between the different data attributes that drive IBP. As described above, this data comes from disparate operational and functional sources. So, the relationships between them has to be formed based on what the usage is and where the data is shown.</p><p>For a large B2B client, we created an internal planning application that required separating data structures based on two distinct patterns of viewing the data &#8211; high granularity charts and graphs that required high level of detail in the data and low granularity ones that showed trends over longer time horizon.</p><h2><strong>Governance</strong></h2><p>Data Governance refers to framework or practices that organizations implement to ensure that their data is managed effectively, securely, and in compliance with relevant regulations and policies. When it comes to IBP applications it encompasses the following:</p><h4><strong>Role Base Access Control (RBAC)</strong></h4><p>All interactions on the applications are attributed to clearly defined user personas and each persona can be assigned to one or more users. These personas govern the rights attached to a given UI component namely read, edit, delete etc. In this manner we place access controls in place using the persona/role. Usually RBAC is integrated with an organizations IT-maintained directory services &#8211; most common of them being Microsoft Active Directory</p><h4><strong>ABAC</strong></h4><p>While the personas govern how one interacts with the application, data controls affect what information one sees. A user is assigned a specific set of attributes which act as filters and are passed down from the UI. These are then applied at the source level (database, cache, static files) and the information is then returned back to the application layer. Different applications might implement this differently, but this is usually implemented at the application level itself for off-the-shelf solutions.</p><h4><strong>Data Lineage</strong></h4><p>Data lineage refers to the ability to track and comprehend the journey of data starting from its origin and ending at its destination. It involves capturing and documenting information about where the data originated, how it underwent transformations and the various steps it went through as it moved across systems, applications and processes.</p><p>Organizations benefit from data lineage as it provides them with an understanding of how data is created, manipulated, and utilized within their systems. It helps address questions such as:</p><ul><li><p>Where did the data originate from?</p></li><li><p>Who accessed or modified it?</p></li><li><p>Where was it stored?</p></li><li><p>How was it used or analyzed?</p></li></ul><p>For one client, we built a custom, automated data tracer from the ground up to track data lineage across various sources, both on-premises and in the cloud. This tracer captured and stored metadata related to the flow of data, tailored to the specific storage types (such as Parquet files or relational databases). This solution allowed us to document the entire journey of the data, making it possible to visualize the flow across systems in different formats and at varying levels of detail. This visibility was critical in ensuring data accuracy, transparency, and consistency throughout the organization's IBP processes.</p><p>In conclusion, harnessing data for Integrated Business Planning (IBP) transformation is no small feat. From ensuring data accuracy and granularity to managing multiple sources and aligning stakeholders, the path to success requires thoughtful planning and execution. By addressing these challenges&#8212;through processes and technology&#8212;organizations can unlock the full potential of their data.</p>]]></content:encoded></item><item><title><![CDATA[The Role of a Cohesive and Unifying Data Strategy in Integrated Business Planning (IBP)]]></title><description><![CDATA[In today&#8217;s fast-paced business environment, a cohesive and unifying data strategy is crucial for the success of Integrated Business Planning (IBP).]]></description><link>https://fiziyadav.substack.com/p/the-role-of-a-cohesive-and-unifying</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/the-role-of-a-cohesive-and-unifying</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Wed, 09 Oct 2024 18:21:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A7WN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A7WN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A7WN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 424w, https://substackcdn.com/image/fetch/$s_!A7WN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 848w, https://substackcdn.com/image/fetch/$s_!A7WN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!A7WN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A7WN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3584619,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!A7WN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 424w, https://substackcdn.com/image/fetch/$s_!A7WN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 848w, https://substackcdn.com/image/fetch/$s_!A7WN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!A7WN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e63d60d-7824-48f2-805e-ce72f1474948_1792x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In today&#8217;s fast-paced business environment, a cohesive and unifying data strategy is crucial for the success of Integrated Business Planning (IBP). By integrating multiple operations, IBP offers end-to-end supply chain visibility, seamless cross-functional connectivity, and accelerates key processes such as *Sales &amp; Operations Planning* (S&amp;OP), *Sales &amp; Operations Execution* (S&amp;OE), and *New Product Development* (NPD) cycles, addressing key challenges faced by legacy organizations.</p><p>Traditional companies often operate in silos, where each department maintains its own data, benchmarks, and units of measure. This disjointed approach can lead to inefficiencies and missed opportunities, as data from one operation can significantly impact others. For example, promotional activities can dramatically influence demand forecasts, underscoring the necessity of incorporating up-to-date marketing data into demand planning.</p><p>Furthermore, as businesses grow and expand into new markets, their operations become increasingly complex, making it difficult to manage without a comprehensive, integrated planning process. This complexity is further compounded by the ever-present risk of supply chain disruptions and the growing demands for sustainability and regulatory compliance. These factors underscore the critical need for a unified, forward-thinking IBP strategy.</p><p>To achieve seamless connectivity between different systems, it is essential to conduct a thorough analysis of existing processes and technologies. While this may sound straightforward, implementation can be complex. In this article, we will draw on a previous case study to illustrate the complexities of integrating multiple planning and source data systems, while also highlighting the best practices that have emerged from our work.</p><p>A robust IBP system unifies metrics or establishes clear conversion methods between different units of measure, harmonizing data across functions for improved benchmarking and cross-functional analysis. For instance, the sales team may track product movement in cases or pallets, while the manufacturing team monitors production in individual units. Meanwhile, the finance team may focus on the monetary value of goods sold or produced. A standardized conversion method will allow each department to retain its preferred unit of measure but translate all data into a common framework. This harmonization reduces errors, increases visibility, and improves decision-making, as all teams can access consistent, comparable data for more accurate forecasting, budgeting, and operational planning.</p><p>IBP also aligns operating cycles for greater efficiency and synchronizes data refresh cadences, ensuring maximum visibility. For instance, supply planners should have access to near real-time updates on shifting demand forecasts, rather than depending on periodic or delayed data. This real-time visibility allows them to respond more quickly to changes, reduce lead times, and optimize inventory levels by adjusting supply plans proactively, ensuring that stock is aligned with actual demand.</p><p>Central to this transformation is the creation of a global data repository with functional demarcation, yet accessible across departments as needed. This de-siloed, foundational approach opens the door to new insights and use cases that were previously undiscovered. It also accelerates the development and deployment of such use cases, thus enabling to significantly lower the cost of adoption of new technologies such as Generative AI. The central repository can function as a loosely federated system tailored to specific purposes but combined to provide a holistic view of business operations. Key components include:</p><ul><li><p><strong>Staging Layer</strong>: Stores structured and unstructured data (third-party data dumps, incoming analytic feeds, historical datasets).</p></li><li><p><strong>Big Data Layer</strong>: Houses semantic models for all incoming signals (shipment, consumption, inventory).</p></li><li><p><strong>Relational Layer</strong>: Facilitates predictive and optimization modeling (demand, supply, inventory, financial) and captures snapshots of key drivers (promotion, distribution, pricing, third-party coefficients).</p></li><li><p><strong>In-Memory Layer</strong>: Supports real-time reporting and complex datasets (hierarchical current forecast including adjustments, inventory levels).</p></li></ul><p>The industry is now moving towards a consolidated ***lake house*** approach, which combines all the layers into a unified system. All data is funneled into a single domain following the medallion architecture: *bronze* for raw data, *silver* for cleansed and enriched data, and *gold* for high-quality, ready-for-use data. This structure improves scalability, ensures real-time insights, and simplifies data management for enhanced decision-making.</p><p>No matter the underlying architecture, the central repository acts as a conduit for data flow between all operations, creating a paradigm where data from various functions integrates seamlessly. To ensure the success of this architecture, it is crucial to establish a clear data governance structure, enforce robust security measures, provide role-based access, and continuously monitor data pipelines.</p><p>In conclusion, an overarching focus on data strategy is the cornerstone of effective IBP, driving operational efficiency and business growth. By integrating operations, harmonizing data, and ensuring real-time visibility into it, companies can make informed decisions faster and more effectively. Embracing a unified data strategy within IBP not only aligns with current business demands but also positions organizations for a future of sustained success.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://fiziyadav.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Fizi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Coming soon]]></title><description><![CDATA[This is Fizi&#8217;s Substack.]]></description><link>https://fiziyadav.substack.com/p/coming-soon</link><guid isPermaLink="false">https://fiziyadav.substack.com/p/coming-soon</guid><dc:creator><![CDATA[Fizi]]></dc:creator><pubDate>Sat, 28 Sep 2024 14:45:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hMO1!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29764894-0a65-4bbb-9879-1fa89692ea6c_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is Fizi&#8217;s Substack.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://fiziyadav.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://fiziyadav.substack.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item></channel></rss>