<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The SAS Data Science Blog</title>
	<atom:link href="https://blogs.sas.com/content/subconsciousmusings/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.sas.com/content/subconsciousmusings/</link>
	<description>Advanced analytics from SAS data scientists</description>
	<lastBuildDate>Fri, 06 Nov 2026 15:12:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6</generator>
	<item>
		<title>SAS in the Agentic AI Space</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/#respond</comments>
		
		<dc:creator><![CDATA[William Nadolski]]></dc:creator>
		<pubDate>Fri, 06 Nov 2026 15:03:21 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI agents]]></category>
		<category><![CDATA[Applied AI Modeling]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[Demystifying Recent AI Advances]]></category>
		<category><![CDATA[SAS Model]]></category>
		<category><![CDATA[SAS Models]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22889</guid>

					<description><![CDATA[<p>Part 5 in the Demystifying Recent AI Advances Series Over the previous four posts in this series, we have covered a lot of conceptual ground: the model zoo and the generative-versus-discriminative divide; the autonomy spectrum from chatbots to agents; the plumbing of Skills, MCP, and harnesses; the retrieval architectures that [...]</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/">SAS in the Agentic AI Space</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Part 5 in the Demystifying Recent AI Advances Series</h2>
<p>Over the previous four posts in this series, we have covered a lot of conceptual ground: the <a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">model zoo</a> and the generative-versus-discriminative divide; the autonomy spectrum from <a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">chatbots to agents</a>; the plumbing of Skills, MCP, and harnesses; the <a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">retrieval architectures</a> that ground models in enterprise data; and <a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">the economics</a> that increasingly shape all of those decisions.</p>
<p>Concepts are only useful if someone builds with them. This final post looks at how SAS has translated these ideas into shipping products, and at the design philosophy behind them. Indeed, the pace of development over the past year has been so brisk that several of the offerings described below didn't exist when I wrote the first post in this series.</p>
<p>A fair question at this point is why an analytics vendor belongs in this space at all, given how much of the agentic tooling ecosystem is open source and freely available. The answer is that the hard part of enterprise AI was never the model. It is everything around the model and requires knowing which data a given user is permitted to see. Also, it means being able to reconstruct, after the fact, why a system produced the output it did. Lastly, it means being able to hand an auditor something more substantial than a chat transcript. Those are the problems SAS has spent decades solving for regulated industries. And they transfer directly to agentic systems.</p>
<p>Every offering described below pairs a generative capability with the governance apparatus that regulated industries already expect from their analytical models. That is a deliberate choice. In an environment where many AI products ship as ungoverned chat interfaces bolted onto an existing UI, it is the thing most worth paying attention to.</p>
<p>With the landscape clarified, you may be wondering how SAS is putting these concepts into practice. The pace of development here has been remarkable, and it reflects a deliberate strategy. Meet practitioners where they are, fuse established analytical rigor with emerging AI capabilities, and never sacrifice governance for speed.</p>
<h2>SAS Viya Copilot</h2>
<p>At <a href="https://www.sas.com/en/events/sas-innovate.html">SAS Innovate</a> 2026, SAS unveiled a comprehensive expansion of its agentic AI capabilities. At the center is <a href="https://www.sas.com/en_us/software/viya/copilot.html">SAS Viya Copilot</a>, a family of governed, conversational AI assistants embedded directly into the <a href="https://support.sas.com/en/software/sas-viya-platform.html">SAS Viya</a> platform at no additional cost.</p>
<p>What distinguishes SAS Viya Copilot from many horizontal AI assistants is its domain awareness. Rather than relying solely on pretrained LLM knowledge, it executes analytics tasks grounded in industry data models, terminology, and best practices. It integrates Microsoft Foundry to operate within analytics workflows rather than as a standalone chat interface. Current capabilities span general Q&amp;A across core SAS Viya applications, AI-generated SAS and Python code with documentation and explanations, intelligent model pipeline recommendations, conversational dashboarding, and AI-assisted investigation with automated case narratives.</p>
<p>SAS has also released industry-specific copilots: the SAS Asset and Liability Management (ALM) Copilot for financial risk scenario analysis and the SAS Health Clinical Data Discovery Copilot for accelerating clinical data exploration and cohort creation, with plans to expand into financial crime prevention and supply chain optimization.</p>
<h2>The SAS Viya MCP Server</h2>
<p>In a move that directly connects to the MCP discussion in Part 2 of this series, SAS announced the <a href="https://www.sas.com/en_us/software/viya/mcp-server.html">SAS Viya MCP Server,</a> which provides a standardized way to expose SAS analytics, models, and decisioning capabilities to external AI agents by using the open Model Context Protocol. Organizations can now embed SAS' trusted analytics and governance into their own agents, from various LLM interfaces, without duplicating logic or bypassing enterprise controls. This enables users to leverage SAS Viya functionality through conversational language, lowers adoption barriers, and unlocks the power of SAS analytics for a wider audience.</p>
<h2>SAS Retrieval Agent Manager (RAM)</h2>
<p>For organizations looking to implement RAG-based solutions, SAS released the<a href="https://support.sas.com/en/software/retrieval-agent-manager-support.html"> SAS Retrieval Agent Manager</a> (RAM): a no-code platform that transforms unstructured enterprise data into context-aware AI responses. RAM supports plug-and-play LLMs and vector databases, adds an agentic AI layer for complex workflows, and critically, does not use enterprise data to train or fine-tune any LLM. Industry use cases already include insurance claims adjudication and clinical decision support. If you need to reason against existing documentation within your organization, RAM is likely what you’re looking for.</p>
<h2>SAS Agentic AI Accelerator and AI Navigator</h2>
<p>The SAS Agentic AI Accelerator provides code, components, and best practices for teams across all skill levels (no-code, low-code, and developer) to design and operationalize AI agents with governance and trust baked in from the start. Complementing it, SAS AI Navigator, a SaaS governance tool available on Microsoft Azure Marketplace in Q3 2026, provides a centralized system for inventorying and monitoring AI use cases across the enterprise.</p>
<p>This governance emphasis is not incidental. When an agent simultaneously processes untrusted input, accesses sensitive data, and can modify state, a security incident is a matter of when, not if. SAS is building exactly the guardrails that the industry's leading researchers say are essential.</p>
<p>Table 1 summarizes the current SAS AI Agentic offerings.</p>
<table width="642">
<tbody>
<tr>
<td width="132"><strong>SAS Offering</strong></td>
<td width="96"><strong>Category</strong></td>
<td width="216"><strong>Primary Use Cases</strong></td>
<td width="198"><strong>Key Differentiator</strong></td>
</tr>
<tr>
<td width="132"><strong>SAS Viya Copilot</strong></td>
<td width="96">Copilot</td>
<td width="216">Conversational analytics, AI-generated code, model pipeline recommendations, dashboarding, case narratives</td>
<td width="198">Domain-aware; grounded in industry data models, not just pretrained LLM knowledge</td>
</tr>
<tr>
<td width="132"><strong>SAS ALM Copilot</strong></td>
<td width="96">Industry Copilot</td>
<td width="216">Financial risk scenario analysis</td>
<td width="198">Specialized for scenario configuration, execution, and interpretation of analytic results.</td>
</tr>
<tr>
<td width="132"><strong>SAS Health Clinical Data Discovery Copilot</strong></td>
<td width="96">Industry Copilot</td>
<td width="216">Clinical data exploration, cohort creation</td>
<td width="198">Accelerates clinical research within governed health data environments</td>
</tr>
<tr>
<td width="132"><strong>SAS Viya MCP Server</strong></td>
<td width="96">Integration (MCP)</td>
<td width="216">Exposing SAS analytics, models, and decisioning to external AI agents via open protocol</td>
<td width="198">Embeds SAS governance into any MCP-compatible agent without duplicating logic</td>
</tr>
<tr>
<td width="132"><strong>SAS Retrieval Agent Manager (RAM)</strong></td>
<td width="96">RAG Platform</td>
<td width="216">Insurance claims adjudication, clinical decision support, enterprise document Q&amp;A</td>
<td width="198">No-code; plug-and-play LLMs; enterprise data never used to train or fine-tune models</td>
</tr>
<tr>
<td width="132"><strong>SAS Agentic AI Accelerator</strong></td>
<td width="96">Developer Toolkit</td>
<td width="216">Designing and operationalizing governed AI agents (no-code to developer)</td>
<td width="198">Governance and trust baked in from the start across all skill levels</td>
</tr>
<tr>
<td width="132"><strong>SAS AI Navigator</strong></td>
<td width="96">Governance (SaaS)</td>
<td width="216">Inventorying and monitoring AI use cases across the enterprise</td>
<td width="198">Centralized AI governance; available on Azure Marketplace (Q3 2026)</td>
</tr>
</tbody>
</table>
<p>Table 1: SAS Agentic AI offerings -- Use cases and differentiators</p>
<h2>Mapping the Offerings Back to the Concepts</h2>
<p>These offerings connect directly to concepts introduced earlier in the series. SAS Viya Copilot and the industry-specific copilots occupy the copilot end of Part 2’s autonomy spectrum: the model proposes actions, and a human executes them. The SAS Viya MCP Server is the plumbing layer. It exposes SAS capabilities through an open protocol so agents built elsewhere can reach them without reimplementing the analytics or routing around access controls. Retrieval Agent Manager is the retrieval layer from Part 3. It's packaged so that a team can stand up a governed RAG application without first assembling a vector database, an embedding pipeline, and an orchestration framework of their own. The Agentic AI Accelerator and AI Navigator address the harness and the governance layer, respectively. The pieces are deliberately separable, which matters, because most organizations will already have committed to some of these choices and will want to adopt the remainder incrementally.</p>
<h2>Additional Agentic Offerings</h2>
<p>Within SAS, the Applied AI and Modeling (AAIM) division has been at the forefront of translating these technologies into practical, domain-specific solutions:</p>
<ul>
<li><strong>SAS Document Analysis</strong>, developed by my team, applies OCR, Document Intelligence, and agentic extraction pipelines to transform unstructured documents into structured, actionable data at scale.</li>
<li><strong>SAS Supply Chain Agent</strong>, announced at Innovate 2026 and currently in private preview, automates supply and operations planning (S&amp;OP) by continuously balancing demand, supply, and operations in near real time, replacing traditional multi-day spreadsheet-driven processes with conversational scenario analysis.</li>
<li><strong>SAS Data Mapper Agent</strong> uses LLMs to automate column mapping between existing data environments and AI model schemas, reducing data integration timelines from weeks to minutes through automatic schema mapping and virtual views.</li>
</ul>
<h2>The SAS HuggingFace Repository</h2>
<p>Finally, our division has recently collaborated with the SAS Office of Open Source to establish the official SAS HuggingFace model repository at huggingface.co/sassoftware. This curated hub hosts models that have been thoroughly scanned and vetted for enterprise usage. It currently includes the GliClass &amp; GLiNER family of zero-shot classification and NER models across three tiers: edge, base, and large. These models tie directly back to the GLiNER lineage discussed in the earlier multimodal transformers series. It is now enterprise-ready and SAS-vetted. Keep an eye on this space as we plan to expand the offering to include more optimized open-source models and fine-tuned, domain-specific variants in the near future, including a family of Vision Language models based on the Gemma4 architecture.</p>
<h2>An Exciting Time to Be a Practitioner</h2>
<p>I believe we are at an inflection point. The tools have caught up to the vision. The explosion in terminology and tooling can be overwhelming, but the underlying pattern is clear: the industry is converging on architectures that pair the reasoning power of large models with the efficiency and reliability of small, specialized ones, connected by open standards like MCP, governed by well-designed harnesses, and grounded in enterprise data through retrieval approaches tailored to the task at hand.</p>
<p>For analytics practitioners, the message is encouraging. The role of human expertise is not being diminished. It is being elevated. The practitioners who understand both the classical toolkit (optimization, forecasting, statistical modeling, experimental design) and the emerging AI toolkit (agentic patterns, retrieval architectures, model orchestration) will have an outsized impact. The abstraction level is rising, but as I have discussed, rigor does not disappear. It relocates to wherever human judgment matters most.</p>
<p>SAS' philosophy reflects this conviction. Fuse established, reliable analytical techniques with emerging AI capabilities to accelerate human productivity. Don’t replace human judgment but amplify it. Don’t chase every shiny new acronym, but integrate the techniques that help to deliver real, governed, tangible value in production.<br />
It is an exciting time to work in this space. The pace of change is breathtaking, but the destination is increasingly clear. AI systems that are powerful, practical, trustworthy, and firmly under human direction.<br />
Stay tuned as there are undoubtedly many more developments to come in this space.</p>
<h2>Additional Resources</h2>
<ul>
<li><a href="https://www.sas.com/en_us/software/viya/copilot.html">SAS Viya Copilot</a></li>
<li><a href="https://www.sas.com/en_us/software/retrieval-agent-manager.html">SAS Retrieval Agent Manager (RAM)</a></li>
<li><a href="https://huggingface.co/sassoftware">SAS HuggingFace Repository</a></li>
<li><a href="https://www.sas.com/en_us/news/press-releases/2026/april/innovate-viya-ai-assistants-agentic.html">SAS Innovate 2026 Press Release: Governed AI Assistants and Agentic AI</a></li>
</ul>
<h2>Blog Series:</h2>
<ul>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">Part 1: The Model Zoo: LLMs, SLMs, and VLMs, Oh My!</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">Part 2: From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">Part 3: Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">Part 4: Emerging Economics: Token Pricing and the Case for Local Inference</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/">Part 5: SAS in the Agentic AI Space</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/">SAS in the Agentic AI Space</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/11/Gemini_Generated_Image_clz0eclz0eclz0ec-150x150.jpg" />
	</item>
		<item>
		<title>Beyond balancing data: How conditional generation makes synthetic data more useful</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/11/03/conditional-generation-for-better-synthetic-data/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/11/03/conditional-generation-for-better-synthetic-data/#respond</comments>
		
		<dc:creator><![CDATA[Vrushali Sawant]]></dc:creator>
		<pubDate>Tue, 03 Nov 2026 20:57:46 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[fraud detection]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[Model Testing]]></category>
		<category><![CDATA[synthetic data]]></category>
		<category><![CDATA[Trustworthy AI]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22785</guid>

					<description><![CDATA[<p>Conditional generation enhances synthetic data by allowing data scientists to generate targeted, realistic datasets with specific characteristics, helping improve model training, testing, fairness, risk management and trustworthy AI.</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/11/03/conditional-generation-for-better-synthetic-data/">Beyond balancing data: How conditional generation makes synthetic data more useful</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><em>Creating exactly the data you need without losing the realism you depend on</em></h3>
<p>Synthetic data helps organizations address privacy concerns, expand limited datasets and accelerate model development. But for many data scientists, generating realistic data is only part of the challenge. The real question is:</p>
<h3>What if you need specific data?</h3>
<p>Maybe you're building a fraud detection model and need more examples of fraudulent transactions. Perhaps you're testing a credit risk model and want a balanced population of loan approvals and denials. Or maybe you're evaluating how a model performs under conditions that rarely appear in historical data.</p>
<p>Traditionally, meeting these needs often requires filtering datasets, oversampling rare classes or performing extensive post-processing after data is generated. Conditional generation takes a different approach. Instead of generating data first and manipulating it later, users define the characteristics they want before generation begins. This makes it possible to create synthetic data tailored to a specific analytical objective while maintaining many of the statistical patterns learned from the original dataset.</p>
<h2>What makes conditional generation different?</h2>
<p>Think of a GPS. Once it learns the road network, you can request different routes based on your goals without rebuilding the map. Conditional generation works similarly. A synthetic data generator is trained once on the original data, and users can then generate different populations by specifying conditions at generation time. The result is greater flexibility. One generator can support many use cases without requiring multiple versions trained on different subsets of data.</p>
<h2>Balancing underrepresented groups</h2>
<p>Consider a healthcare dataset with the following distribution:</p>
<table>
<tbody>
<tr>
<td width="138"><strong>Patient Group</strong></td>
<td width="83"><strong>Count</strong></td>
</tr>
<tr>
<td width="138">Female</td>
<td width="83">2,000</td>
</tr>
<tr>
<td width="138">Male</td>
<td width="83">1,000</td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />
A data scientist may want a balanced dataset with 1,500 observations from each group. With conditional generation, the desired distribution can be specified directly. The value is not simply changing the counts. Depending on the generation approach used, the synthetic data can retain important relationships learned from the original dataset, such as connections between demographics, diagnoses, treatments and outcomes. Without those relationships, balancing categories would be easy, but the resulting data would be far less useful for analysis and machine learning.</p>
<h2>Creating more examples of rare events</h2>
<p>One of the most compelling use cases is fraud detection. Imagine a dataset where only 0.5% of transactions are fraudulent. This creates a common machine learning challenge because models may have too few examples to learn meaningful fraud patterns. Using conditional generation, a data scientist could request:</p>
<p><em>Generate a dataset where fraudulent transactions represent 10% of all observations.</em></p>
<p>The resulting synthetic dataset contains more fraud examples while preserving many of the characteristics associated with fraudulent behavior. This supports:</p>
<ul>
<li>Rare-event modeling</li>
<li>Class imbalance challenges</li>
<li>Model testing</li>
<li>Algorithm comparison</li>
<li>Feature engineering experiments</li>
</ul>
<p>Unlike traditional oversampling approaches that reuse existing records, conditional generation can create entirely new synthetic observations while targeting a desired distribution.</p>
<h2>Creating targeted populations</h2>
<p>Conditional generation is not limited to balancing classes. A retailer may want to analyze a larger population of self-employed customers. A bank may want more observations representing customers with incomes between $150,000 and $250,000. Rather than filtering existing data and potentially ending up with too few records, analysts can generate synthetic populations that satisfy those conditions while preserving relevant relationships with variables such as spending behavior, savings balances or product ownership. This enables organizations to explore targeted scenarios without collecting additional real-world data.</p>
<h2>Stress-testing AI before deployment</h2>
<p>Perhaps the most strategic application is model stress testing. Organizations often need to understand how AI systems will behave under conditions that are rare, emerging or not yet represented in historical datasets, such as:</p>
<ul>
<li>Economic downturns</li>
<li>Emerging fraud patterns</li>
<li>Rare medical conditions</li>
<li>High-risk operational scenarios</li>
</ul>
<p>Conditional generation can create larger representations of these edge cases and allow teams to evaluate model performance before those conditions occur in production. Rather than waiting for rare events to expose weaknesses, organizations can proactively identify vulnerabilities, understand performance degradation and improve confidence before deployment. In this way, synthetic data becomes more than a privacy tool. It becomes a tool for model governance, validation and risk management.</p>
<h2>Why it matters for Trustworthy AI</h2>
<p>Trustworthy AI requires more than protecting sensitive information. Models must also be fair, reliable, robust and well tested. Conditional generation can support those goals by helping teams:</p>
<ul>
<li>Explore underrepresented populations</li>
<li>Investigate potential bias across groups</li>
<li>Evaluate performance under rare conditions</li>
<li>Accelerate experimentation and model validation</li>
</ul>
<p>For example, teams can assess whether prediction accuracy changes across demographic groups or under unusual operating conditions before deployment.</p>
<h2>The bigger picture</h2>
<p>Synthetic data is often viewed primarily as a privacy technology. Privacy is important, but it is only part of the story. The real power of synthetic data lies in its ability to support realistic, controlled experimentation. Conditional generation extends that capability by allowing teams to shape the scenarios they want to study rather than simply accepting the distributions found in historical data.</p>
<p>As AI systems increasingly support decisions, recommendations and automation, the ability to create realistic data for targeted testing may become just as important as the ability to create synthetic data itself. Conditional generation doesn't just help organizations create more data. It helps them create the <strong>right data</strong> for the questions they're trying to answer.</p>
<h3>Learn more</h3>
<ul>
<li><a href="https://www.sas.com/en_us/webinars/beyond-accuracy-identifying-measuring-and-mitigating-ai-bias.html">Webinar: Beyond Accuracy: Identifying, Measuring and Mitigating AI Bias</a></li>
<li><a href="https://www.sas.com/en_us/software/ai-navigator.html">Solution: SAS AI Navigator</a></li>
<li><a href="https://communities.sas.com/t5/SAS-AI-Navigator/ct-p/ai-navigator">Communities: SAS AI Navigator</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/11/03/conditional-generation-for-better-synthetic-data/">Beyond balancing data: How conditional generation makes synthetic data more useful</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/11/03/conditional-generation-for-better-synthetic-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/myles-bloomfield-p8JbzOUwdjg-unsplash-150x150.jpg" />
	</item>
		<item>
		<title>Emerging Economics: Token Pricing and the Case for Local Inference</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/#respond</comments>
		
		<dc:creator><![CDATA[William Nadolski]]></dc:creator>
		<pubDate>Wed, 28 Oct 2026 20:33:01 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI agents]]></category>
		<category><![CDATA[AI cost]]></category>
		<category><![CDATA[Applied AI Modeling]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[Demystifying Recent AI Advances]]></category>
		<category><![CDATA[SAS Model]]></category>
		<category><![CDATA[SAS Models]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22853</guid>

					<description><![CDATA[<p>Part 4 in the Demystifying Recent AI Advances Series The previous three posts in this series covered what the models are, how much autonomy to grant them, and how to ground them in your data. This one covers the constraint that quietly governs all three decisions: cost. For the first [...]</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">Emerging Economics: Token Pricing and the Case for Local Inference</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Part 4 in the Demystifying Recent AI Advances Series</h2>
<p>The previous three posts in this series covered what the <a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">models are</a>, how <a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">much autonomy</a> to grant them, and how to <a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">ground them in your data</a>. This one covers the constraint that quietly governs all three decisions: cost.</p>
<p>For the first few years of the generative AI era, cost was mostly an afterthought. Providers competed for adoption with flat-rate subscriptions and steadily falling per-token prices. Most organizations assumed inference would keep getting cheaper. Pilot projects were budgeted accordingly. In other words, they were often barely budgeted at all. A proof of concept that burned through a few dollars of tokens a day did not warrant a conversation with finance.</p>
<p>That assumption is now being tested. Low-end prices have indeed collapsed, but high-end capacity has not kept pace with demand. Providers are beginning to restructure how they charge. For organizations moving from experimentation into daily production workloads, the difference between those two trends is the difference between a rounding error and a line item that shows up in the quarterly review.</p>
<p>What follows is a look at where pricing actually stands today, what the recent shifts signal about where it is heading, and why a growing number of teams are taking a serious look at running models on their own hardware.</p>
<p>One factor accelerating the adoption of agentic AI, and simultaneously reshaping how organizations think about deployment, is the shifting landscape when it comes to inference costs.</p>
<h2>Where Pricing Stands Today</h2>
<p>When GPT-4 launched in March 2023, API pricing was $30 per million input tokens and $60 per million output tokens. Fast-forward to 2026, and the pricing structure looks radically different. Budget-tier models like GPT-5.4 Nano run at $0.20 per million input tokens. Google's Gemini 3.1 Flash-Lite costs $0.25. The pricing floor has dropped roughly 300 times since GPT-4's launch. Even flagship models have become dramatically more affordable. See Table 1 for a summary of some of these prices.</p>
<table width="642">
<tbody>
<tr>
<td width="156"><strong>Provider</strong></td>
<td width="156"><strong>Model</strong></td>
<td width="156"><strong>Input (per 1M tokens)</strong></td>
<td width="174"><strong>Output (per 1M tokens)</strong></td>
</tr>
<tr>
<td width="156">OpenAI</td>
<td width="156">GPT-5.5</td>
<td width="156">$5.00</td>
<td width="174">$30.00</td>
</tr>
<tr>
<td width="156">OpenAI</td>
<td width="156">GPT-5.4</td>
<td width="156">$2.50</td>
<td width="174">$15.00</td>
</tr>
<tr>
<td width="156">OpenAI</td>
<td width="156">GPT-5.4 Mini</td>
<td width="156">$0.75</td>
<td width="174">$4.50</td>
</tr>
<tr>
<td width="156">OpenAI</td>
<td width="156">GPT-5.4 Nano</td>
<td width="156">$0.20</td>
<td width="174">$1.25</td>
</tr>
<tr>
<td width="156">Anthropic</td>
<td width="156">Claude Fable 5</td>
<td width="156">$10.00</td>
<td width="174">$50.00</td>
</tr>
<tr>
<td width="156">Anthropic</td>
<td width="156">Claude Opus 4.8</td>
<td width="156">$5.00</td>
<td width="174">$25.00</td>
</tr>
<tr>
<td width="156">Anthropic</td>
<td width="156">Claude Sonnet 4.6</td>
<td width="156">$3.00</td>
<td width="174">$15.00</td>
</tr>
<tr>
<td width="156">Anthropic</td>
<td width="156">Claude Haiku 4.5</td>
<td width="156">$1.00</td>
<td width="174">$5.00</td>
</tr>
<tr>
<td width="156">Google</td>
<td width="156">Gemini 3.5 Flash</td>
<td width="156">$1.50</td>
<td width="174">$9.00</td>
</tr>
<tr>
<td width="156">Google</td>
<td width="156">Gemini 3.1 Pro</td>
<td width="156">$2.00</td>
<td width="174">$12.00</td>
</tr>
<tr>
<td width="156">Google</td>
<td width="156">Gemini 3.1 Flash-Lite</td>
<td width="156">$0.25</td>
<td width="174">$1.50</td>
</tr>
</tbody>
</table>
<p>Table 1: LLM-as-a-Service pricing</p>
<h2>The End of the Subsidized Era</h2>
<p>But here is where the story gets more nuanced. While per-token prices for legacy and mid-tier models have fallen dramatically, demand for compute using the latest and most capable models continues to outpace supply. The AI labs and hyperscalers are beginning to revisit their pricing strategies in ways that signal a shift away from the generously subsidized flat-rate offerings that fueled early adoption.</p>
<p>The most visible example of this is GitHub Copilot’s recent shift from flat-rate subscriptions to usage-based billing tied to actual token consumption. Under the old model, a quick chat question and a multi-hour autonomous coding session cost the same flat fee. Under the new model, each interaction is metered by tokens consumed, with per-model multipliers that determine how fast credits drain. The impact was stark. Claude Opus 4.7, one of the most capable models available in Copilot, went from a 7.5x multiplier to 27x. This means a user's monthly credit allocation could be exhausted in as few as three premium requests.</p>
<p>As a result, some companies are suddenly blowing past AI inference budgets by orders of magnitude. In engineering departments, inference costs are approaching 10% of total headcount costs. The developer community reacted sharply, noting that the new system forces conscious model-selection trade-offs that did not previously exist.</p>
<p>Anthropic has experienced similar growing pains on the supply side. Heavy demand for Claude's most capable models has led to periodic compute constraints, with users encountering rate limits and throttling during peak usage periods. When millions of developers and enterprise customers compete for the same GPU clusters, even well-provisioned infrastructure hits ceilings. These constraints remind us that raw cost per token is only part of the equation. The availability and reliability of that compute matter just as much.</p>
<p>As AI usage matures from experimentation into daily production workloads, providers will increasingly push consumers to bear the full cost of usage on a per-token basis. They are likely to roll back the generous flat-rate pricing that characterized the land-grab phase of AI adoption. The early "all you can eat" era was likely a customer acquisition strategy, not a sustainable business model. Organizations that plan their AI infrastructure around the assumption of perpetually cheap, unlimited cloud inference may suddenly find themselves caught off guard and facing ballooning IT costs.</p>
<h2>Spending Tokens Where They Count</h2>
<p>One solution is to encourage developers to be judicious about which models they use for certain tasks. We need to emphasize that not every request requires top-tier frontier model intelligence. This is by no means meant to be an authoritative guide. However, recent research points to a more cost-effective approach. Top-tier models can handle initial planning and help create detailed implementation specifications. Mid-tier models can then execute against those specifications, often producing high-quality results at a lower cost than relying on a single model offering. Table 2 summarizes a typical approach to managing this hybrid approach.</p>
<table width="684">
<tbody>
<tr>
<td width="235"><strong>Task Type</strong></td>
<td width="119"><strong>Best-Fit Model</strong></td>
<td width="330"><strong>Rationale</strong></td>
</tr>
<tr>
<td width="235"><strong>Complex planning, architecture design, multi-step reasoning</strong></td>
<td width="119">Top-tier / reasoning model</td>
<td width="330">Deep reasoning and broad world knowledge justify the cost; these decisions are made infrequently but carry outsized consequences if wrong</td>
</tr>
<tr>
<td width="235"><strong>Implementing detailed specs, routine code generation</strong></td>
<td width="119">Mid-tier LLM</td>
<td width="330">Following a well-specified plan does not require frontier-level reasoning; mid-tier models execute reliably at a fraction of the cost</td>
</tr>
<tr>
<td width="235"><strong>Extraction, classification, structured output, guardrail checks</strong></td>
<td width="119">Small Language Model (SLM)</td>
<td width="330">Narrow, repetitive tasks with well-defined output formats; SLMs match or exceed larger models here at far lower latency and cost</td>
</tr>
</tbody>
</table>
<p>Table 2: Matching model tier to task type</p>
<h2>The Case for Local Inference</h2>
<p>The trend in rising per-token costs is also driving a growing interest in local and on-premises inference, powered by four converging forces:</p>
<ul>
<li><strong>Cost predictability:</strong> Local inference decouples your AI costs from external providers' pricing decisions. Once the hardware is in place, your per-token cost is fixed and under your control, regardless of upstream multiplier changes or rate-limit adjustments.</li>
<li><strong>Data sovereignty</strong>: Local processing eliminates cross-border data transfers, automatically satisfying GDPR data residency and HIPAA constraints. Data never leaves organizational infrastructure.</li>
<li><strong>Latency and availability</strong>: On-premises inference eliminates network round-trips and, crucially, eliminates your dependence on a provider's capacity constraints. Your models are available when you need them, not when the provider's GPU cluster has headroom.</li>
<li><strong>Regulatory pressure</strong>: The EU AI Act and sector-specific standards increasingly favor architectures where organizations maintain full control over their AI processing pipeline.</li>
</ul>
<p>The local inference ecosystem has matured rapidly to support this shift. This shift is driven less by any single runtime and more by a wave of open-source techniques that shrink the compute and memory footprint required to host a model locally. Three are worth understanding in particular, because they attack different bottlenecks and compose well with one another.</p>
<h2>Local Inference Optimizations</h2>
<p><strong>Model quantization</strong> is one of the most widely used techniques for making AI models smaller, faster, and less expensive to run. AI models normally store billions of numerical values (called weights) using 16 or 32 bits of precision. Quantization reduces this precision to 8 bits, 4 bits, or even fewer. This significantly reduces memory requirements while preserving most of the model's capabilities. Think of it like compressing a high-resolution photograph. By reducing subtle color variations that are barely noticeable, we can create a much smaller file without significantly affecting image quality.</p>
<p>Quantization applies a similar principle to AI models. It simplifies how numerical values are stored while preserving the most important information. Modern techniques carefully identify which values require greater precision or allow the model to adapt during training, helping minimize accuracy loss. The benefits can be substantial. A 7-billion-parameter model requiring approximately 14 GB of memory at 16-bit precision might need only around 4 GB when quantized to 4 bits. This can make the difference between requiring an expensive data center GPU and running the model on a consumer GPU or capable laptop. Quantization can also improve processing speed by reducing the amount of data that must move through memory when generating responses. However, actual performance gains depend on the hardware and software.</p>
<p><strong>TurboQuant</strong> and similar newer quantization techniques take compression a step further by finding smarter ways to represent numerical values using even less memory. Traditional quantization reduces precision using relatively simple rules. These newer approaches adapt to the data's patterns and distribution to preserve more information. Think of it like packing a suitcase. Instead of forcing everything into identical-sized compartments, you arrange items by shape and size, giving delicate or unusually large items special treatment while packing everything else more tightly. Similarly, TurboQuant mathematically reorganizes numerical data before compressing it. This helps preserve important information while reducing storage requirements.</p>
<p>One particularly valuable application is compressing the key-value cache (KV cache). This acts as the model's short-term memory during conversations and grows as it processes more text. By shrinking this cache, AI systems can handle longer conversations or more simultaneous requests without requiring additional GPU memory. These techniques make extremely compact 3–4-bit representations increasingly practical. However, pushing compression too far can come at a cost. Below about 4 bits, some models may experience noticeable reductions in accuracy or processing speed. This is especially true for handling lengthy documents or complex reasoning tasks.</p>
<p><strong>Multi-Token Prediction (MTP)</strong> attacks a different bottleneck entirely. Think of it like meta-prediction or predicting the prediction. Standard autoregressive decoding emits exactly one token per forward pass. So generating a 500-token answer means 500 sequential trips through the entire model. That is inherently serial, leaving much of the available compute idle while the hardware waits on memory.</p>
<p>MTP trains the model with additional prediction heads so that a single pass proposes several future tokens at once. It then verifies those extra tokens in one batched pass and accepts them when they match what ordinary decoding would have produced. This cuts the number of sequential steps without changing the output. Fewer passes mean lower latency and lower compute cost for the same volume of generated text. MTP is a training objective rather than a post-processing step, so it can also improve model quality as a side effect. By predicting several tokens ahead, the model is forced to plan beyond the very next word.</p>
<p>Together, these open-source advances mean a well-quantized model using MTP-style decoding can now deliver latency and throughput on commodity hardware that would have required a full data center GPU just a couple of years ago. And the SLM thesis from the earlier series makes local deployment particularly attractive. A 3 billion parameter model running on a laptop is a very different proposition than self-hosting a 70 billion parameter behemoth. For many of the specialized tasks within an agentic workflow (extraction, classification, guardrail checks, structured output generation), a well-tuned local SLM can match or exceed the performance of a cloud-hosted LLM at a fraction of the cost and with none of the supply constraints.</p>
<p>None of this means cloud APIs are going away. For frontier reasoning tasks, agentic coding harnesses, and organizations early in their AI journey, cloud inference often remains the most practical starting point. But the writing is on the wall. Organizations that want to run AI at scale, reliably and affordably, may need a hybrid strategy that pairs cloud APIs for tasks that demand frontier-scale models with local inference for the high-volume, specialized work that does not. These core concepts are summarized in Table 3.</p>
<table width="672">
<tbody>
<tr>
<td width="167"><strong>Concept</strong></td>
<td width="505"><strong>What It Means</strong></td>
</tr>
<tr>
<td width="167"><strong>Quantization</strong></td>
<td width="505">Compresses weights to 8-bit, 4-bit, or lower precision; modern calibration and quantization-aware training preserve near-full-precision accuracy at a fraction of the memory footprint</td>
</tr>
<tr>
<td width="167"><strong>TurboQuant</strong></td>
<td width="505">Uses more efficient weight and activation encoding to push compression further while minimizing the accuracy loss that previously made low-bit quantization impractical for production</td>
</tr>
<tr>
<td width="167"><strong>Multi-Token Prediction (MTP)</strong></td>
<td width="505">Trains the model to predict several future tokens per forward pass instead of one, reducing the sequential passes needed and cutting latency and compute cost</td>
</tr>
<tr>
<td width="167"><strong>Local SLM Sweet Spot</strong></td>
<td width="505">Extraction, classification, guardrail checks, and structured output generation, where a local SLM can match or exceed a cloud LLM at a fraction of the cost</td>
</tr>
<tr>
<td width="167"><strong>Where Cloud Still Wins</strong></td>
<td width="505">Frontier reasoning tasks, variable/bursty workloads, and organizations early in their AI journey</td>
</tr>
<tr>
<td width="167"><strong>Recommended Strategy</strong></td>
<td width="505">Hybrid: cloud APIs for tasks that demand frontier-scale models and agentic reasoning, local inference for high-volume specialized and repeatable work</td>
</tr>
</tbody>
</table>
<p>Table 3: Local inference and hybrid strategy</p>
<p>For most organizations, the practical next step is not a wholesale migration but an inventory. Which of your current AI workloads are high-volume, narrow, and well-specified? And which genuinely require frontier-scale reasoning? That question is answerable today, and the answer often surprises people. A large share of production token spend goes to classification, extraction, routing, and formatting work. This is exactly the category where a well-tuned local SLM performs as well as a frontier model at a small fraction of the cost. Quantifying that share is what turns a hybrid strategy from an architectural aspiration into a budget line you can actually defend. It is worth doing before the next round of pricing changes, not after.</p>
<h2>Coming Up Next</h2>
<p>That covers the concepts: models, autonomy, plumbing, retrieval, and economics. The final post in this series shifts from theory to practice and shows how SAS is putting these ideas to work through Viya Copilot, the SAS Viya MCP Server, Retrieval Agent Manager, the Agentic AI Accelerator, and AI Navigator, with governance built in rather than bolted on.</p>
<h2>Additional Resources</h2>
<ul>
<li><a href="https://research.nvidia.com/labs/lpr/slm-agents/">NVIDIA: Small Language Models are the Future of Agentic AI</a></li>
<li><a href="https://blog.google/innovation-and-ai/technology/developers-tools/diffusion-gemma-faster-text-generation/">DiffusionGemma: 4X Faster Text Generation</a></li>
</ul>
<h2>Blog Series:</h2>
<ul>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">Part 1: The Model Zoo: LLMs, SLMs, and VLMs, Oh My!</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">Part 2: From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">Part 3: Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">Part 4: Emerging Economics: Token Pricing and the Case for Local Inference</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/">Part 5: SAS in the Agentic AI Space</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">Emerging Economics: Token Pricing and the Case for Local Inference</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Emerging_Economics_header_under_1MB-150x150.jpg" />
	</item>
		<item>
		<title>Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/#respond</comments>
		
		<dc:creator><![CDATA[William Nadolski]]></dc:creator>
		<pubDate>Mon, 19 Oct 2026 13:00:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI agents]]></category>
		<category><![CDATA[Applied AI Modeling]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[Demystifying Recent AI Advances]]></category>
		<category><![CDATA[Knowledge Graphs]]></category>
		<category><![CDATA[PageIndex]]></category>
		<category><![CDATA[RAG (Retrieval-Augmented Generation)]]></category>
		<category><![CDATA[SAS Model]]></category>
		<category><![CDATA[SAS Models]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22791</guid>

					<description><![CDATA[<p>Part 3 in the Demystifying Recent AI Advances Series Part 1 of this series covered the models themselves, and Part 2 covered the autonomy and plumbing that turn a model into an agent. This post addresses the question that determines whether any of it produces trustworthy output. Where does the [...]</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Part 3 in the Demystifying Recent AI Advances Series</h2>
<p><a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">Part 1</a> of this series covered the models themselves, and <a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">Part 2</a> covered the autonomy and plumbing that turn a model into an agent. This post addresses the question that determines whether any of it produces trustworthy output. Where does the model get its facts?</p>
<p>A foundation model knows a great deal about the world in general. However, it says nothing specifically about your organization. It has never seen your policy library, your claims history, your regulatory filings, or last quarter's numbers. Left to its own devices, it will answer confidently anyway. This is precisely the failure mode that makes generative AI difficult to deploy in regulated settings. Grounding the model in your own data is not an optimization; it is the difference between a demo and a production system.</p>
<p>A reasonable first question is whether retrieval is needed at all. Context windows have grown dramatically, and for a modest corpus it is often simpler and more accurate to place the relevant material directly into the prompt than to build an indexing pipeline around it. Retrieval earns its complexity when the body of knowledge is too large to fit, too volatile to freeze into a prompt, or too sensitive to expose in its entirety on every query. If none of those apply, the simplest architecture is usually right.</p>
<p>When retrieval is warranted, there are broadly three ways to go about it. The choice matters more than most teams expect. Get it right and the model answers from your documents with citations you can audit. Get it wrong, and you have built an expensive, slower search engine that occasionally invents things or omits critical context. The three approaches differ in setup cost, query latency, and infrastructure requirements. But most importantly, they differ in the kinds of questions they can answer well.</p>
<p>If you have spent any time evaluating how to connect AI systems to enterprise data, you have almost certainly encountered the term RAG (Retrieval-Augmented Generation). But RAG is just one approach in a rapidly expanding toolkit. Knowing when to reach for each option can save significant time and frustration.</p>
<h2>RAG (Retrieval-Augmented Generation)</h2>
<p>RAG is the most established approach. It remains the go-to solution for a common enterprise challenge: supporting large knowledge bases where the full body of detailed information simply cannot fit into a model's context window and cannot be adequately summarized or distilled without losing critical nuance.</p>
<p>Think of an organization's complete policy library, years of technical documentation, or a regulatory corpus spanning thousands of pages. No model can hold all of that in memory at once. No summary can capture every detail a user might need. RAG solves this by splitting documents into chunks, embedding them into vectors, and storing them in a vector database. At query time, it retrieves the most semantically relevant chunks and passes them to an LLM as context for generation. In theory, this means the model gets precisely the information it needs for the question at hand, drawn from a knowledge base of virtually unlimited size. It is relatively easy to set up, delivers responsive results, and works well for single-hop factual lookups such as, "What is our refund policy?" or "What were Q3 revenue figures?"</p>
<p>However, RAG has its weaknesses. There is always the possibility that the retrieval algorithm fails to return the relevant chunk to the AI agent. This means the underlying LLM is “blind” to that information when generating its response. Another weakness of RAG is that many failures trace back to the ingestion and chunking layer - splitting documents into fixed-size chunks destroys table structure, cross-references, and reading order. Finally, multi-hop reasoning (questions that require connecting information across multiple documents) is also a known weakness and is often challenging to solve in an elegant and generalized manner. In practice, this means critical context that should be provided to the LLM may get lost, so the model is effectively “blind” to it. The result is a model that might invent untrue facts or report that such info doesn’t exist, when in fact it does.</p>
<h2>Knowledge Graphs and GraphRAG</h2>
<p>Knowledge graphs take a fundamentally different approach. Instead of chunking text into vectors, they extract entities and relationships and store them as a structured graph. Graph-based approaches excel at multi-hop reasoning. When a question requires following chains of relationships across documents (e.g., "Which suppliers are connected to the subsidiaries involved in flagged transactions?"), graph traversal dramatically outperforms vector similarity search.</p>
<p>The downsides, however, are significant. Knowledge graph construction is extremely compute-intensive. Indexing with GraphRAG requires six to eight times more tokens than flat RAG because every document must be processed by an LLM to extract entities and relationships, and engineering setup takes weeks rather than days.</p>
<p>Second, knowledge graphs require defined ontologies. You need to decide up front what entities and relationships matter for your domain. Designing a good ontology is non-trivial and demands deep domain expertise. Get the ontology wrong, and the graph either misses critical connections or drowns in noise.</p>
<p>Third, and perhaps most underappreciated, knowledge graphs require ongoing entity resolution maintenance. The same real-world entity often appears under different names, abbreviations, or misspellings across documents ("JPMorgan Chase," "JP Morgan," "JPMC," "J.P. Morgan &amp; Co."). Without continuous entity resolution to merge these variants, the graph fragments into disconnected clusters and the multi-hop reasoning advantage erodes. This maintenance burden grows with the size and diversity of the corpus, making knowledge graphs a serious long-term operational commitment rather than just a quick one-time setup.</p>
<h2>PageIndex Retrieval</h2>
<p>PageIndex is a newer approach that sidesteps both the chunking problem and the need for vector databases entirely. Instead of embedding text fragments, PageIndex first distills documentation into a hierarchical knowledge base. It then uses LLM reasoning to navigate that hierarchy at query time. The process mirrors how a human actually reads a reference document. You open the table of contents, find the relevant chapter, flip to that section, scan its subheadings, and read the specific paragraph you need. You don’t read the entire book, flip to random pages, or map out all entities before answering the question.</p>
<p>The approach works in two phases. During indexing, an LLM processes the source documents and identifies natural structural boundaries (chapter headings, section breaks, topic transitions) rather than splitting at arbitrary token counts. It then builds a tree: the root node represents the document, intermediate nodes represent chapters and sections (each with an LLM-generated summary describing its content), and leaf nodes contain the actual page-level text. This entire structure is stored as a lightweight JSON tree in a standard relational database, not a vector store.</p>
<p>At query time, the LLM receives the question along with a document reference lookup table containing a hierarchical map of node summaries. It reads the top-level summaries, classifies each as relevant or irrelevant, descends only into relevant branches, and repeats until it reaches the leaf nodes containing the actual text it needs. The result is intent-aware retrieval: the model can distinguish a casual mention of a term from its formal definition because it is reasoning about structural context, not just measuring vector proximity. It can also follow cross-references like "See Appendix G" that vector similarity search simply cannot resolve. Answers are returned with node citations tracing exactly which sections were consulted, providing built-in explainability.</p>
<p>PageIndex is best suited for documents with natural hierarchical structure (financial reports, legal contracts, policy documents, technical manuals). For large volumes of short, unstructured text like emails and chat logs, the hierarchical overhead adds complexity without much benefit, and traditional RAG remains the better choice.</p>
<p>Table 1 summarizes the relative strengths of these different approaches.</p>
<table width="690">
<tbody>
<tr>
<td width="156"><strong>Criterion</strong></td>
<td width="180"><strong>Standard RAG</strong></td>
<td width="150"><strong>GraphRAG</strong></td>
<td width="204"><strong>PageIndex</strong></td>
</tr>
<tr>
<td width="156"><strong>Best for</strong></td>
<td width="180">Large knowledge bases, single-hop factual Q&amp;A</td>
<td width="150">Multi-hop, relational queries</td>
<td width="204">Long structured documents with hierarchical organization</td>
</tr>
<tr>
<td width="156"><strong>Setup time</strong></td>
<td width="180">Days</td>
<td width="150">Weeks to months</td>
<td width="204">Days (+ LLM indexing cost)</td>
</tr>
<tr>
<td width="156"><strong>Per-query latency</strong></td>
<td width="180">&lt; 200ms</td>
<td width="150">300 -- 500ms</td>
<td width="204">Seconds (multi-call tree traversal)</td>
</tr>
<tr>
<td width="156"><strong>Infrastructure</strong></td>
<td width="180">Vector database required</td>
<td width="150">Graph database + LLM extraction</td>
<td width="204">Standard relational database only</td>
</tr>
<tr>
<td width="156"><strong>Accuracy ceiling</strong></td>
<td width="180">Moderate (chunking limits)</td>
<td width="150">High (relationship queries)</td>
<td width="204">Very high (structured documents)</td>
</tr>
</tbody>
</table>
<p>Table 1: When to Use Which Retrieval Strategy</p>
<p>The practical rule: start with RAG for broad knowledge base coverage. Add graph retrieval when multi-hop reasoning failures are measurable. Consider PageIndex when you are working with long, structured documents where accuracy matters more than per-query speed and where the natural hierarchy of the content can be leveraged. And before building any of it, ask whether structured queries against existing data plus basic LLM reasoning can solve the problem. In many cases, it can.</p>
<h2>Measure Before You Migrate</h2>
<p>Whichever approach you choose, the most useful thing to build alongside it is an evaluation set. A few dozen real questions from real users, each paired with a known-correct answer and the source passage that supports it. Retrieval quality is very difficult to assess by intuition. The failure modes described above (a relevant chunk that never gets retrieved, an entity fragmented across four spellings, a chunk boundary that severed a table from the caption explaining it, etc.) are all invisible unless you are measuring against something. Teams that assess retrieval accuracy early often discover that their problem lives in the ingestion layer rather than in the model, which is both cheaper and faster to fix than swapping architectures. It is also the only reliable way to know whether moving from RAG to a graph or hierarchical approach actually provided significant improvements.</p>
<h2>Coming Up Next</h2>
<p>Retrieval determines what your model knows. The next post looks at what it costs. Part 4 covers the shifting economics of inference. First, why per-token pricing is being restructured across the industry. Second, what that means for organizations planning AI budgets. And lastly, why quantization, TurboQuant, and Multi-Token Prediction are turning local inference into a serious option rather than a hobbyist experiment.</p>
<h2>Additional Resources</h2>
<ul>
<li><a href="https://github.com/microsoft/graphrag">Microsoft GraphRAG on GitHub</a></li>
<li><a href="https://www.sas.com/en_us/software/retrieval-agent-manager.html">SAS Retrieval Agent Manager (RAM)</a></li>
</ul>
<h3>Blog Series:</h3>
<ul>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">Part 1: The Model Zoo: LLMs, SLMs, and VLMs, Oh My!</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">Part 2: From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">Part 3: Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">Part 4: Emerging Economics: Token Pricing and the Case for Local Inference</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/">Part 5: SAS in the Agentic AI Space</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/modern_retrieval_blog-150x150.jpg" />
	</item>
		<item>
		<title>The clinical data foundation wasn’t designed for the AI era</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/16/clinical-data-foundation-ai-era/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/16/clinical-data-foundation-ai-era/#respond</comments>
		
		<dc:creator><![CDATA[Patrick Homer]]></dc:creator>
		<pubDate>Fri, 16 Oct 2026 09:00:30 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[clinical data]]></category>
		<category><![CDATA[clinical trials]]></category>
		<category><![CDATA[data preparation]]></category>
		<category><![CDATA[SAS Clinical Acceleration]]></category>
		<category><![CDATA[SAS Viya]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22677</guid>

					<description><![CDATA[<p>There has been no shortage of discussion about accelerating clinical development. Over the past decade, life sciences organizations have invested heavily in advanced analytics, cloud computing, automation and, more recently, AI. These technologies are changing how clinical teams work, helping them analyze information more quickly, automate processes and make decisions [...]</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/16/clinical-data-foundation-ai-era/">The clinical data foundation wasn’t designed for the AI era</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><strong>There has been no shortage of discussion about accelerating clinical development. Over the past decade, life sciences organizations have invested heavily in advanced analytics, cloud computing, automation and, more recently, AI.</strong></h3>
<p>These technologies are changing how clinical teams work, helping them analyze information more quickly, automate processes and make decisions with greater confidence.</p>
<p>The potential is significant. If we can reduce the time it takes to design studies, understand emerging results and make decisions, we can ultimately shorten the journey from discovery to patient impact.</p>
<p>But there is a part of that journey that receives considerably less attention.</p>
<p>The time it takes to get the data ready.</p>
<p>This may not sound like the most exciting part of clinical development, but it is becoming increasingly important. Before teams can analyze data, share it with decision-makers or use it to support AI-enabled workflows, they need to bring it together, standardize it and understand it. Teams need to understand its provenance, trust its quality and trace the transformations it has undergone.</p>
<p>That has always been true. What has changed is the scale and complexity of the problem.</p>
<p>A modern clinical study can draw information from electronic data capture systems, laboratories, imaging platforms, wearables, external data providers and real-world data sources. Each brings potentially valuable information, but each can also introduce different structures, standards and requirements.</p>
<p>Bringing those sources together is not simply a matter of moving data from one system to another. It involves understanding what the data means, applying appropriate standards, maintaining its lineage and ensuring teams can ultimately use it with confidence.</p>
<p>And as the volume and variety of clinical data increase, so does the effort required to prepare it.</p>
<h2><strong>The AI conversation brings the issue into sharper focus</strong></h2>
<p>The growing interest in AI has made this challenge harder to ignore.</p>
<p>Organizations are understandably exploring how generative AI and other forms of AI can help improve productivity, automate repetitive activities, surface insights and support decision-making across the clinical development life cycle. Some of these applications could profoundly change how teams conduct clinical research.</p>
<p>But AI does not remove the fundamental need for good data. In many respects, it makes that need more visible.</p>
<p>AI can process and interpret information at a scale that would be difficult for people alone. But its usefulness still depends on the information people give it and the context surrounding that information. In clinical development, inconsistently defined, poorly structured or difficult-to-trace data can limit how confidently teams can use those capabilities.</p>
<p>That is why organizations increasingly need to consider AI readiness alongside data readiness.</p>
<p>The issue isn’t simply whether an organization has access to AI technology. It is whether the organization sufficiently trusts, standardizes and governs the data underneath the technology to support the decisions that people will ask AI to help them make.</p>
<p>This is an important shift in perspective. Organizations have traditionally viewed data preparation as an operational activity that happens before the more interesting work of analysis begins. But as clinical development becomes more data-intensive and more AI-enabled, that foundation increasingly determines how quickly everything built on top of it can move.</p>
<h2><strong>A process designed for a different era</strong></h2>
<p>The traditional approach to clinical data transformation has served the industry well. Teams collect, standardize, transform and review data before eventually preparing it for analysis or submission. Given the regulatory environment in which clinical research operates, there are good reasons for the discipline and control that the process requires.</p>
<p>The problem is that the environment around it has changed.</p>
<p>Clinical teams are working with more data sources, more complex studies and a wider range of analytical requirements. Teams may now need data they once prepared for a particular downstream purpose to support multiple analyses, different teams and new forms of automation. Organizations increasingly want to reuse data rather than repeatedly prepare it for individual projects.</p>
<p>That creates an interesting question.</p>
<p>Instead of continually asking how to prepare a particular data set for the next stage of a study, what if we asked how to build a clinical data foundation ready to support whatever comes next?</p>
<p>That is a subtle difference, but an important one.</p>
<p>It moves data transformation away from occurring at specific points in a process and toward becoming a capability that continuously supports the process.</p>
<h2><strong>From data preparation to data readiness</strong></h2>
<p>There are practical benefits to making that shift.</p>
<p>When teams consistently standardize and govern clinical data, they can spend less time resolving inconsistencies and preparing information for individual activities. Analysts can begin their work sooner. Teams can reuse data more easily. Traceability becomes part of the process rather than **something teams have to reconstruct later.</p>
<p>It can also make collaboration easier.</p>
<p>Clinical, statistical, data management and other teams often need to work with the same underlying information, but may approach it from different perspectives. A trusted and consistently governed data foundation provides a common point of reference.</p>
<p>The value, therefore, extends beyond efficiency. It is about creating greater confidence in the information teams use throughout the development life cycle.</p>
<p>That becomes particularly important as organizations introduce more AI and automation into clinical workflows. The more technology participates in interpreting information and supporting decisions, the more important it becomes to understand and trust the data underneath it.</p>
<p>In that sense, data transformation isn’t just preparation for analysis anymore. It is preparation for a much broader clinical development ecosystem.</p>
<h2><strong>Rethinking where clinical acceleration begins</strong></h2>
<p>Much of the conversation around clinical acceleration has focused on what happens once teams have prepared the data.</p>
<p>How quickly can we analyze it? How quickly can we generate insights? How quickly can we make decisions?</p>
<p>Those questions remain important. But there is another opportunity that sits earlier in the process.</p>
<p>How quickly can we turn the data generated by a study into information we can trust, reuse and apply to support those activities?</p>
<p>If the answer to that question remains measured in weeks or months of manual preparation and repeated transformation, then accelerating everything downstream will only take us so far.</p>
<p>Therefore, <a href="https://www.sas.com/en_us/software/clinical-acceleration.htm">clinical acceleration</a> needs to start earlier. Organizations need to connect data transformation, standardization and governance more closely to the subsequent analysis and regulatory activities. Instead of repeatedly preparing data for each downstream use, teams can work from a common, trusted foundation that supports the clinical development process more broadly.</p>
<p>This approach to clinical data transformation shifts the focus from repeatedly preparing data for individual tasks toward keeping data ready for reuse across clinical workflows.</p>
<p>That shift becomes increasingly important as clinical development moves toward more connected and AI-enabled workflows.</p>
<h2><strong>The foundation may determine how far we can go</strong></h2>
<p>There is every reason to be excited about what AI, automation and advanced analytics could bring to clinical research. They have the potential to change not only how quickly organizations work, but how they work.</p>
<p>But technology alone will not determine who benefits most from those advances.</p>
<p>Organizations also need to consider the less visible infrastructure underneath them: the standards, governance, lineage and processes that make clinical data trustworthy and reusable.</p>
<p>The industry has spent years finding ways to speed up analytics. The next opportunity is to look further upstream and reduce the time and effort required to prepare clinical data so teams can actually use those capabilities.</p>
<p>Because ultimately, the speed of the analysis is only part of the equation.</p>
<p>If we want to accelerate clinical development, we also need to accelerate the journey to trusted, reusable data.</p>
<a href="https://www.sas.com/en_us/software/clinical-acceleration.html" class="sc-button sc-button-default sc-button-medium" target="_blank"><span>Accelerate clinical research with SAS® Clinical Acceleration, a secure, validated content repository and statistical computing environment on SAS® Viya®</span></a>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/16/clinical-data-foundation-ai-era/">The clinical data foundation wasn’t designed for the AI era</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/16/clinical-data-foundation-ai-era/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/SA1100OO-150x150.jpg" />
	</item>
		<item>
		<title>Building a healthcare digital twin for operations and AI innovation</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/12/building-a-healthcare-digital-twin-for-operations-and-ai-innovation/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/12/building-a-healthcare-digital-twin-for-operations-and-ai-innovation/#respond</comments>
		
		<dc:creator><![CDATA[Bahar Biller]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 13:00:50 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Applied AI Modeling]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[digital twin]]></category>
		<category><![CDATA[digital twins]]></category>
		<category><![CDATA[SAS Model]]></category>
		<category><![CDATA[SAS Models]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[synthetic data]]></category>
		<category><![CDATA[Unreal Engine]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22545</guid>

					<description><![CDATA[<p>We demonstrate how a digital twin built with Unreal Engine can support both operational decision-making and AI model development.</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/12/building-a-healthcare-digital-twin-for-operations-and-ai-innovation/">Building a healthcare digital twin for operations and AI innovation</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Authors: Bahar Biller, <a href="https://blogs.sas.com/content/author/jonnymcelhinney/">Jonny McElhinney</a>, <a href="https://blogs.sas.com/content/author/johncampbell/">John Campbell</a>, Paul Gavin, Varunraj Valsaraj</strong></p>
<p>What happens when a healthcare organization wants to improve operational performance, evaluate process changes before implementing them, and develop computer vision models without relying on large collections of real-world image data? A recent collaboration between SAS and a Danish medical sterilization center explored exactly that question. The project combined process analytics, simulation, digital twin technology, computer vision, and synthetic data generation within a single workflow. What began as an effort to better understand sterilization operations ultimately demonstrated how a digital twin built with Unreal Engine can support both operational decision-making and AI model development. The work was featured at SAS Innovate 2026.</p>
<h2>Why sterilization operations matter</h2>
<p>Every surgical procedure depends on having the right sterile instruments available at the right time. Even a single delayed instrument tray can result in 10 to 15 minutes of operating room downtime per case. These delays are costly. Operating room downtime is estimated to cost between $20 and $100 per minute. This creates significant operational and financial impact for hospitals. Beyond efficiency, sterilization directly affects patient safety. Failures in sterile processing have been linked to surgical site infections, making process reliability essential.</p>
<p>The Sterile Central facility involved in this project processes surgical instruments for multiple hospitals. The facility is large and primarily automated, but it still relies on human technicians for several critical tasks. <strong>Figure 1</strong> provides a generic representation of a sterile central environment, illustrating the types of workflows and equipment interactions involved in such facilities. It currently serves regional hospitals in the capital region and is planning to expand coverage to additional hospitals.</p>
<p>That growth raises an important question: can the existing process handle additional demand as operations scale? Although the full workflow spans multiple floors, the pilot phase focused on the floor where most cleaning and processing took place.</p>
<figure id="attachment_22557" aria-describedby="caption-attachment-22557" style="width: 702px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-1.png"><img fetchpriority="high" decoding="async" class="wp-image-22557 size-large" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-1-1024x338.png" alt="Digital twin - Figure 1: Unreal Engine representation of the sterilization facility" width="702" height="232" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-1-1024x338.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-1-300x99.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-1-768x253.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-1.png 1430w" sizes="(max-width: 702px) 100vw, 702px" /></a><figcaption id="caption-attachment-22557" class="wp-caption-text">Figure 1: Unreal Engine representation of the sterilization facility, illustrating how digital twins can capture healthcare sterilization workflows and equipment interactions</figcaption></figure>
<p>Healthcare organizations are therefore under constant pressure to improve instrument availability, optimize workflows, and maintain high sterilization standards. As the organization plans for future growth, it faces familiar operational questions:</p>
<ul>
<li>Can the current process support additional demand?</li>
<li>Where are the true bottlenecks in the system?</li>
<li>How should staffing change as workloads shift?</li>
<li>What operational improvements can be evaluated before making changes in the real facility?</li>
</ul>
<p>Answering these questions requires more than intuition. It requires a detailed understanding of how materials, equipment, and people interact throughout the process. This is where digital twins and simulation become very valuable. In this blog post, we focus on developing a high-fidelity digital twin to help achieve these goals.</p>
<h2>A roadmap for the digital twin journey</h2>
<p>We begin by analyzing sterilization-process data, studying the workflow, and identifying important key performance indicators (KPIs) such as subprocess duration, resource utilization, inventory accumulation, and operational bottlenecks. Using these insights, we then build a high-fidelity digital twin of the sterilization facility in Unreal Engine. This virtual environment accurately represents the physical process and serves as a sandbox for experimentation and analysis.</p>
<p>Once the digital twin is built, it becomes the foundation for a second use case: computer vision model development. By leveraging the realistic virtual environment, we can generate synthetic data to train and validate AI models for PPE detection. Together, these use cases demonstrate how a single digital twin can create value across multiple domains, from operational optimization and process improvement to AI model development and workplace safety.</p>
<p><strong>Figure 2</strong> summarizes this project roadmap, showing how process analytics supports digital twin development and how the resulting virtual environment enables synthetic data generation for computer vision.</p>
<figure id="attachment_22560" aria-describedby="caption-attachment-22560" style="width: 936px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-2.png"><img decoding="async" class="size-full wp-image-22560" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-2.png" alt="" width="936" height="404" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-2.png 936w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-2-300x129.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-2-768x331.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></a><figcaption id="caption-attachment-22560" class="wp-caption-text">Figure 2: Project roadmap from process analytics to digital twin development and synthetic data generation</figcaption></figure>
<h2>Building a digital twin starts with data</h2>
<p>Before developing the digital twin, we first analyzed historical process data to understand how the facility operated. At a high level, every instrument tray moves through four main steps: unpack, pre-wash, wash, and pack. Each tray arrives from the buffer lift in a container. After unpacking, trays and containers follow separate routes until both are sterilized and a packing robot brings them back together at the end of the process flow. Instrument trays, containers, wash racks, conveyors, and automated guided vehicles interact throughout the process, creating a system that is simple to describe but complex to model.</p>
<p>To build an accurate model, the analysis combined information from two data sources:</p>
<ul>
<li>Process-scan records that tracked how trays and containers moved through the facility.</li>
<li>Equipment activity records that captured utilization and operational behavior of key resources</li>
</ul>
<p>Together, these sources created a detailed picture of both material flow and equipment performance. The analysis focused on the following four questions, as outlined in <strong>Figure 3:</strong></p>
<ol>
<li>How long does each subprocess take?</li>
<li>How are trays and containers routed through the facility?</li>
<li>Where does inventory accumulate?</li>
<li>How do staffing requirements change under different operating conditions?</li>
</ol>
<figure id="attachment_22563" aria-describedby="caption-attachment-22563" style="width: 602px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-3.png"><img decoding="async" class="size-full wp-image-22563" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-3.png" alt="" width="602" height="420" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-3.png 602w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-3-300x209.png 300w" sizes="(max-width: 602px) 100vw, 602px" /></a><figcaption id="caption-attachment-22563" class="wp-caption-text">Figure 3: Key issues examined through data analysis</figcaption></figure>
<p>The insights gathered from answering these questions ultimately provided the parameter estimates and behavioral assumptions required for the digital twin.</p>
<h2>Finding the real bottleneck</h2>
<p>One of the most interesting findings involved identifying the bottleneck. At first glance, washing seemed like the obvious constraint because washing cycles consumed the most processing time. However, long duration alone does not necessarily indicate a bottleneck.</p>
<p>To understand where congestion forms, we first checked whether a system-level <a href="https://www.6sigma.us/six-sigma-in-focus/littles-law-applications-examples-best-practices/">Little’s Law</a> estimate matched a historical flow-balance estimate based on cumulative arrivals and departures. We obtained the historical estimate directly from the process-scan records by tracking how inventory changed as trays entered and left the system over time. In parallel, we calculated the Little’s Law estimate at the overall system level by combining the average arrival rate with the average time trays spent in the process. The two estimates differed by only 0.8%, increasing confidence that Little’s Law reasonably approximated the observed system behavior. Once we confirmed this relationship at the system level, we extended the Little’s Law analysis to each major process step, combining arrival rates with the average time trays spent in each stage.</p>
<p>This step-level view let us determine where work-in-process was accumulating, rather than relying only on activity duration: Inventory was not building up ahead of the washing stations as expected. Instead, it concentrated downstream between washing and packing. In fact, the stage between the washing machine and packing table accounted for about 65% of total expected system inventory, underscoring the distinction between the longest activity and the true flow constraint.</p>
<p><strong>Figure 4</strong> shows the expected share of long-run inventory associated with each step in the process flow. Each bar corresponds to one process segment, with the horizontal axis showing that segment’s percentage contribution to total expected inventory. The result makes the downstream accumulation visible: Step 7, which represents the flow between the washing machine and packing table, accounts for the largest share of expected inventory. This visual comparison reinforces why the bottleneck assessment focused on where work was accumulating, not simply on which activity had the longest processing time. This distinction was important because it shifted attention from individual processing times to how inventory moved through the full system.</p>
<figure id="attachment_22602" aria-describedby="caption-attachment-22602" style="width: 975px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-4.png"><img loading="lazy" decoding="async" class="size-full wp-image-22602" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-4.png" alt="" width="975" height="370" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-4.png 975w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-4-300x114.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-4-768x291.png 768w" sizes="(max-width: 975px) 100vw, 975px" /></a><figcaption id="caption-attachment-22602" class="wp-caption-text">Figure 4: Inventory distribution by process step</figcaption></figure>
<p>Traditional process reviews often focus on the longest activity. The analysis demonstrated that understanding flow behavior requires examining inventory, routing patterns, and staffing simultaneously. In this case, the evidence suggested that staffing allocation and downstream workflow management may have greater impact on throughput than additional washing capacity.</p>
<p>Insights like these become especially valuable as inputs to a digital twin environment designed to support the future testing of operational alternatives.</p>
<h2>Creating a high-fidelity digital twin</h2>
<p>The next step was to transform the operational analysis into a digital twin built in <a href="https://www.unrealengine.com/">Unreal Engin</a>e. The resulting virtual environment reproduces the physical sterilization facility in extraordinary detail. The level of visual realism was important for two reasons. First, it helped stakeholders recognize the real workflow in the virtual environment. Second, it made the later computer-vision work possible. Visual realism enabled comparison with real footage of people working in the facility and used the virtual environment as a realistic setting for generating synthetic data.</p>
<p>Instrument trays move through conveyors. Washing stations operate according to observed processing characteristics. Personnel interact with equipment throughout the workflow. To make the virtual environment operationally grounded, the digital twin required more than a visual model. It also needed data-driven parameters, including distributions of processing times, conveyor speeds, washing-machine cycle times, equipment failure behavior, and locations where inventory accumulated in the flow. The operational analysis described earlier, which examined the issues summarized in Figure 3, provided these inputs, allowing the digital twin to reflect both the physical layout and the key observed patterns in the facility’s operations.</p>
<p>While photorealistic visualization attracts immediate attention, the most important aspect of the digital twin is not only what people see, but what they can test. The longer-term value lies in creating a virtual experimentation environment that can support future what-if analysis. This would include exploring alternative staffing policies, studying the potential impact of equipment downtime, investigating future capacity needs, and assessing operational changes before implementing them in the real facility. In this way, the digital twin becomes a decision-making sandbox. Compared with a stand-alone simulation model, the digital twin adds value by connecting process logic to a realistic visual representation of the facility. This makes operational scenarios easier to communicate to stakeholders and enables the same environment to support synthetic image and label generation for computer vision model development.</p>
<h2>A second use case emerges: Synthetic image data generation</h2>
<p>Once the digital twin was built, the project expanded beyond operational analysis. This raised a new question: Could the same digital twin generate synthetic data for computer vision model development? The answer was yes.</p>
<p>We selected a healthcare-specific personal protective equipment (PPE) detection use case. The objective was to determine whether personnel entering controlled sterilization areas were wearing required protective equipment, including medical gowns, masks, and hair nets. <strong>Figure 5</strong> shows an example of a MetaHuman wearing medical PPE in the high-fidelity digital twin environment.</p>
<figure id="attachment_22569" aria-describedby="caption-attachment-22569" style="width: 702px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-5.png"><img loading="lazy" decoding="async" class="wp-image-22569 size-large" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-5-1024x576.png" alt="Digital twin - Figure 5: MetaHuman wearing Medical PPE in Unreal Engine 5 Digital Twin" width="702" height="395" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-5-1024x576.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-5-300x169.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-5-768x432.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-5.png 1130w" sizes="(max-width: 702px) 100vw, 702px" /></a><figcaption id="caption-attachment-22569" class="wp-caption-text">Figure 5: MetaHuman wearing Medical PPE in Unreal Engine 5 Digital Twin</figcaption></figure>
<p>Traditionally, developing such models requires collecting real-world images, manually labeling thousands of observations, addressing privacy concerns, and managing data access restrictions. The digital twin offered a different approach. Using Unreal Engine, synthetic workers could be generated automatically with varying appearances, PPE configurations, camera angles, camera mounting positions, fields of view, lighting conditions, and environmental settings. Because the simulation environment already knows the location of every object, it can automatically generate corresponding labels and annotations. This eliminated one of the most time-consuming aspects of computer vision development.</p>
<p><strong>Figure 6</strong> shows a metahuman entering the sterilization zone from the target camera perspective, wearing different combinations of medical PPE. The bounding box coordinates and labels shown are produced automatically by the digital twin application.</p>
<figure id="attachment_22572" aria-describedby="caption-attachment-22572" style="width: 564px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-6.png"><img loading="lazy" decoding="async" class="wp-image-22572 size-full" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-6.png" alt="Digital twin - Figure 6: Auto-generated bounding box annotations for metahumans entering sterilization zone" width="564" height="620" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-6.png 564w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/oct-biller-building-healthcare-digital-twin-figure-6-273x300.png 273w" sizes="(max-width: 564px) 100vw, 564px" /></a><figcaption id="caption-attachment-22572" class="wp-caption-text">Figure 6: Auto-generated bounding box annotations for metahumans entering sterilization zone</figcaption></figure>
<h2>Training models without real-world images</h2>
<p>Perhaps the most striking aspect of the project is that the computer vision model demonstrated during the project was trained exclusively on synthetic imagery. The model never saw a real-world training image. Instead, automated scenario creation generated thousands of annotated synthetic images. We used these images to train PPE detection models. We then evaluated them against real-world footage from the customer environment. This is shown in <strong>Figure 7</strong>.</p>
<figure id="attachment_22782" aria-describedby="caption-attachment-22782" style="width: 582px" class="wp-caption aligncenter"><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/oct-biller-building-healthcare-digital-twin-figure-7.png"><img loading="lazy" decoding="async" class="size-full wp-image-22782" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/oct-biller-building-healthcare-digital-twin-figure-7.png" alt="" width="582" height="489" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/oct-biller-building-healthcare-digital-twin-figure-7.png 582w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/oct-biller-building-healthcare-digital-twin-figure-7-300x252.png 300w" sizes="(max-width: 582px) 100vw, 582px" /></a><figcaption id="caption-attachment-22782" class="wp-caption-text">Figure 7: Medical PPE detections on a real-world image using a model trained solely on synthetic data.</figcaption></figure>
<p>The real-world footage initially indicated that the model trained on synthetic data could successfully generalize to the customer setting, although a more detailed evaluation would require a clearly defined ground-truth labeling process and quantitative performance metrics.</p>
<p>The approach highlights several advantages:</p>
<ul>
<li>Reduced dependence on customer data.</li>
<li>Fewer privacy and security concerns for customers.</li>
<li>Faster, automated generation of high-quality labeled data.</li>
<li>Greater ability to include selected rare scenarios, edge cases, and class-balance conditions in the synthetic data generation process.</li>
<li>Increased dataset variation through controlled changes in scenes and camera perspectives.</li>
<li>Improved portability of trained models across different customer environments.</li>
</ul>
<p>Rather than repeatedly collecting and labeling new image datasets for every deployment, organizations can create digital environments that produce training data on demand.</p>
<h2>Looking beyond healthcare</h2>
<p>Although this project focused on sterilization operations, the broader lessons extend well beyond healthcare. The same digital twin framework can support manufacturing operations, logistics networks, warehouse environments, transportation systems, supply chains, and industrial safety monitoring applications.</p>
<p>The project also illustrates a larger trend in analytics and AI development. Digital twins are evolving beyond visualization tools. Increasingly, they serve as decision-support environments, experimentation platforms, and synthetic data generators. In many situations, the digital twin itself becomes a bridge between physical operations and AI development.</p>
<h2>Final thoughts</h2>
<p>This project demonstrated the power of combining process analytics, simulation, digital twins, and AI within a single framework. The operational analysis helped identify opportunities for improving sterilization workflows. The digital twin created a realistic environment for experimentation. The same virtual environment then enabled the development of computer vision models using synthetic data rather than manually labeled images. As a foundation for future work, the project also identified clear next steps. This includes expanded scenario testing, more formal what-if analysis, and quantitative evaluation of computer vision performance on real-world footage.</p>
<p>What began as an operational improvement initiative evolved into a demonstration of how modern digital twins can support both decision intelligence and AI innovation. As digital twin technology continues to mature, organizations may discover that the most valuable output is not the virtual model itself, but the insights, experiments, and AI capabilities it enables.</p>
<p>To learn more about related SAS work, readers can explore additional resources on <a href="https://blogs.sas.com/content/subconsciousmusings/2025/11/14/revolutionizing-industrial-safety/">industrial safety applications</a>, <a href="https://go.documentation.sas.com/doc/en/aaimwsmppempd/latest/p17qqo5j5kcp42n164hmp7rd2jhj.htm">synthetic image data and model development</a>, and <a href="https://www.sas.com/en_us/industry/manufacturing/solution/digital-twins.html">digital twins for manufacturing</a>. Together, these resources provide broader context for how the concepts discussed in this blog apply across industries.</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/12/building-a-healthcare-digital-twin-for-operations-and-ai-innovation/">Building a healthcare digital twin for operations and AI innovation</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/12/building-a-healthcare-digital-twin-for-operations-and-ai-innovation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/Healthcare_Digital_Twin_under_1MB-150x150.jpg" />
	</item>
		<item>
		<title>Building a vehicle routing problem app on SAS Viya with Claude as the developer in the loop</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/09/building-a-vehicle-routing-problem-app-on-sas-viya-with-claude-as-the-developer-in-the-loop/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/09/building-a-vehicle-routing-problem-app-on-sas-viya-with-claude-as-the-developer-in-the-loop/#respond</comments>
		
		<dc:creator><![CDATA[Carlos Pinheiro]]></dc:creator>
		<pubDate>Fri, 09 Oct 2026 11:00:43 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI-Assisted Development]]></category>
		<category><![CDATA[Analytics Applications]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[MCP]]></category>
		<category><![CDATA[route optimization]]></category>
		<category><![CDATA[SAS Viya]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22548</guid>

					<description><![CDATA[<p>See how Claude and SAS Viya teamed up to turn a vehicle routing optimization program into a fully functional web app, showcasing a fast, practical approach to building AI-assisted analytics applications without extra infrastructure.</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/09/building-a-vehicle-routing-problem-app-on-sas-viya-with-claude-as-the-developer-in-the-loop/">Building a vehicle routing problem app on SAS Viya with Claude as the developer in the loop</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A few weeks ago, HoppyFully Brewing Co. — a fictional distributor used as a testbed — needed a way to turn a pile of ad hoc delivery orders into an optimized truck route with time windows. The optimization itself already existed: a mature SAS program that solves a vehicle routing problem with time windows (VRPTW) using SAS Viya's network optimization capabilities. What's missing was the front door — a simple way for someone to enter orders and get routes back, without standing up a separate backend, database, or hosting environment. This post walks through how that app came together, working with Claude inside SAS Viya itself.</p>
<h2>Connecting Claude to Viya</h2>
<p>The starting point was the Model Context Protocol, or MCP, which exposes a set of tools that let Claude talk directly to a running Viya environment: submitting SAS code for execution, listing and downloading files, querying CAS tables, and checking on compute sessions and jobs. In practice, this meant Claude could act as a developer with real hands on the environment — writing a SAS program, running it, reading the log, and iterating — the same loop a person would go through in SAS Studio, but conversational.</p>
<p>That connection mattered for a design decision made early on: rather than building a separate web server, the app itself would be hosted inside Viya's own Files Service. Every file — the HTML page, its stylesheet, its JavaScript — lives as a file object in Viya and is served back over the same domain the browser is already talking to. That "same-origin" trick avoids a whole category of cross-origin (CORS) headaches that show up the moment a web app tries to call a separate API server, and it means there's nothing extra to deploy or maintain outside of Viya.</p>
<p><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-22587" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture.png" alt="" width="2800" height="1760" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture.png 2800w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture-300x189.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture-1024x644.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture-768x483.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture-1536x965.png 1536w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture-2048x1287.png 2048w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/vrp-mcp-architecture-343x215.png 343w" sizes="(max-width: 2800px) 100vw, 2800px" /></a></p>
<h2>Designing the app itself</h2>
<p>The interface itself is intentionally plain: a single order screen. One panel lets a customer pick beer styles, pack sizes, and quantities; the other collects delivery details — address, customer type, and a delivery time window. Submitting an order pushes it into the browser's local memory and, behind the scenes, syncs it to CAS tables in Viya. Below is an "Operations" section with two buttons: one to run the routing optimization, one to reset everything and start over. Once routing has run, a Results panel appears showing the solved routes.</p>
<p><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-22578" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1.png" alt="" width="1901" height="730" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1.png 1901w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1-300x115.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1-1024x393.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1-768x295.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully1-1536x590.png 1536w" sizes="(max-width: 1901px) 100vw, 1901px" /></a></p>
<p>Keeping this to plain HTML, CSS, and JavaScript — no framework, no build step — was a deliberate choice. It keeps the whole thing inspectable as a handful of files sitting in Viya's Files Service, and it means the app can be updated by simply replacing those files' contents, which is exactly the loop Claude used throughout development: write the code to create the web app and integrate it to SAS Viya, deploy it as a file update, verify it downloaded correctly, and check the result live in the browser.</p>
<h2>Talking to CAS</h2>
<p>The mechanism for getting order data into SAS is simple by design. Rather than building an API layer, the browser submits a small SAS program directly to a Viya compute session through the Compute service's REST endpoints. That program embeds the order data as inline SAS DATALINES, reads it into two tables — one for customers, one for order line items — and saves them into CASUSER with promote=yes, so the tables are immediately visible to any other session on the server, not just the browser's own. Before every push, the app first drops any existing versions of those two tables, so each "Submit order" and each "Reset" leaves CAS in a clean, predictable state rather than accumulating stale data. As the web app can be used by many users at the same time, all data is saved in CASUSER, so each user sees its own orders, routings and maps.</p>
<h2>Running the routing solver</h2>
<p>Once orders are collected, clicking "Simulate the optimal routing" submits a second, larger SAS program to that same compute session. After re-pushing the current orders, it uses %include to run the existing VRPTW solver program unchanged — the app doesn't reimplement any optimization logic, it just triggers the program that already exists on the server's file system, pointed at the CAS tables that were just populated. That program does the real work: building the network model, applying time-window lower and upper constraints, average speed, time to load and unload the goods, vehicle capacity, and produces an optimized route assignment as a CAS table, VRP_SOLUTION, along with an interactive route map written out as an HTML file with all itineraries.</p>
<p><center><br />
<a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully2.png"><img loading="lazy" decoding="async" class="alignnone wp-image-22692 size-full" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully2.png" alt="" width="854" height="194" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully2.png 854w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully2-300x68.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully2-768x174.png 768w" sizes="(max-width: 854px) 100vw, 854px" /></a><br />
</center></p>
<h2>Getting the results back to the browser</h2>
<p>This is the part that took the most iteration. A compute session's REST API doesn't hand back a table as a tidy JSON payload by default — the practical channel is the session's own log. So, the SAS code sorts the solution table by route and stop sequence, then writes each row out as a specially tagged log line (ROWCSV:) that the JavaScript on the other end knows to scan for and parse into rows for the on-screen table, complete with arrival and departure times, service windows, and travel times for each stop.</p>
<p><center><br />
<a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully3.png"><img loading="lazy" decoding="async" class="alignnone wp-image-22695 size-full" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully3.png" alt="" width="854" height="699" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully3.png 854w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully3-300x246.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully3-768x629.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/hoppyfully3-168x137.png 168w" sizes="(max-width: 854px) 100vw, 854px" /></a><br />
</center></p>
<p>The route map took a similar approach but needed an extra trick. Viya's log has a fixed line-length limit, and the map file — a self-contained Leaflet-based HTML page with an embedded route — has plenty of lines longer than that. The fix was to have SAS chunk every line into short pieces tagged so the browser could stitch them back into an exact reconstruction of the original file, rather than losing anything to truncation.</p>
<p><a href="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-22584" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3.jpg" alt="" width="1910" height="939" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3.jpg 1910w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3-300x147.jpg 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3-1024x503.jpg 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3-768x378.jpg 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3-1536x755.jpg 1536w, https://blogs.sas.com/content/subconsciousmusings/files/2026/09/hoppyfully3-164x82.jpg 164w" sizes="(max-width: 1910px) 100vw, 1910px" /></a></p>
<h2>The bigger point</h2>
<p dir="ltr">What made this workable wasn't any single clever trick, but the tight loop of writing code, deploying it, and verifying it against the live environment, with a person steering priorities and approving each change along the way. It's a pattern that will generalize well beyond the vehicle routing problem with time window showed here: any existing SAS program for optimization, forecasting, econometrics, or even predictive modeling can gain a lightweight, purpose-built front end this way, hosted entirely inside Viya, with no separate infrastructure to manage. This front end can be seen as an excellent approach to simulate and visualize SAS programs outcomes in a very interactive and user friendly fashion.</p>
<p dir="ltr">The division of labor is what made that loop fast. The optimization model, the business rules and the final say stayed with the person who owns them. Claude took on the development that usually slows down projects like this: REST calls, security tokens, deployment scripts, and all the checks that confirm each change was actually comitted. Nothing runs against Viya without the code and the reasoning being shown first, and most important, approved. This keeps the entire work very transparent. And the best part: each obstacle along the way became a documented pattern, ready for the next project or application.</p>
<p dir="ltr">There is still room to grow, as always. The model could re-optimize as new orders arrive during the day, combining pickups and deliveries, or size the fleet from typical demand. None of this requires rethinking the architecture, only modifications to the SAS program and eventually a few more fields and checks to the web application.</p>
<p dir="ltr">The broader takeaway is that the front end no longer has to be the expensive part of putting a model in front of the people who use it. Many organizations already own SAS programs that answer important  business questions but only reach whoever can run the code. With Claude connected to SAS Viya through SAS Viya MCP Server, and a person approving each step, those programs can become purpose-built apps in days rather than months, hosted where the data and models already live.</p>
<h3>Learn more</h3>
<ul>
<li><a href="https://www.sas.com/en_us/software/viya/mcp-server.html">SAS Viya MCP Server</a></li>
<li><a href="https://github.com/sassoftware/sas-mcp-server">GitHub: SAS MCP Server</a></li>
<li><a href="https://www.sas.com/en_us/webinars/ate-claude-the-programmer.html">Ask the Expert webinar: Claude the Programmer</a></li>
<li><a href="https://communities.sas.com/t5/SAS-Communities-Library/Latitude-Longitude-and-SAS-The-Many-Ways-to-Geocode-Data-in-SAS/ta-p/993544">Latitude, Longitude, and SAS: The Many Ways to Geocode Data in SAS Viya</a></li>
<li><a href="https://communities.sas.com/t5/SAS-Communities-Library/How-Much-Farther-Calculating-Distance-in-SAS/ta-p/993490">How Much Farther? Calculating Distance in SAS</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/09/building-a-vehicle-routing-problem-app-on-sas-viya-with-claude-as-the-developer-in-the-loop/">Building a vehicle routing problem app on SAS Viya with Claude as the developer in the loop</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/09/building-a-vehicle-routing-problem-app-on-sas-viya-with-claude-as-the-developer-in-the-loop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/vrpfeatimg1_under1MB-150x150.jpg" />
	</item>
		<item>
		<title>Can data show where cancer outreach is needed most?</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/08/can-data-show-where-cancer-outreach-is-needed-most/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/08/can-data-show-where-cancer-outreach-is-needed-most/#respond</comments>
		
		<dc:creator><![CDATA[Kelsey Young]]></dc:creator>
		<pubDate>Thu, 08 Oct 2026 09:00:54 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[breast cancer awareness]]></category>
		<category><![CDATA[cancer]]></category>
		<category><![CDATA[cancer research]]></category>
		<category><![CDATA[Kay Yow Cancer Fund]]></category>
		<category><![CDATA[public health]]></category>
		<category><![CDATA[SAS Viya]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22713</guid>

					<description><![CDATA[<p>Organizations have access to more data than ever before. The challenge has shifted from finding data to making sense of it. Understanding where programs are already making an impact is one part of the picture. The next step is looking ahead to where additional outreach and resources could make a [...]</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/08/can-data-show-where-cancer-outreach-is-needed-most/">Can data show where cancer outreach is needed most?</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><strong>Organizations have access to more data than ever before. The challenge has shifted from finding data to making sense of it.</strong></h3>
<p><a href="https://blogs.sas.com/content/sascom/2026/10/01/kay-yow-cancer-fund-data-impact/">Understanding where programs are already making an impact is one part of the picture</a>. The next step is looking ahead to where additional outreach and resources could make a difference. For our analytics initiative supporting the <a href="https://kayyow.com">Kay Yow Cancer Fund</a>, we brought together public health data from various sources to identify locations for community outreach, education and cancer screening programs.</p>
<p>The data came in many formats from different federal health agencies: Excel files, flat files, ZIP archives, downloadable CSVs and REST APIs. Each source had its own structure, update cycle, and technical requirements. Luckily, all sources published their data at the county level, so we had a common key to bring them together.</p>
<p>Individually, these datasets provide valuable insights. Together, they can reveal something more useful: where cancer burden, social vulnerability, screening access and existing resources intersect. Simply downloading and integrating these diverse data types can quickly overwhelm organizations, especially those without a dedicated data engineer or someone experienced with data.</p>
<p>For this project, we used <a href="https://www.sas.com/en_us/software/viya.html">SAS<sup>®</sup> Viya<sup>®</sup></a> to integrate multiple sources for analysis and visualization.</p>
<a href="https://blogs.sas.com/content/sascom/2026/10/01/kay-yow-cancer-fund-data-impact/ " class="sc-button sc-button-default sc-button-medium" target="_blank"><span>Read: Behind every data point is a person: Turning insight into impact with the Kay Yow Cancer Fund</span></a>
<h2><strong>The public health data challenge</strong></h2>
<p>Many health datasets are publicly available, but their formats vary. We incorporated several sources for this project. Each source provides a different view into overall community health.</p>
<ul>
<li><a href="https://www.census.gov/programs-surveys/acs.html">U.S. Census Bureau American Community Survey (ACS)</a>, which provides demographic data through a REST API in JSON format.</li>
<li><a href="https://www.cdc.gov/about/priorities/why-is-addressing-sdoh-important.html">The CDC Social Determinants of Health (SDOH) datasets</a> in Excel files.</li>
<li><a href="https://www.cancer.gov">The National Cancer Institute (NCI)</a>, which provides cancer incidence and mortality rates in CSV files.</li>
<li><a href="https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfMQSA/mqsa.cfm">The FDA provides mammography screening facility data</a> in a TXT file within a ZIP folder.</li>
</ul>
<p>ACS data helps quantify population characteristics and demographics. CDC SDOH data highlights factors such as economic conditions, education, transportation and health care access. NCI data show where cancer incidence and mortality rates are high and increasing or falling. The FDA mammography facility provides physical screening locations to help address breast cancer prevention needs and identify service gaps. We also leveraged data on Kay Yow grant recipients to show where community investments already exist.</p>
<p>No single dataset can tell the Fund where outreach is needed most. Looking at them together, however, begins to show where high cancer burden may overlap with social vulnerability, lower screening rates and gaps in access to care.</p>
<p>For the Kay Yow Cancer Fund, we set out to create an analytical and interactive dashboard to identify counties with high rates of different types of cancer, high levels of social vulnerability and low rates of cancer screening and prevention to plan EmPOWERment Tours. The Tours provide communities with cancer education, screening awareness and access to local health resources.</p>
<p>The dashboard provides the Fund with another way to identify communities where outreach, education and screening resources could have the greatest impact.</p>
<h2><strong>Connecting data across formats</strong></h2>
<p>Answering that question first required us to bring very different types of data into the same environment.</p>
<p>For this project, we used several techniques to ingest the data:</p>
<ul>
<li>We downloaded and processed Census API data using PROC HTTP.</li>
<li>We retrieved CDC datasets directly from downloadable CSV endpoints.</li>
<li>We read ZIP archives published by the FDA and other Federal Agencies.</li>
<li>We loaded all datasets into SAS Viya for scalable analytics and visualization.</li>
</ul>
<p>The code and scripts are relatively straightforward because SAS provides the capabilities needed to interact with modern data sources, such as REST APIs and less modern but still valuable ones, such as flat files.</p>
<p>What I love the most about SAS is that, as a data analyst, I can develop a script that reads in these data sources directly into the platform for integration, analysis and visualization. I don’t have to download a file, upload it to a server and then import it to SAS. All I need to do is save my script program file and I can rerun the code if I change environments or the data refreshes.</p>
<p>As a bonus, I can keep all my scripts in a single GitHub repository that integrates with SAS Data and AI Studio – my personal preference for a SAS programming IDE – and with VS Code.</p>
<p>Back to the coding techniques I used in this project.</p>
<p>PROC HTTP lets me interact directly with web APIs and data services without requiring additional tools. It supports standard HTTP methods, including GET and POST, and lets me access REST APIs and web services directly from SAS programs.</p>
<p>After more than 15 years of programming in SAS, I think PROC HTTP may be my favorite PROC.</p>
<p>The following shows how to access the Census ACS data in JSON format as an example. SAS has a purpose-built access engine that reads JSON files and presents them like a traditional SAS table.</p>
<p>The code uses the following SAS procedures and statements:</p>
<ul>
<li>FILENAME statement</li>
<li>PROC HTTP</li>
<li>LIBNAME statement with the JSON engine</li>
<li>DATA step</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-22764" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.58 AM.png" alt="" width="1348" height="550" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.58 AM.png 1348w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.58 AM-300x122.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.58 AM-1024x418.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.58 AM-768x313.png 768w" sizes="(max-width: 1348px) 100vw, 1348px" /></p>
<p><!-- Example 1: Census ACS API --></p>
<p>ACS data is very wide, with non-descriptive variable names, so after this initial ingest step, we need to perform post-processing and apply variable labels. Luckily, the JSON library also includes descriptive variable labels for each variable code, making it a convenient one-stop shop!</p>
<a href="https://api.census.gov/data/key_signup.html" class="sc-button sc-button-default" target="_blank"><span>If you want to run this code, you will need to request your own API key</span></a>
<p>Similarly, federal agencies sometimes publish compressed files. SAS provides FILENAME ZIP functionality that allows programs to inspect and extract ZIP contents programmatically within SAS workflows. This <a href="https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/">blog post</a> by Chris Hemedinger provides an excellent example of using FILENAME ZIP to access data files stored in ZIP archives without relying on external utilities. I used his approach to develop the script below for reading FDA mammography facility data.</p>
<p>The following code demonstrates how to download a compressed file from the FDA and use the SAS ZIP filename method to read mammography facility data directly from the archive.</p>
<p>The code uses the following SAS procedures and statements:</p>
<ul>
<li>Macro variables and functions</li>
<li>FILENAME statement</li>
<li>PROC HTTP</li>
<li>DATA step</li>
<li>INFILE and INPUT statements</li>
<li>INFORMAT, FORMAT and LABEL statements</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-22767" src="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.31 AM.png" alt="" width="1348" height="1094" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.31 AM.png 1348w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.31 AM-300x243.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.31 AM-1024x831.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.31 AM-768x623.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-08-at-11.00.31 AM-168x137.png 168w" sizes="(max-width: 1348px) 100vw, 1348px" /></p>
<p>These capabilities allow data engineers and analysts like me to spend less time wrestling with file formats and more time understanding what the data can tell us.</p>
<p><!-- Example 2: FDA ZIP archive --></p>
<h2><strong>Creating a common geographic language</strong></h2>
<p>Bringing the datasets into one environment solved one problem. Making them speak the same geographic language created another.</p>
<p>Every data source can describe geography differently. One data set may contain county names. Another may contain five-digit ZIP Codes. A third may provide latitude and longitude coordinates. Others may use state and county FIPS codes.</p>
<p>Without standardization, we can’t accurately combine the datasets.</p>
<p>In this project, we chose the county FIPS code as our common key. We then used text functions to concatenate the state and county FIPS codes to create our key codes and a unique geographic identifier.</p>
<p>That common identifier helped us to analyze demographic data, social determinants, metrics, health care access information and Kay Yow Cancer Fund grant recipient information together at the county level.</p>
<p>Now we could move beyond isolated statistics and see how different conditions overlap within the same community.</p>
<h2><strong>Bringing it all together with mapping and visualization</strong></h2>
<p>After we connected the datasets, we could look at demographic indicators, social determinants, health care resources and the Fund’s existing investments together.</p>
<p>That’s where the data starts becoming useful for the Fund.</p>
<p>Rather than reviewing cancer rates, screening access, social vulnerability and existing investments separately, the Fund can ask how those factors intersect within individual communities.</p>
<p>For example:</p>
<ul>
<li>Which counties have elevated social risk indicators, high cancer incidence rates and low cancer screening rates?</li>
<li>Do those counties have local or mobile mammography facilities?</li>
<li>Which communities with low cancer screening rates sit near Kay Yow Cancer Fund grantees?</li>
<li>Where might additional outreach programs have the greatest impact?</li>
</ul>
<p>Those questions shift the analysis from understanding individual datasets to understanding communities.</p>
<figure id="attachment_22728" aria-describedby="caption-attachment-22728" style="width: 883px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-22728 " src="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-07-at-5.16.47 PM.png" alt="" width="883" height="436" srcset="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-07-at-5.16.47 PM.png 1452w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-07-at-5.16.47 PM-300x148.png 300w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-07-at-5.16.47 PM-1024x505.png 1024w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-07-at-5.16.47 PM-768x379.png 768w, https://blogs.sas.com/content/subconsciousmusings/files/2026/10/Screenshot-2026-10-07-at-5.16.47 PM-164x82.png 164w" sizes="(max-width: 883px) 100vw, 883px" /><figcaption id="caption-attachment-22728" class="wp-caption-text">Figure 1: Using the dashboard, the Kay Yow Fund can now interact with county Cancer Incidence and Mortality rates alongside their Grantees, while also considering other community health factors such as the CDC Social Vulnerability Index, Mammogram rates, cigarette smoking rates, dentist and doctor visit rates, and economic factors such as the unemployment rate.</figcaption></figure>
<h2><strong>The bigger opportunity</strong></h2>
<p>While this example focuses on the Kay Yow Cancer Fund’s mission to improve cancer screening and community outreach, the underlying lesson applies much more broadly.</p>
<p>Important questions rarely live in one single data set.</p>
<p>Understanding where a community needs support may require organizations to consider health outcomes alongside demographics, economic conditions and access to existing services and resources. Any one of those factors provides only part of the picture.</p>
<p>For the Kay Yow Cancer Fund, bringing them together creates a stronger understanding of where programs already make an impact and where future community outreach efforts might provide the greatest benefit.</p>
<p>That's also how this work builds on what came before it. Measuring impact helps us understand what programs have already accomplished. Connecting that evidence with the conditions communities face can help inform what happens next.</p>
<p>The goal is not simply to collect more data. The goal is to connect the right data so organizations can see what they couldn’t before and make better decisions as a result.</p>
<h3><strong>Support the Kay Yow Cancer Fund</strong></h3>
<p>Help advance the Kay Yow Cancer Fund’s mission to improve outcomes for women facing cancer through research, education and access to care.</p>
<p><strong><a href="https://kayyow.com">Learn more about the Kay Yow Cancer Fund →</a></strong></p>
<h3><strong>Hear more perspectives on health care</strong></h3>
<p>Join us for <a href="http://www.sas.com/thehealthpulse?utm_source=chatgpt.com">The Health Pulse podcast</a> as we explore fresh perspectives on digital transformation, data and innovation across health care and <a href="https://www.sas.com/en_us/industry/life-sciences.html">life sciences</a>.</p>
<h3><strong>References</strong></h3>
<ul>
<li>Chris Hemedinger, Using FILENAME ZIP to unzip and read data files in SAS (May 11, 2015) <a href="https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/">https://blogs.sas.com/content/sasdummy/2015/05/11/using-filename-zip-to-unzip-and-read-data-files-in-sas/</a></li>
<li>SAS Documentation, Overview: PROC HTTP : <a href="https://documentation.sas.com/doc/en/pgmsascdc/v_078/proc/n0t7v16eitluu2n15ffpfeafqszs.htm">https://documentation.sas.com/doc/en/pgmsascdc/v_078/proc/n0t7v16eitluu2n15ffpfeafqszs.htm</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/08/can-data-show-where-cancer-outreach-is-needed-most/">Can data show where cancer outreach is needed most?</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/08/can-data-show-where-cancer-outreach-is-needed-most/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/10/kycf12-150x150.jpg" />
	</item>
		<item>
		<title>From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/#respond</comments>
		
		<dc:creator><![CDATA[William Nadolski]]></dc:creator>
		<pubDate>Mon, 05 Oct 2026 13:16:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI agents]]></category>
		<category><![CDATA[Applied AI Modeling]]></category>
		<category><![CDATA[chatbots]]></category>
		<category><![CDATA[copilots]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[Demystifying Recent AI Advances]]></category>
		<category><![CDATA[SAS Model]]></category>
		<category><![CDATA[SAS Models]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22497</guid>

					<description><![CDATA[<p>This post covers the two layers that sit on top of the model and largely determines what an AI system can actually accomplish.</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Part 2 in the Demystifying Recent AI Advances Series</h2>
<p>In Part 1 of this series, we toured the <a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">model zoo</a>. We covered what separates LLMs, SLMs, VLMs, reasoning models, and diffusion models, and the deeper split between discriminative and generative approaches. Knowing which model to reach for is a good start. But a model on its own is inert. It answers when spoken to, and that is the whole of the interaction.</p>
<p>This post covers the two layers that sit on top of the model and largely determine what an AI system can actually accomplish. The first is autonomy: how much initiative the system takes, what it is permitted to touch, and how much human oversight it requires. The second is the plumbing: the standards and structures, namely Skills, the Model Context Protocol, and the agent harness, that let a model reach beyond its own context window and take action in the world.</p>
<p>Both layers are where much of the recent terminology explosion has landed, and both are where the distinctions matter most in practice.</p>
<h2>The Autonomy Spectrum: Chatbots, Copilots, and Agents</h2>
<p>Another area ripe for confusion is the spectrum of AI autonomy. The terms chatbot, copilot, and agent get used loosely, but they describe meaningfully different levels of capability and independence.</p>
<p><strong>Chatbots</strong> are the most familiar. They are reactive, conversational interfaces that wait for a prompt and generate a text response. No tool access, no persistent state beyond the current conversation window, no ability to take action in the world. Ask a chatbot a question, and it answers. That is the extent of the interaction. Most consumer-facing AI assistants still operate at this level.</p>
<p><strong>Copilots</strong> represent a step up. A copilot augments human work by suggesting actions: code completions, document edits, analytical next steps, dashboard configurations. The critical distinction is that the human remains in control. The model proposes; the human takes action. GitHub Copilot suggests code completions, <a href="https://communities.sas.com/t5/SAS-Communities-Library/SAS-Viya-Copilot-Tips-and-Tricks/ta-p/981845">SAS Viya Copilot</a> recommends model pipeline configurations, and an AI assistant drafting an email for your review are all copilot-level interactions. Copilots accelerate human productivity without removing human judgment or approval from the process.</p>
<p><strong>Agents</strong> are where the real paradigm shift occurs. An agent operates autonomously in a loop: it plans, takes action by invoking tools, observes the results, and decides what to do next. The critical differentiator between a copilot and an agent is autonomy plus tools. Instead of proposing the next step for a human to accept, an agent executes its own plan against external systems. That said, autonomy does not mean unchecked capabilities. It is often wise and prudent to design agents so that any potentially destructive or irreversible actions, such as deleting data, sending communications, modifying production systems, or committing financial transactions, are gated behind explicit human review and approval. Only after an agent has proven itself reliable should these gates be relaxed, and even then, only in a very controlled and observable way.</p>
<p>The best agent architectures make this easy by design, enabling routine read-only and low-risk operations to flow freely while surfacing high-stakes decisions to a human for confirmation. The goal is not to hobble the agent but to ensure that the speed and scale of automation never outrun human judgment on the actions that matter most.</p>
<p>To paraphrase Andrej Karpathy, from his <a href="https://www.youtube.com/watch?v=MvNGGIj2-rI">YouTube clip</a>, “[With AI] we can outsource intelligence, but we cannot outsource our understanding or responsibility.” Table 1 compares and contrasts these tools.</p>
<table style="height: 541px" width="625">
<tbody>
<tr>
<td width="180"><strong>Dimension</strong></td>
<td width="180"><strong>Chatbot</strong></td>
<td width="180"><strong>Copilot</strong></td>
<td width="180"><strong>Agent</strong></td>
</tr>
<tr>
<td width="180"><strong>Interaction</strong></td>
<td width="180">Reactive: waits for a prompt</td>
<td width="180">Proactive: suggests actions</td>
<td width="180">Autonomous: plans and executes in a loop</td>
</tr>
<tr>
<td width="180"><strong>Human Role</strong></td>
<td width="180">Initiator and decision-maker</td>
<td width="180">Decision-maker with AI assistance</td>
<td width="180">Supervisor and approver</td>
</tr>
<tr>
<td width="180"><strong>Tool Access</strong></td>
<td width="180">None (text in, text out)</td>
<td width="180">Read access to workspace context</td>
<td width="180">Full tool invocation (read + write + execute)</td>
</tr>
<tr>
<td width="180"><strong>Autonomy Level</strong></td>
<td width="180">Zero: follows instructions literally</td>
<td width="180">Low: augments human workflow</td>
<td width="180">High: operates independently within guardrails</td>
</tr>
<tr>
<td width="180"><strong>Error Recovery</strong></td>
<td width="180">User must re-prompt</td>
<td width="180">User reviews and corrects suggestions</td>
<td width="180">Agent retries, escalates, or asks for help</td>
</tr>
<tr>
<td width="180"><strong>Typical Examples</strong></td>
<td width="180">ChatGPT (default), support bots</td>
<td width="180">GitHub Copilot, SAS Viya Copilot</td>
<td width="180">Claude Code, Copilot Coding Agent</td>
</tr>
<tr>
<td width="180"><strong>Best For</strong></td>
<td width="180">Q&amp;A, brainstorming, generation</td>
<td width="180">Code completion, editing, analysis</td>
<td width="180">Multi-step workflows, research, engineering</td>
</tr>
</tbody>
</table>
<p style="text-align: left"><em>Table 1: The Autonomy Spectrum -- Chatbots, Copilots, and Agents</em></p>
<h2>The Plumbing: MCP, Skills, and Harnesses</h2>
<p>If model architecture and autonomy define what an AI system can do, the plumbing defines how it does it. Three concepts have emerged as the foundational building blocks of modern agentic systems, and understanding the distinction between them is essential.</p>
<h3>Skills</h3>
<p>Skills are reusable, file-based definitions of repeatable workflows. Typically, a skill is simply a Markdown file with natural language instructions. Whereas a tool is a single function (call an API, run a query), a skill can encapsulate an entire workflow: search relevant documents, summarize them, format the output, and present it to the user. If tools are functions, skills are modules composed of multiple functions that an AI agent can understand and follow.</p>
<h3>Model Context Protocol (MCP)</h3>
<p>MCP is an open standard introduced by Anthropic and has been widely described as "the USB-C of AI" because it standardizes how agents connect to external tools, data sources, and services.</p>
<p>Before MCP, every tool integration was bespoke. Connecting an agent to Slack required custom code. But connecting it to a database required different custom code. Connecting it to a file system required even more custom code. MCP eliminates this fragmentation. Build an MCP server on the tool side once, and every AI client that supports the protocol (Claude, ChatGPT, VS Code, etc.) can connect the same way.</p>
<p>At its core, MCP is a combination of workflows, tools, and reference documentation. However, it lets you to easily connect your AI agent to 3rd-party tooling and APIs without having to know how to call them programmatically. The LLM handles that aspect.</p>
<h3>Skills vs. MCP: When to Use Which</h3>
<p>Because skills and MCP both extend what an agent can do, it is natural to wonder when to reach for one versus the other.</p>
<p>Use <strong>skills</strong> when you have a repeatable process or tightly scoped workflow that you want to codify and reuse. "Analyze a clinical trial data set, flag anomalies, and generate a summary report" is a skill. So is "run the quarterly compliance check against these five data sources and produce a formatted findings document." Skills encapsulate business logic, sequencing, and output formatting into a self-contained unit that can be invoked reliably every time. They are well suited for local execution where security and authentication are not primary concerns: file manipulation, text processing, data transformation, or any workflow that operates on data already within the agent's environment.</p>
<p>Use <strong>MCP</strong> when you want to enable users to interact with your tools or APIs via conversational natural language instead of programmatic commands, and you want to do so across different environments. This is the key shift MCP unlocks. Rather than requiring a user to know the right API endpoint, construct a query, or navigate a CLI, they simply describe what they need in plain English.</p>
<p>The agent then translates that intent into the appropriate tool calls through MCP. "Show me last quarter's revenue by region" becomes a natural language request that MCP routes to the right database query, analytics API, or reporting service behind the scenes. MCP is designed for remote tool calling across authenticated gateways, handling the handshake with external services, managing credentials, and respecting access controls, making it the right choice when the agent needs to reach beyond its local sandbox into enterprise systems, third-party APIs, or cloud services that require governed authentication.</p>
<p>That doesn't mean the two are mutually exclusive. A skill might orchestrate several MCP tool calls under the hood, or an MCP server might utilize embedded skills. The line is blurry, but generally, skills define the workflow while MCP provides the integration. Table 2 provides more context and differentiation.</p>
<table width="654">
<tbody>
<tr>
<td width="208"><strong>Criterion</strong></td>
<td width="207"><strong>Use Skills</strong></td>
<td width="239"><strong>Use MCP</strong></td>
</tr>
<tr>
<td width="208"><strong>Interaction Model</strong></td>
<td width="207">Agent executes a codified workflow end-to-end</td>
<td width="239">User describes intent in natural language; agent translates to API calls</td>
</tr>
<tr>
<td width="208"><strong>Data Location</strong></td>
<td width="207">Already within the agent's local environment</td>
<td width="239">External systems, cloud services, third-party APIs</td>
</tr>
<tr>
<td width="208"><strong>Security Posture</strong></td>
<td width="207">Low concern (local sandbox execution)</td>
<td width="239">Governed authentication across remote gateways</td>
</tr>
<tr>
<td width="208"><strong>Reuse Pattern</strong></td>
<td width="207">Same process, reliably invoked every time</td>
<td width="239">Same integration, accessible from any MCP-compatible client</td>
</tr>
<tr>
<td width="208"><strong>Setup Complexity</strong></td>
<td width="207">Create a Markdown file with instructions</td>
<td width="239">Configure server, register tools, manage credentials</td>
</tr>
<tr>
<td width="208"><strong>Composition</strong></td>
<td width="207">Skills can orchestrate MCP calls under the hood</td>
<td width="239">MCP servers can embed skill-like workflows internally</td>
</tr>
</tbody>
</table>
<p style="text-align: left"><em>Table 2: Skills vs. MCP -- When to Use Which</em></p>
<h2>Harnesses</h2>
<p>Another term you may have heard thrown about is “harness”. A harness is the complete runtime infrastructure wrapping an AI model: the orchestration loop, tool dispatch, memory management, context assembly, error handling, and guardrails. Martin Fowler and Birgitta Böckeler of ThoughtWorks crystallized this with a simple formula: Agent = Model + Harness. The model provides the intelligence; the harness provides the structure that makes that intelligence reliable and useful.</p>
<p>A useful way to think about this is with a car analogy. The model is the engine, but the harness is the rest of the vehicle. An engine by itself sits on a shop floor and spins. It takes a chassis, steering, brakes, a transmission, and a dashboard to turn that raw power into something that actually gets you where you need to go safely. The harness provides the steering (context assembly and tool routing), the brakes (guardrails and human-in-the-loop gates), the transmission (memory and state management), and the dashboard (observability and logging). Swap in a more powerful engine and the car gets faster, but without the rest of the vehicle, horsepower is just noise. And crucially, good harness design is modular: as models improve, components of the harness that compensate for model weaknesses can be removed. Table 3 spells out this analogy explicitly.</p>
<table width="624">
<tbody>
<tr>
<td width="240"><strong>Car Component</strong></td>
<td width="240"><strong>Harness Equivalent</strong></td>
<td width="240"><strong>What It Does</strong></td>
</tr>
<tr>
<td width="240"><strong>Engine</strong></td>
<td width="240">AI Model</td>
<td width="240">Provides raw intelligence and reasoning power</td>
</tr>
<tr>
<td width="240"><strong>Steering</strong></td>
<td width="240">Context Assembly + Tool Routing</td>
<td width="240">Directs the model's attention to the right information and actions</td>
</tr>
<tr>
<td width="240"><strong>Brakes</strong></td>
<td width="240">Guardrails + Human-in-the-Loop Gates</td>
<td width="240">Prevents unsafe, unauthorized, or costly actions</td>
</tr>
<tr>
<td width="240"><strong>Transmission</strong></td>
<td width="240">Memory + State Management</td>
<td width="240">Maintains continuity and context across interactions</td>
</tr>
<tr>
<td width="240"><strong>Dashboard</strong></td>
<td width="240">Observability + Logging</td>
<td width="240">Provides visibility into what the agent is doing and why</td>
</tr>
</tbody>
</table>
<p style="text-align: left"><em>Table 3: The Harness as a Car Analogy</em></p>
<p>An excellent blog post by the author of bits-bytes-nn, titled "From Prompts to Harnesses: Four Years of AI Agentic Patterns," traces the evolution of AI engineering rigor over the past few years across three distinct eras:</p>
<ul>
<li> Prompt Engineering (2022-2024): "What should I say?" The industry believed instruction quality was the sole determinant of AI response success.</li>
<li>Context Engineering (2024-2026): "What information should I provide?" The realization that what fills the context window and is available to the AI agent matters more than the prompt itself.</li>
<li>Harness Engineering (2026+): "What system should I build?" The acceptance that the design of the entire system is the real problem to be solved. And that intelligent systems can make up for inadequate models.</li>
</ul>
<p>The core thesis is compelling. As agentic AI proliferates within software development, engineering rigor does not disappear. Rather, it relocates to a higher level of abstraction. This covers writing code, curating context, and designing the environment in which agents operate. For analytics and data science practitioners, this pattern is familiar. It mirrors the evolution from hand-coding statistical models to configuring automated pipelines to designing governed analytical ecosystems. The abstraction level rises, but the need for rigor remains. Table 4 summarizes this recent history.</p>
<table width="624">
<tbody>
<tr>
<td width="180"><strong>Dimension</strong></td>
<td width="180"><strong>Prompt Engineering (2022)</strong></td>
<td width="180"><strong>Context Engineering (2024)</strong></td>
<td width="180"><strong>Harness Engineering (2026)</strong></td>
</tr>
<tr>
<td width="180"><strong>Core Question</strong></td>
<td width="180">What should I say?</td>
<td width="180">What information should I provide?</td>
<td width="180">What system should I build?</td>
</tr>
<tr>
<td width="180"><strong>Metaphor</strong></td>
<td width="180">Writing an email</td>
<td width="180">Managing an inbox</td>
<td width="180">Designing the email system</td>
</tr>
<tr>
<td width="180"><strong>Key Metric</strong></td>
<td width="180">Response quality (subjective)</td>
<td width="180">Retrieval accuracy</td>
<td width="180">Task completion rate, cost per task</td>
</tr>
<tr>
<td width="180"><strong>Failure Mode</strong></td>
<td width="180">Blind prompting, non-determinism</td>
<td width="180">Context pollution, lost-in-the-middle</td>
<td width="180">Orchestration bugs, security incidents</td>
</tr>
<tr>
<td width="180"><strong>Where Rigor Lives</strong></td>
<td width="180">The prompt text itself</td>
<td width="180">Context window composition</td>
<td width="180">Entire system architecture</td>
</tr>
<tr>
<td width="180"><strong>Representative Tools</strong></td>
<td width="180">ChatGPT, early Copilot</td>
<td width="180">Cursor Composer, RAG pipelines</td>
<td width="180">Claude Code, Copilot Coding Agent</td>
</tr>
<tr>
<td width="180"><strong>Required Skills</strong></td>
<td width="180">Language sense + domain knowledge</td>
<td width="180">Information architecture, retrieval design</td>
<td width="180">System design + security engineering</td>
</tr>
</tbody>
</table>
<p style="text-align: left"><em>Table 4: Three Eras of AI Engineering</em></p>
<h2>Coming Up Next</h2>
<p>Autonomy and plumbing determine what an agent can do. The next question is what it knows. Part 3 turns to retrieval: how to ground a model in your own enterprise data, and how standard RAG, knowledge graphs, and the newer PageIndex approach compare when you need answers that are accurate, traceable, and defensible.</p>
<h2>Additional Resources</h2>
<ul>
<li><a href="https://www.anthropic.com/research/building-effective-agents">Anthropic: Building Effective Agents</a></li>
<li><a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">Anthropic: Harness Design for Long-Running Application Development</a></li>
<li><a href="https://bits-bytes-nn.github.io/insights/agentic-ai/2026/04/05/evolution-of-ai-agentic-patterns-en.html">From Prompts to Harnesses: Four Years of AI Agentic Patterns</a></li>
<li><a href="https://martinfowler.com/articles/harness-engineering.html">Martin Fowler / Birgitta Böckeler: Harness Engineering</a></li>
<li><a href="https://www.deeplearning.ai/the-batch/how-agents-can-improve-llm-performance/">Andrew Ng: Agentic AI Design Patterns</a></li>
<li><a href="https://modelcontextprotocol.io/">Model Context Protocol (MCP)</a></li>
</ul>
<h3>Blog Series:</h3>
<ul>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/09/22/the-model-zoo/">Part 1: The Model Zoo: LLMs, SLMs, and VLMs, Oh My!</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">Part 2: From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/19/modern-retrieval-approaches-rag-knowledge-graphs-and-pageindex/">Part 3: Modern Retrieval Approaches: RAG, Knowledge Graphs, and PageIndex</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/10/28/emerging-economics-token-pricing-and-the-case-for-local-inference/">Part 4: Emerging Economics: Token Pricing and the Case for Local Inference</a></li>
<li><a href="https://blogs.sas.com/content/subconsciousmusings/2026/11/06/sas-in-the-agentic-ai-space/">Part 5: SAS in the Agentic AI Space</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/">From Chatbots to Agents: The Autonomy Spectrum and the Plumbing Beneath It</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/10/05/from-chatbots-to-agents/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/Designer-98-150x150.png" />
	</item>
		<item>
		<title>AI ethics and SAS Models: Designing models with trust, transparency, and accountability</title>
		<link>https://blogs.sas.com/content/subconsciousmusings/2026/09/28/ai-ethics-and-sas-models/</link>
					<comments>https://blogs.sas.com/content/subconsciousmusings/2026/09/28/ai-ethics-and-sas-models/#respond</comments>
		
		<dc:creator><![CDATA[Ruth Baldasaro]]></dc:creator>
		<pubDate>Mon, 28 Sep 2026 15:02:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AI ethics]]></category>
		<category><![CDATA[Applied AI Modeling]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[data scientist]]></category>
		<category><![CDATA[ethical AI]]></category>
		<category><![CDATA[SAS Model]]></category>
		<category><![CDATA[SAS Models]]></category>
		<category><![CDATA[SAS Viya]]></category>
		<guid isPermaLink="false">https://blogs.sas.com/content/subconsciousmusings/?p=22419</guid>

					<description><![CDATA[<p>Authors: Jennifer Hargrove and Ruth Baldasaro As technology continues to evolve rapidly, ethically centered model design is becoming increasingly important. In this post, we provide a brief overview of SAS Models and describe how all SAS models are built using SAS’ core principles for responsible innovation. SAS Models are built [...]</p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/09/28/ai-ethics-and-sas-models/">AI ethics and SAS Models: Designing models with trust, transparency, and accountability</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Authors: <a href="https://blogs.sas.com/content/author/jenniferhargrove/">Jennifer Hargrove</a> and Ruth Baldasaro</strong></p>
<p>As technology continues to evolve rapidly, ethically centered model design is becoming increasingly important. In this post, we provide a brief overview of <a href="https://www.sas.com/en_us/solutions/ai/models.html">SAS Models</a> and describe how all SAS models are built using SAS’ core principles for responsible innovation.</p>
<aside class="modern-quote pull alignright">SAS Models are built with humans in mind, focusing on models that improve well-being.</aside>
<p>The <a href="https://www.sas.com/en_us/solutions/ai/models.html">SAS Applied AI and Modeling</a> division is focused on designing and building trustworthy, industry-focused models. Drawing on decades of SAS expertise, these models help organizations solve complex business challenges with proven approaches. Examples of business problems addressed include:</p>
<ul>
<li>Credit Card Fraud</li>
<li>Payment Integrity for Food Assistance</li>
<li>Entity Resolution</li>
<li>Medication Adherence</li>
<li>Supply Chain Optimization</li>
<li>Industry Safety</li>
<li>Document Analysis</li>
</ul>
<h2>Challenges around building ethical AI models</h2>
<p>Currently, no single global standard exists for designing ethical AI models. When organizations fail to clearly document assumptions and risks, AI models often become opaque, difficult to explain, and hard for users to trust. Given these challenges, the SAS Model development group collaborates with industry experts, consults the SAS Ethics Committee, and applies the <a href="https://www.sas.com/en_us/company-information/innovation/responsible-innovation.html">SAS core principles for responsible innovation</a> when developing our models.</p>
<h2>SAS core principles for responsible innovation</h2>
<p>The SAS core principles for responsible innovation include human-centricity, inclusivity, accountability, privacy and security, robustness, and transparency. SAS incorporates these principles into the selection, design, and function of all SAS Models. Over the next few sections, we will highlight each core principle and provide examples of how our models take into account each of these principles during design and implementation.</p>
<h3>Human centricity: Promote human well-being, human agency and equity</h3>
<p>SAS puts people first by developing models that improve well-being. For example, we have built models to support worker safety in the manufacturing industry, medication adherence risk in the health care industry, and payment integrity in the public sector. Each of these models focuses on using data to improve the human condition or help ensure services reach the right people.</p>
<p>Additionally, SAS designs its models with end users in mind. Model pipelines allow end users to control and review the data used to train and develop models. This helps ensure the model reflects their specific population, use case, and business use case.</p>
<p>Lastly, SAS Models are also designed to help eliminate bias and promote equity. For instance, the medication adherence risk model incorporates SAS procedures that assess the model for bias across sensitive variables such as race and gender. By incorporating bias assessments into model design, we enable end users to examine and control for equity during model deployment.</p>
<h3>Inclusivity: Ensure accessibility and include diverse perspectives and experiences</h3>
<p>Inclusivity is a feature of our model development, both in the selection of models to build and in the models themselves. We include diverse stakeholder feedback throughout model development to capture diverse perspectives. By including diverse stakeholder feedback, we help ensure our models reflect real-world complexities and help prevent bias. Before beginning work on a new model, our development group collaborates with several divisions across SAS and external stakeholders to review model design. Throughout model development, we set up regular touchpoints with stakeholders to review model design and output. Additionally, SAS ensures accessible model design by internationalizing our models for use in many languages. Lastly, to ensure all reports are accessible to everyone, <a href="https://support.sas.com/en/software/visual-analytics-support.html">SAS Visual Analytics</a> reports are designed using accessible color palettes.</p>
<h3>Accountability: Proactively identify and mitigate adverse impacts</h3>
<p>To help ensure accountability in all our models, we proactively identify and mitigate risks and potential biases throughout the model lifespan. Examples of ways we mitigate bias include: thoughtful data procurement, extensive model testing, and documenting appropriate model applications. All SAS Models come with extensive documentation highlighting known risks. The documentation includes clear intended-use statements to help prevent inadvertent use of the model for purposes that deviate from the original design. To help mitigate and control bias, model designers carefully select data that accurately represents trends and associations found in the target population. Furthermore, SAS Models include procedures to check for missing variables and outliers that may skew model results.</p>
<h3>Privacy and security: Protect the use and application of an individual's data</h3>
<p>From model development to model deployment, we focus on preserving privacy and providing model security. SAS ensures privacy when developing models by using de-identified, synthetic data, or digital twin data to develop models. To prevent external access, SAS compiles the code for all SAS Models. Licensing checks also ensure only authorized users can access them.</p>
<p>Beyond development, our SAS Viya models leverage the privacy and security features built into <a href="https://support.sas.com/en/software/sas-viya-platform.html">SAS Viya</a>. This includes features like automatic detection of sensitive data and data lineage tracking. SAS has prioritized the security and compliance of SAS products, with certifications from many regulatory and compliance organizations, including FEDRAMP and NIST. Learn more about <a href="https://www.sas.com/en_us/trust-center/sas-trust-compliance/compliance-frameworks.html">SAS certifications</a>.</p>
<h3>Robustness: Operate reliably and safely, while managing potential risks throughout a life cycle</h3>
<p>The SAS Modeling group uses several approaches to ensure models perform consistently and accurately across environments. First, SAS Model pipelines use champion model analysis to identify the best-fitting model based on the end user’s data. Champion model analysis deploys several model types to identify which performs best on the end user’s data. Second, our models include model-fit statistics that give end users tools to monitor model and concept drift. Third, we run all models through extensive above-the-line and below-the-line testing before deployment. Lastly, all our models leverage our own CI/CD pipeline to update and version models with the latest security and dependency updates available from SAS.</p>
<h3>Transparency: Openly communicate intended use, risks, and how decisions are made</h3>
<p>Transparency ensures that all end users clearly understand the model and how it arrived at its results. To support transparency, all SAS Model documentation includes detailed information about the model. SAS includes model assumptions, data requirements, potential risks, modeling decisions, and intended use statements in all model documentation. Furthermore, all our models are designed to clearly show how decisions are made and empower users with the ability to monitor the model for concept or model drift. For example, to help monitor concept drift, model pipelines include output tables such as variable importance and Shapley values to support interpretation.</p>
<h2>Responsible AI is a team practice</h2>
<p>Incorporating AI ethics into our modeling process helps us build better, safer, and more trustworthy models. For SAS Model developers, responsible design means asking hard questions early, documenting decisions clearly, involving the right stakeholders, and collaborating with customers to review model performance over time.</p>
<p><a class="sc-button sc-button-default" href="https://blogs.sas.com/content/tag/trustworthy-ai/"><span class="btnheader">READ MORE | </span> Trustworthy AI at SAS</a></p>
<p><a class="sc-button sc-button-default" href="https://learn.sas.com/course/view.php?id=6443"><span class="btnheader">LEARN MORE | </span> SAS Responsible Innovation and Trustworthy AI Online Course</a></p>
<p>The post <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings/2026/09/28/ai-ethics-and-sas-models/">AI ethics and SAS Models: Designing models with trust, transparency, and accountability</a> appeared first on <a rel="nofollow" href="https://blogs.sas.com/content/subconsciousmusings">The SAS Data Science Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.sas.com/content/subconsciousmusings/2026/09/28/ai-ethics-and-sas-models/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://blogs.sas.com/content/subconsciousmusings/files/2026/09/AI_Ethics_Trust_Transparency_Accountability_1MB-150x150.jpg" />
	</item>
	</channel>
</rss>
