<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel><title>S0NR0Y Blog</title><link>https://sonroy.ai/blog</link><atom:link href="https://sonroy.ai/feed.xml" rel="self" type="application/rss+xml"/><description>Short writing on decisions. Decision, retail and fashion, infrastructure, product notes, from the field.</description><language>en</language>
  <item><title>No decision from zero: why company memory is AI&#x27;s real job</title><link>https://sonroy.ai/blog/sifirdan-karar-yok</link><guid isPermaLink="true">https://sonroy.ai/blog/sifirdan-karar-yok</guid><pubDate>Mon, 28 Sep 2026 09:00:00 +0300</pubDate><category>Decision</category><description>Data collection is solved; deciding is not. Why companies still decide with what one person remembers, where the cost of memoryless decisions gets booked, and how one living memory changes it.</description><content:encoded><![CDATA[<p>Data is no longer missing in a company. ERP, e-commerce, call centre, logistics, marketplace: each source produces its own screen, its own report, its own export. The collecting is done. What is missing is something else: a shared memory across those sources, and a decision built on it.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g opacity=".9"><rect x="70" y="90" width="54" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="136" y="90" width="54" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="202" y="90" width="54" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="70" y="142" width="54" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="136" y="142" width="54" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="202" y="142" width="54" height="40" rx="8" fill="#121A2B" stroke="#26314D"/></g>
<g stroke="#26314D" stroke-dasharray="3 4"><path d="M124 130 L190 130 M124 182 L190 182 M97 130 L97 182"/></g>
<path d="M290 160 h60" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/><path d="M342 154 L352 160 L342 166" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/>
<circle cx="480" cy="160" r="70" fill="#121A2B" stroke="#1A2338"/>
<g stroke="#26314D" stroke-width="1.4"><line x1="480" y1="160" x2="536.0" y2="160.0"/><line x1="480" y1="160" x2="508.0095801774359" y2="208.49189023211807"/><line x1="480" y1="160" x2="452.01916363272187" y2="208.50848169328333"/><line x1="480" y1="160" x2="424.00000983467146" y2="160.03318859908558"/><line x1="480" y1="160" x2="451.96168585044273" y2="111.52471826125468"/><line x1="480" y1="160" x2="507.9520827291799" y2="111.47494388358646"/></g>
<g fill="#121A2B" stroke="#A7B1C2" stroke-width="1.5"><circle cx="536.0" cy="160.0" r="6"/><circle cx="508.0095801774359" cy="208.49189023211807" r="6"/><circle cx="452.01916363272187" cy="208.50848169328333" r="6"/><circle cx="424.00000983467146" cy="160.03318859908558" r="6"/><circle cx="451.96168585044273" cy="111.52471826125468" r="6"/><circle cx="507.9520827291799" cy="111.47494388358646" r="6"/></g>
<circle cx="480" cy="160" r="16" fill="none" stroke="#E7ECF3" stroke-width="6"/><g transform="rotate(-42 480 160)"><rect x="498" y="157" width="18" height="6" fill="url(#mg2)"/><rect x="444" y="157" width="18" height="6" fill="url(#mg2)"/></g>
</svg><figcaption>Separate tools, zero shared memory (left) — decision areas reading one living memory (right).</figcaption></figure>
<h2>AI bought in pieces</h2>
<p>Over the last three years companies bought AI unit by unit. A content tool for marketing, a chatbot for customer service, a forecasting model for planning, a recommendation engine for e-commerce. Each tool does its job well. None knows what the others have learned. Last season's returns sit in one system, the competitor's price today in another tab, the customer's complaint in a third box.</p>
<p>The name for this is tool inflation. The number of tools grows; shared memory stays at zero. Information exists at the moment of decision, but it is not gathered anywhere. A person gathers it; the decision is as good as what that person remembers that morning.</p>
<h2>Where the cost of memoryless decisions is booked</h2>
<p>This cost never appears as one line item, which is why it is not in the budget. It appears in the same problem being solved again every season. In the category ranking rebuilt from scratch each time. In the supplier choice that can only be made at season end instead of season start. In the complaint the call centre hears that never reaches the product team. In the campaign budget that cannot be steered during the month, only reported after it.</p>
<p>Without memory there is no learning. A rule one unit discovers stays in that unit's file. If the person leaves, the rule leaves. The company pays for the same lesson every season.</p>
<h2>What one living memory means</h2>
<p><a href="https://sonroy.ai/snr-core">SNR Core</a> is the infrastructure for this problem: it keeps the company's knowledge in one model, flags stale information and connects sources to the core rather than to a product. Living means this: the memory is not an archive but a current model read at the moment of decision. Last season's returns sit in today's order decision; the competitor's price sits in today's ranking.</p>
<p>Decision areas run on top of the memory. <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> runs the catalog, <a href="https://sonroy.ai/s0-supply">S0 Supply</a> production, <a href="https://sonroy.ai/s0-customer">S0 Customer</a> the voice of the customer. They are separate products; they read the same memory. The return matrix S0 Ecom reads becomes S0 Supply's order proposal. No integration is written for this, because both live on the same core.</p>
<h2>The decision is still yours</h2>
<p>S0NR0Y does not decide for you. It works in <a href="https://sonroy.ai/#nasil">four steps</a>: senses, thinks, helps you decide, learns. The third step is a recommendation, not a report; it carries action, priority and rationale. You approve; the relevant system is triggered. In the fourth step the outcome is written back; the next recommendation knows it.</p>
<p>What changes is not who owns the decision but how much knowledge it is made with. Not what one person remembers, but what the company knows.</p>
<h2>The symbol says this</h2>
<p>The zero in the brand name is a digit, not a letter. The zero is the mark of a decision without memory; the slash cancels it. Light is brightest at the tips and deepens toward the centre: the signal that separates from noise comes from the edge. The core stays empty, because that is where the decision is made, and that is yours. We set out the rules in the <a href="https://sonroy.ai/blog/isim-sistemi">naming system</a> post.</p>
<h2>Where to start</h2>
<p>With one decision area. Most retail companies start with <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> because the catalog ranking is the most visible and most repeated decision. Once the core is in place, the second area uses the same data. In a <a href="https://sonroy.ai/blog/demo-nasil-gecer">forty-minute demo</a> you can watch this flow on your own data.</p><h2>Short answers</h2><div class="qa"><div><b>What is the difference between a company memory and a data warehouse?</b><p>A warehouse stores; a memory is read at the moment of decision. Data exists in the warehouse, but the person deciding has to query, join and interpret it. In a living memory the sources already sit in one model, stale information is flagged, and every S0 product reads that model directly while building its recommendation. The difference is between storing and using.</p></div><div><b>How do you recognise a memoryless decision?</b><p>By the same problem being solved again every season. If the category ranking is rebuilt from scratch, if the supplier choice does not know last season's returns, if the complaint the call centre hears never reaches the product team, the decision is memoryless. The symptom: when the person leaves, the rule leaves with them.</p></div><div><b>Does S0NR0Y make the decision for me?</b><p>No. It prepares a recommendation, shows the rationale, triggers the relevant system on your approval and writes the outcome back. The owner of the decision does not change; the amount of knowledge behind it does. That is why the core stays empty: the decision is made there, and that is yours.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>Data collection is done; the problem is the absence of a shared memory across sources.</span></li><li><span>AI bought in pieces creates tool inflation: many tools, zero shared memory.</span></li><li><span>SNR Core keeps the company's knowledge in one living model; decision areas read that model.</span></li><li><span>The decision stays yours; what changes is how much knowledge it is made with.</span></li></ul>]]></content:encoded></item>
  <item><title>Pimland and S0NR0Y: how PIM, PLM and SRM data becomes a decision</title><link>https://sonroy.ai/blog/pimland-ve-sonroy</link><guid isPermaLink="true">https://sonroy.ai/blog/pimland-ve-sonroy</guid><pubDate>Fri, 18 Sep 2026 09:00:00 +0300</pubDate><category>Infrastructure</category><description>Pimland gives birth to the product: information, lifecycle, supplier. S0NR0Y reads the same data and turns it into decisions. Where the full integration of the two platforms opens up efficiency in retail operations, module by module.</description><content:encoded><![CDATA[<p><a href="https://pimland.com" target="_blank" rel="noopener">Pimland</a> is the product platform of the İnksen ecosystem: product information management (PIM), product lifecycle management (PLM) and supplier relationship management (SRM) in one place, with a digital product passport (DPP) and an AI layer on top. In fashion retail the product is born in Pimland: sketch, collection, attributes, supplier, lead time, quality. S0NR0Y is the decision platform of the same ecosystem. The relationship between the two is not an integration but a division of labour: Pimland holds the product, S0NR0Y helps you decide about it.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<image href="https://sonroy.ai/assets/img/pimland-symbol.png" x="76" y="106" width="108" height="108"/>
<g fill="#6F7A8E" font-family="JetBrains Mono, monospace" font-size="11" letter-spacing="1.5"><text x="130" y="238" text-anchor="middle">PIM · PLM · SRM · DPP</text></g>
<path d="M196 160 h60" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/><path d="M248 154 L258 160 L248 166" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/>
<circle cx="320" cy="160" r="40" fill="#121A2B" stroke="#1A2338"/><circle cx="320" cy="160" r="17" fill="none" stroke="#E7ECF3" stroke-width="6.5"/><g transform="rotate(-42 320 160)"><rect x="339" y="157" width="20" height="6.5" fill="url(#mg2)"/><rect x="281" y="157" width="20" height="6.5" fill="url(#mg2)"/></g>
<text x="320" y="238" font-family="JetBrains Mono, monospace" font-size="11" fill="#6F7A8E" text-anchor="middle" letter-spacing="1.5">SNR Core</text>
<path d="M370 160 h40" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/><path d="M402 154 L412 160 L402 166" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/>
<g filter="url(#ms)"><rect x="430" y="96" width="140" height="36" rx="8" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/><rect x="430" y="142" width="140" height="36" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="430" y="188" width="140" height="36" rx="8" fill="#121A2B" stroke="#26314D"/></g>
<g font-family="JetBrains Mono, monospace" font-size="12" fill="#A7B1C2"><text x="446" y="119">S<tspan fill="#08E6F9">0</tspan> Ecom</text><text x="446" y="165">S<tspan fill="#08E6F9">0</tspan> Forecast</text><text x="446" y="211">S<tspan fill="#08E6F9">0</tspan> Supply</text></g>
</svg><figcaption>Pimland holds the product; SNR Core reads it; S0 modules turn it into decisions.</figcaption></figure>
<h2>Why two platforms</h2>
<p>PIM and PLM systems are built to keep records: the right attribute, the right version, the right supplier record. A good PIM raises data quality; it does not produce decisions. A decision needs sales, stock, returns, competitor and customer data in the same place. Those are not the PIM's business; they are <a href="https://sonroy.ai/snr-core">SNR Core</a>'s. Pimland keeps the data clean and singular; SNR Core joins it with sales and returns and scores it. One is the source, the other the reasoning.</p>
<h2>PIM → S0 Ecom</h2>
<p>Attribute, visual and measurement data in Pimland flows directly into <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>'s Product Enrichment module. The data quality score shows the gaps in Pimland; S0 Ecom fills the missing story and SEO fields and writes the result back to Pimland. Catalog ranking rests on attributes; the attributes come from Pimland. The helpdesk agent's answer to "will this fabric shrink" is the fabric composition record in Pimland. The data quality foundation we described in the <a href="https://sonroy.ai/blog/katalog-siralamasi">ranking post</a> comes ready in a company running Pimland.</p>
<h2>PLM → S0 Forecast and Visual Studio</h2>
<p>The collection plan, sketches and season calendar live in Pimland PLM. <a href="https://sonroy.ai/s0-forecast">S0 Forecast</a> reads the collection plan and builds the demand forecast by product group: which group should grow, which should shrink. The forecast for a new product with no history comes from attribute similarity in the PLM. Visual Studio takes the sketch from Pimland and turns it into product and model; at season opening nobody waits for the shoot. While the product is not yet produced in PLM, S0NR0Y has already prepared the first decision about it.</p>
<h2>SRM → S0 Supply</h2>
<p>Supplier records, lead times, quality documents and prices are in Pimland SRM. <a href="https://sonroy.ai/s0-supply">S0 Supply</a> joins that record with delivery and return performance and builds the supplier score. The order proposal goes to the supplier in the SRM; the pattern correction note travels the same channel. The <a href="https://sonroy.ai/blog/iade-uretim-karari">returns → production loop</a> closes in a company running Pimland: the return is read in S0 Ecom, S0 Supply turns it into a decision, the order reaches the supplier in the SRM, the quality record is written back to Pimland.</p>
<h2>DPP → compliance</h2>
<p>The digital product passport is produced in Pimland. S0 Supply's Compliance module reads sustainability and compliance records from there; a compliance dimension is added to the supplier score. For a brand selling into the European market this is not a separate project but existing data entering the decision.</p>
<h2>Where the efficiency opens up</h2>
<p>In three places. First, data is not entered twice: the attribute in Pimland is not rewritten for S0 Ecom, the supplier in the SRM is not redefined for S0 Supply. Second, the loop closes: the product is born in Pimland, becomes a decision in S0NR0Y, and the outcome is written back to Pimland. Third, the team works in one language: the same product code, the same attribute name, the same supplier identity are identical on both platforms. The category team enriches the product in Pimland and approves the ranking in S0 Ecom; the planning team builds the collection in PLM and reads the forecast in S0 Forecast.</p>
<h2>It also works on its own</h2>
<p>S0NR0Y does not depend on Pimland. The connector layer also works with Nebim, SAP, Incorta, OMS and marketplaces. Pimland's advantage is readiness: two platforms designed in the same ecosystem share a compatible data model from the start, connection time is shorter, and data quality starts high on day one. A company running Pimland starts S0NR0Y one step ahead; a company without it reaches the same place through the connector layer.</p>
<h2>Where to start</h2>
<p>If you run Pimland, with <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>: attributes are ready, the data quality score is meaningful from day one. If you do not, still with S0 Ecom; the connector layer links your PIM. In both cases the <a href="https://sonroy.ai/blog/demo-nasil-gecer">forty-minute demo</a> follows the same flow. More on Pimland: <a href="https://pimland.com" target="_blank" rel="noopener">pimland.com</a>.</p><h2>Short answers</h2><div class="qa"><div><b>What is the difference between Pimland and S0NR0Y?</b><p>Pimland holds the product: information, lifecycle, supplier. S0NR0Y helps you decide about the product: ranking, orders, budget, forecast. One is the source, the other the reasoning. Designed in the same ecosystem, their data models are compatible from the start.</p></div><div><b>Is Pimland required for S0NR0Y?</b><p>No. The connector layer also works with Nebim, SAP, Incorta, OMS and marketplaces. Pimland's advantage is readiness: connection time is shorter and data quality starts high on day one.</p></div><div><b>Is data written back to Pimland?</b><p>Yes. The story and SEO fields S0 Ecom produces, and the quality record and pattern note from S0 Supply, return to Pimland. The loop closes; the same product code and attribute names apply on both platforms.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>Pimland gives birth to the product (PIM · PLM · SRM · DPP); S0NR0Y turns the same data into decisions.</span></li><li><span>PIM → S0 Ecom, PLM → S0 Forecast and Visual Studio, SRM → S0 Supply, DPP → compliance.</span></li><li><span>Efficiency opens in three places: no double entry, the loop closes, the team works in one language.</span></li><li><span>Pimland is not required but gives a head start; the connector layer links other systems too.</span></li></ul>]]></content:encoded></item>
  <item><title>Decisions, not dashboards: the distance between a report and a recommendation</title><link>https://sonroy.ai/blog/dashboard-degil-karar</link><guid isPermaLink="true">https://sonroy.ai/blog/dashboard-degil-karar</guid><pubDate>Mon, 14 Sep 2026 09:00:00 +0300</pubDate><category>Decision</category><description>You do not measure the screen people look at; you measure the return of the decision they make. The difference between a report and a recommendation, what the approval triggers, and how it changes the management meeting.</description><content:encoded><![CDATA[<p>Every company has a dashboard. Most have several. A dashboard does not answer the question; it shows information to whoever asks. The decision is still built by a person looking at a screen. As the number of dashboards grows, decision speed does not; the number of screens to look at does.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g filter="url(#ms)"><rect x="70" y="80" width="200" height="160" rx="14" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g>
<rect x="88" y="98" width="70" height="7" rx="3.5" fill="#26314D"/>
<g fill="#26314D"><rect x="90" y="180" width="18" height="40" rx="3"/><rect x="118" y="160" width="18" height="60" rx="3"/><rect x="146" y="196" width="18" height="24" rx="3"/><rect x="174" y="150" width="18" height="70" rx="3"/><rect x="202" y="170" width="18" height="50" rx="3"/><rect x="230" y="184" width="18" height="36" rx="3"/></g>
<path d="M300 160 h50" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/><path d="M342 154 L352 160 L342 166" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/>
<g filter="url(#ms)"><rect x="380" y="80" width="200" height="160" rx="14" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/></g>
<rect x="398" y="98" width="50" height="7" rx="3.5" fill="#26314D"/><rect x="398" y="118" width="150" height="9" rx="4.5" fill="#E7ECF3"/><rect x="398" y="134" width="110" height="9" rx="4.5" fill="#E7ECF3"/>
<rect x="398" y="158" width="164" height="3" rx="1.5" fill="url(#mg)"/>
<rect x="398" y="176" width="164" height="22" rx="6" fill="#0B0F19" stroke="#0A7BD0"/><rect x="408" y="184" width="100" height="6" rx="3" fill="#26314D"/>
<rect x="398" y="208" width="66" height="22" rx="11" fill="#E7ECF3"/><path d="M418 219 l5 5 l10 -10" stroke="#0B0F19" stroke-width="2.4" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
</svg><figcaption>A report shows a state; a recommendation carries action, rationale and approval.</figcaption></figure>
<h2>Report versus recommendation</h2>
<p>A report says: sell-through in women's knitwear dropped over two weeks. A recommendation says: switch the ranking to the newness and stock cover strategy, because new arrivals sit on page four and high-cover products are invisible; approve, and the ranking updates.</p>
<p>The first gives information. The second gives action, priority and rationale. The distance between them is the time the decision maker spent that morning: reading the report, finding the cause, building options, choosing one, entering it into the system. The recommendation closes that distance; it does not remove the decision.</p>
<h2>What the approval triggers</h2>
<p>The approve button on a recommendation screen is not a button; it is a contract. In <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> approval publishes the category ranking. In <a href="https://sonroy.ai/s0-supply">S0 Supply</a> approval sends the order to the supplier. In <a href="https://sonroy.ai/s0-marketing">S0 Marketing</a> approval reallocates the budget across channels. Every approval has a return, and that return is measured.</p>
<p>This is why S0NR0Y says "recommendation" instead of "report" and "answer" instead of "screen". The third of the <a href="https://sonroy.ai/#nasil">four steps</a> is helping you decide; not looking.</p>
<h2>Measuring the return</h2>
<p>A dashboard's success is measured by how many people look at it. A recommendation's success is measured by its outcome: was it approved, what happened, which way did the score move. <a href="https://sonroy.ai/snr-core">SNR Core</a> ties every recommendation to this loop. The outcome is written back; the next recommendation knows it. This is why the tagline is not a promise but a statement of method: ROI. Proven. A decision is made, its return is measured, the outcome is written back.</p>
<p><a href="https://sonroy.ai/s0-finance">S0 Finance</a> is the finance side of this loop. The financial return of catalog, campaign and order decisions is written back to the relevant decision area. What the CFO wants from every S0 product is measured there: what did this decision return.</p>
<h2>The management meeting changes</h2>
<p>The meeting no longer opens with "what do the numbers say". It opens with "which recommendations did we approve this week, which ones paid back, which did we reject and why". The conversation moves from screen to decision, from decision to outcome. No number, no claim; and behind every claim, a decision and a return.</p>
<p>This shift has a side effect: rejected recommendations teach as well. When a manager rejects a recommendation and takes their own path, the outcome is still written back. Over time it becomes visible where the person was right and where the recommendation was. The criteria update accordingly.</p>
<h2>Does the dashboard disappear entirely</h2>
<p>No. There will always be a screen for looking; <a href="https://sonroy.ai/s0-finance">S0 Finance</a>'s live budget is a screen too. The difference: the screen exists to track the return of a decision, not to produce one. The decision is made in the recommendation, not on the screen.</p>
<p>The <a href="https://sonroy.ai/blog/sifirdan-karar-yok">no decision from zero</a> post covers the memory side of this approach; the <a href="https://sonroy.ai/blog/demo-nasil-gecer">demo post</a> covers how to see the recommendation screen live.</p><h2>Short answers</h2><div class="qa"><div><b>What is the essential difference between a recommendation and a report?</b><p>A report describes a state; a recommendation says what to do, in what order and why, and triggers the system on approval. A report is read; a recommendation is approved or rejected. The distance between them is the time the decision maker spends from report to action; the recommendation closes that distance.</p></div><div><b>What happens if I reject the recommendation?</b><p>The outcome is still written back. The return of the path you chose is measured too, and the next recommendation knows it. Over time it becomes visible where the person was right and where the recommendation was; the criteria update accordingly. Rejecting teaches as well.</p></div><div><b>Does the dashboard disappear entirely?</b><p>No. There is always a screen for looking; the live budget is a screen too. The difference is in the screen's purpose: it exists to track the return of a decision, not to produce one. The decision is made in the recommendation, not on the screen.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>A dashboard shows information; a recommendation gives action, priority and rationale.</span></li><li><span>Approval is not a button but a contract that triggers the relevant system.</span></li><li><span>A recommendation's success is measured by its outcome, not by views; the outcome is written back.</span></li><li><span>The management meeting moves from 'what do the numbers say' to 'which recommendations paid back'.</span></li></ul>]]></content:encoded></item>
  <item><title>How return data becomes a production decision</title><link>https://sonroy.ai/blog/iade-uretim-karari</link><guid isPermaLink="true">https://sonroy.ai/blog/iade-uretim-karari</guid><pubDate>Mon, 31 Aug 2026 09:00:00 +0300</pubDate><category>Retail &amp; fashion</category><description>The size × colour return matrix is not a report; it is a production instruction. The level at which returns should be read in fashion retail, three different causes, three different owners, and the path from that level to action.</description><content:encoded><![CDATA[<p>In fashion retail the return rate is a number everyone knows. Most companies read it at channel and brand level: so much in e-commerce, so much in stores. At that level a return is a cost; an expense line to be managed. One level down, at size × colour, a return is information; a signal that corrects production, visuals and the size chart.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g><rect x="80" y="80" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="124" y="80" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="168" y="80" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="212" y="80" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="256" y="80" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="80" y="120" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="124" y="120" width="38" height="34" rx="6" fill="#0A7BD0" stroke="#26314D"/><rect x="168" y="120" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="212" y="120" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="256" y="120" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="80" y="160" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="124" y="160" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="168" y="160" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="212" y="160" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="256" y="160" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="80" y="200" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="124" y="200" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="168" y="200" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/><rect x="212" y="200" width="38" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="256" y="200" width="38" height="34" rx="6" fill="#1A2338" stroke="#26314D"/></g>
<rect x="124" y="120" width="38" height="34" rx="6" fill="none" stroke="#08E6F9" stroke-width="2.4"/>
<g fill="#6F7A8E" font-family="JetBrains Mono, monospace" font-size="10"><text x="60" y="102" text-anchor="end">36</text><text x="60" y="142" text-anchor="end">38</text><text x="60" y="182" text-anchor="end">40</text><text x="60" y="222" text-anchor="end">42</text></g>
<path d="M330 137 h40" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/><path d="M362 131 L372 137 L362 143" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/>
<g filter="url(#ms)"><rect x="400" y="80" width="180" height="150" rx="14" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g>
<rect x="418" y="98" width="90" height="7" rx="3.5" fill="#26314D"/>
<g><rect x="418" y="122" width="144" height="10" rx="5" fill="#0B0F19"/><rect x="418" y="122" width="60" height="10" rx="5" fill="#26314D"/><rect x="418" y="142" width="144" height="10" rx="5" fill="#0B0F19"/><rect x="418" y="142" width="110" height="10" rx="5" fill="url(#mg)"/><rect x="418" y="162" width="144" height="10" rx="5" fill="#0B0F19"/><rect x="418" y="162" width="80" height="10" rx="5" fill="#26314D"/></g>
<rect x="418" y="192" width="72" height="22" rx="11" fill="#E7ECF3"/><rect x="498" y="192" width="64" height="22" rx="11" fill="#1A2338"/>
</svg><figcaption>The hot cell in the size × colour return matrix changes the size split of the next order.</figcaption></figure>
<h2>What the matrix says</h2>
<p>The same product coming back twice as often in size 38 as in 42 is a pattern problem. The product is cut tight or loose in that size. One colour of the same product returning more than the others is a visual problem: the colour on screen is not the real colour, or that colour sat differently on the model. The same size returning across all products is a size-chart problem: the brand's sizing standard has drifted from customer expectation.</p>
<p>These three problems have three different owners: production, e-commerce, product management. A return rate read at channel level hides all three at once. Everyone sees the number; nobody sees their share of it.</p>
<h2>Why nobody goes down to this level</h2>
<p>The data exists. Return reason, size and colour sit on every order line. The reason nobody goes there is not missing data but scattered data. The return record is in the OMS, the product attribute in the PIM, the production quantity in the ERP, the customer's comment on the marketplace. Building the matrix means joining four systems by hand; nobody does that every season for every product.</p>
<p><a href="https://sonroy.ai/snr-core">SNR Core</a>'s living memory makes that join once and keeps it current. The matrix is not a report; it is the memory itself.</p>
<h2>How information attaches to action</h2>
<p><a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> reads the return matrix and classifies the cause: pattern, visual, size chart. The classification is confirmed by marketplace reviews and the call-centre record coming from <a href="https://sonroy.ai/s0-customer">S0 Customer</a>; a "runs tight" comment strengthens the pattern class.</p>
<p><a href="https://sonroy.ai/s0-supply">S0 Supply</a> turns the pattern class into a production decision. The size split changes in the next order: fewer 38, more 42. The pattern correction note goes to the supplier. The order proposal is triggered by approval; without approval, nothing is sent.</p>
<p>The visual class stays in S0 Ecom: the Visual Studio module reshoots that colour or regenerates it on the model. The size-chart class is written onto the product page as a fit note and updates <a href="https://sonroy.ai/s0-forecast">S0 Forecast</a>'s size curve.</p>
<p>Three units see the same data; each makes its own decision. One memory, three decision areas. No integration is written, because all of them live on the same core.</p>
<h2>The time dimension</h2>
<p>The value of this loop is its speed. If the return rate is read at season end, the correction waits for next year. If the matrix is live, the returns of the first two weeks correct the second order within the season. The same pattern error is not produced twice.</p>
<h2>In the field</h2>
<p>This loop runs in live retail operations across several brands. Return analysis reaches size × colour; the result flows back into the production decision. We do not share numbers, because numbers are shared under contract; we share the loop, because the loop is the product. What is live is listed in the <a href="https://sonroy.ai/#sahada">field section</a> and detailed in the <a href="https://sonroy.ai/blog/adl-s0-ecom-canli">field post</a>.</p>
<p>To see this matrix on your own return data, <a href="https://sonroy.ai/#demo">book a demo</a>; twenty of the forty minutes go to this loop.</p><h2>Short answers</h2><div class="qa"><div><b>Why should returns be read at size × colour level?</b><p>Because the causes separate at that level. At channel level a return is one rate that hides three different problems: pattern, visual, size chart. The size × colour matrix separates the three and sends each to its owner: production, e-commerce, product management.</p></div><div><b>Which systems need to be connected for this loop?</b><p>The OMS for the return record, the PIM for the product attribute, the ERP for production quantity, the marketplace for the customer's comment. SNR Core connects these to the core, not to a product; data connected once is visible in S0 Ecom, S0 Supply and S0 Customer at the same time. Four systems are not joined by hand.</p></div><div><b>Does the production decision go out automatically?</b><p>No. S0 Supply prepares the order proposal with the size split and the pattern note; when approved, it goes to the supplier. If not approved, nothing is sent. The decision belongs to the planning team; the computation to the core.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>At channel level a return is a cost; at size × colour it is information.</span></li><li><span>Three causes, three owners: pattern → production, visual → e-commerce, size chart → product.</span></li><li><span>S0 Ecom reads and classifies; S0 Supply turns it into a production decision; S0 Customer confirms.</span></li><li><span>The loop's value is its speed: the first two weeks' returns correct the second order within the season.</span></li></ul>]]></content:encoded></item>
  <item><title>Whose job is the category ranking: from strategy template to free-form command</title><link>https://sonroy.ai/blog/katalog-siralamasi</link><guid isPermaLink="true">https://sonroy.ai/blog/katalog-siralamasi</guid><pubDate>Mon, 17 Aug 2026 09:00:00 +0300</pubDate><category>Retail &amp; fashion</category><description>Deciding which product sits on the first page of an e-commerce category used to take a person days. How strategy templates and free-form commands reduced that work to one command, and where the category specialist&#x27;s job moved.</description><content:encoded><![CDATA[<p>On a category page the first three pages sell and the rest sit. Where each product sits is therefore a decision; and one renewed every week. In most companies that decision takes a category specialist's week: pull the sales report, put the stock list beside it, flag the new arrivals, check the campaign calendar, order by hand, publish. Next week, from the top.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g opacity=".55"><rect x="70" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="132" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="194" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="256" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="70" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="132" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="194" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="256" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/></g>
<rect x="70" y="60" width="140" height="22" rx="11" fill="#121A2B" stroke="#26314D"/><rect x="82" y="68" width="80" height="6" rx="3" fill="#26314D"/>
<path d="M330 160 h40" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/><path d="M362 154 L372 160 L362 166" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9"/>
<g><rect x="400" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/><rect x="462" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/><rect x="524" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="586" y="96" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="400" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="462" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="524" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="586" y="158" width="52" height="52" rx="8" fill="#121A2B" stroke="#26314D"/></g>
<rect x="400" y="60" width="170" height="22" rx="11" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/><rect x="412" y="68" width="60" height="6" rx="3" fill="#08E6F9"/><rect x="480" y="68" width="70" height="6" rx="3" fill="#26314D"/>
<g fill="#08E6F9"><rect x="414" y="132" width="24" height="5" rx="2.5"/><rect x="476" y="132" width="24" height="5" rx="2.5"/></g>
</svg><figcaption>A ranking built by hand (left) — a ranking built from a strategy template and a command (right).</figcaption></figure>
<h2>Ranking is a choice of strategy</h2>
<p>The same category wants newness at season opening: new arrivals forward, let the customer see the collection. Mid-season it wants sell-through: what moves forward, what does not moves back. At season end it wants clearance: high-cover products forward, markdowns visible. In campaign week it wants outfits: products bought together side by side.</p>
<p>Each is a different ranking logic. The person knows this but applies it by hand every time. The logic is in their head, not in the system. If the specialist leaves, the logic leaves.</p>
<h2>The strategy template</h2>
<p><a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>'s Catalog Planning module keeps these logics as strategy templates: sales performance, stock cover, newness, markdown, season, outfit, slow movers and more. Pick a template, the category is ranked. The template reads the living memory in <a href="https://sonroy.ai/snr-core">SNR Core</a>: sales, stock, returns, arrival date and campaign calendar sit in one model. No data is pulled by hand from four systems.</p>
<h2>The free-form command</h2>
<p>When a template is not enough, write a command: "bring new arrivals forward but pull back anything under ten units in stock". "Put campaign products on page one, rank the rest by sell-through". "Move products where we are priced above the competitor below page two". The command is natural language; S0 Ecom turns it into a ranking rule and shows the result with its rationale.</p>
<p>The last example rests on the <a href="https://sonroy.ai/s0-ecom">Market Intelligence</a> module: live in-season products of chosen competitors are pulled by category; the position in the price band reads green, amber, red. The ranking command uses that knowledge.</p>
<h2>Your criteria, S0NR0Y's reasoning</h2>
<p>The company sets the ranking criteria. S0NR0Y computes how well each product fits them and shows the rationale: why this product is third, why that one dropped to page two. The category specialist does not build the ranking; they approve it and choose the strategy. The job does not change; its level does. This is the third of the <a href="https://sonroy.ai/#nasil">four steps</a>: it helps you decide.</p>
<h2>Data quality is the ranking's foundation</h2>
<p>Ranking rests on attributes: size, colour, fabric, season, collection. If attributes are missing the ranking goes blind. This is why the Product Enrichment module marks every product with a 0–100 data quality score and enriches low-score products first. The ranking template does not push a low-score product forward; it raises the score first.</p>
<h2>A ranking that learns</h2>
<p>After the ranking goes live, its result is written back: clicks, baskets, sales, returns. Which strategy returned what in which category is known at the next season opening. Last year's specialist may have left; the decision memory stays with the company. This is the loop from <a href="https://sonroy.ai/blog/dashboard-degil-karar">decisions, not dashboards</a>, applied to the catalog.</p>
<h2>The category specialist's new job</h2>
<p>Not ranking, but building the strategy. Which template in which category, which command in which week, which competitor to track. The specialist moves from being the person who ranks one day a week to the person who builds the category's decision architecture. <a href="https://sonroy.ai/s0-hr">S0 HR</a>'s AI handover report measures this shift: which process was handed over, where the freed time went.</p>
<p>This flow is live in the field: the <a href="https://sonroy.ai/blog/adl-s0-ecom-canli">field post</a>. To see it in your own category, <a href="https://sonroy.ai/#demo">book a demo</a>.</p><h2>Short answers</h2><div class="qa"><div><b>When do you use a strategy template versus a free-form command?</b><p>Templates for recurring situations: season opening, mid-season, markdown, campaign. Free-form commands for a specific rule the template does not cover: 'bring new arrivals forward but pull back anything under ten units in stock'. The two work together; the command is layered on the template.</p></div><div><b>What happens to the ranking when attributes are missing?</b><p>It goes blind. This is why Product Enrichment marks every product with a 0–100 data quality score and enriches low-score products first. The ranking template does not push a low-score product forward; it waits for the score to rise. Data quality is the ranking's foundation.</p></div><div><b>Does the category specialist become redundant?</b><p>No; the job changes. Instead of building the ranking they build the strategy: which template in which category, which command in which week, which competitor to track. The person who ranked one day a week becomes the person who builds the category's decision architecture. S0 HR measures this shift with the AI handover report.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>Ranking is a choice of strategy; the logic changes with the season phase.</span></li><li><span>Templates cover recurring situations, free-form commands cover specific rules; they work together.</span></li><li><span>The company sets the criteria, S0NR0Y computes and explains; the specialist approves.</span></li><li><span>The published ranking's result is written back; the decision memory stays with the company.</span></li></ul>]]></content:encoded></item>
  <item><title>SNR Core: the core that separates signal from noise</title><link>https://sonroy.ai/blog/snr-core-nedir</link><guid isPermaLink="true">https://sonroy.ai/blog/snr-core-nedir</guid><pubDate>Mon, 03 Aug 2026 09:00:00 +0300</pubDate><category>Infrastructure</category><description>An S0 product is not a standalone app; it is a decision area running on a shared core. The six parts of that core, why it is never rewritten, and why existing systems stay where they are.</description><content:encoded><![CDATA[<p>SNR: signal-to-noise. Most of a company's data is noise: stale records, duplicate fields, definitions that do not talk to each other, the same product under three codes in three systems. Signal is the small part that changes a decision. <a href="https://sonroy.ai/snr-core">SNR Core</a> is the infrastructure that makes that separation; the reasoning and memory core that runs every S0NR0Y product.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<circle cx="320" cy="160" r="96" fill="#121A2B" stroke="#1A2338"/>
<g stroke="#26314D" stroke-width="1.4"><line x1="320" y1="160" x2="319.98044737244527" y2="64.00000199117316"/><line x1="320" y1="160" x2="403.11917330068593" y2="111.96664669408824"/><line x1="320" y1="160" x2="403.1671650864031" y2="207.9502101297896"/><line x1="320" y1="160" x2="320.0764473642304" y2="255.9999695614561"/><line x1="320" y1="160" x2="236.90930843423138" y2="208.08260574388945"/><line x1="320" y1="160" x2="236.8044316568412" y2="112.09908760724078"/></g>
<g filter="url(#ms)"><rect x="285.97596656196396" y="26.00000244748368" width="68" height="32" rx="8" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="388.1673171820931" y="84.95900322815012" width="68" height="32" rx="8" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="388.2263070853704" y="202.9387999511997" width="68" height="32" rx="8" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="286.0939665518665" y="261.9999625859565" width="68" height="32" rx="8" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="183.8676916170761" y="203.1015362268641" width="68" height="32" rx="8" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="183.73878057820065" y="85.12179518390012" width="68" height="32" rx="8" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g>
<g fill="#26314D"><rect x="299.97596656196396" y="39.00000244748368" width="40" height="6" rx="3"/><rect x="402.1673171820931" y="97.95900322815012" width="40" height="6" rx="3"/><rect x="402.2263070853704" y="215.9387999511997" width="40" height="6" rx="3"/><rect x="300.0939665518665" y="274.9999625859565" width="40" height="6" rx="3"/><rect x="197.8676916170761" y="216.1015362268641" width="40" height="6" rx="3"/><rect x="197.73878057820065" y="98.12179518390012" width="40" height="6" rx="3"/></g>
<circle cx="320" cy="160" r="28" fill="#0B0F19" stroke="#1A2338"/><circle cx="320" cy="160" r="17" fill="none" stroke="#E7ECF3" stroke-width="6.5"/><g transform="rotate(-42 320 160)"><rect x="339" y="157" width="20" height="6.5" fill="url(#mg2)"/><rect x="281" y="157" width="20" height="6.5" fill="url(#mg2)"/></g>
</svg><figcaption>Six parts, one core: memory, connectors, scoring, rule matrix, decision flow, learning.</figcaption></figure>
<h2>Six parts</h2>
<p><strong>Living memory.</strong> ERP, e-commerce, call-centre, logistics and marketplace data in one model. Stale information is flagged; decisions are made on current data. The memory is not a data warehouse: a warehouse stores, a memory is read. Every S0 product reads this model at the moment of decision.</p>
<p><strong>Connector layer.</strong> Nebim, SAP, Incorta, OMS, marketplaces, Google. Sources connect to the core, not to a product. Data connected once is visible in every S0 product. Sales data connected for <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> is not reconnected for <a href="https://sonroy.ai/s0-forecast">S0 Forecast</a>.</p>
<p><strong>Scoring engine.</strong> A product, process or decision is scored 0–100. The criteria are the company's; the computation is the core's. Data quality score, supplier score, store score and decision score come from the same engine; that is why they can be compared.</p>
<p><strong>Agent rule matrix.</strong> The same question, a different answer per brand. Brand- and unit-level instructions are written once; every agent reads the same row. Details in the <a href="https://sonroy.ai/blog/agent-kural-matrisi">rule matrix post</a>.</p>
<p><strong>Decision flow.</strong> Strategy templates and free-form commands. Recommendation, priority, rationale; approve, and the system is triggered. The flow is the same in every S0 product; what changes is the subject of the decision.</p>
<p><strong>Learning loop.</strong> The outcome is written back and the score updates. A rule one product learns works in the next. Example: a size × colour return read in e-commerce becomes a production decision in <a href="https://sonroy.ai/s0-supply">S0 Supply</a>.</p>
<h2>Why one core</h2>
<p>If the decision areas were separate apps, each would have its own memory and the original problem would return: many tools, zero shared memory. Because the core is one, the return S0 Ecom reads flows into S0 Supply's production decision, S0 Forecast's forecast into <a href="https://sonroy.ai/s0-finance">S0 Finance</a>'s budget, <a href="https://sonroy.ai/s0-customer">S0 Customer</a>'s customer signal into S0 Ecom's product page. These are not integrations; they are different readings of the same memory.</p>
<p>The number of products grows; the core is not rewritten. Adding a new decision area is not building a new data model; it is adding a new reading to the existing one.</p>
<h2>On top, not instead</h2>
<p>SNR Core does not replace existing systems. The ERP stays as it is; accounting, stock and orders are processed there. The OMS stays as it is; the order flow runs there. The call-centre software stays as it is. The core sits on top of these systems, reads the data and writes the decision back: the ranking to e-commerce, the order to the supplier, the budget split to the ad platform.</p>
<p>This design has two consequences. First, there is no migration project; nothing is torn out. Second, data and memory stay with the company; the core reads the company's data on the company's behalf.</p>
<h2>Building your own decision area</h2>
<p>The ready S0 products are decision areas on top of the core. You can build your own on the same core: a sector outside retail, a company-specific process, a decision not yet productised. The core is sector-agnostic; domain knowledge plugs in on top. This is why the <a href="https://sonroy.ai/#faq">questions</a> say "knows the work, not the sector".</p>
<h2>The name SNR</h2>
<p>SNR is also what remains of S0NR0Y when the zeros are removed. Products carry the zero; the core does not. The core stays empty; the decision is made there. The <a href="https://sonroy.ai/blog/isim-sistemi">naming system</a> post opens up this rule; the <a href="https://sonroy.ai/blog/demo-nasil-gecer">demo post</a> covers how to see the core live.</p><h2>Short answers</h2><div class="qa"><div><b>Is SNR Core a data warehouse?</b><p>No. A warehouse stores; SNR Core is read at the moment of decision. The living memory is one model, stale information is flagged, and every S0 product reads that model directly while building its recommendation. A warehouse is storage; the core is a reasoning layer.</p></div><div><b>Do I need to replace my existing ERP or OMS?</b><p>No. SNR Core does not replace systems; it sits on top of them. Accounting stays in the ERP, the order flow in the OMS; the core reads the data and writes the decision back. There is no migration project; nothing is torn out. Data and memory stay with the company.</p></div><div><b>Can it be used outside retail?</b><p>Yes. The core is sector-agnostic; domain knowledge plugs in on top. The ready S0 products are decision areas built for retail and fashion; you can build your own area on the same core. Connectors, the scoring engine, the rule matrix and the learning loop work independently of sector.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>SNR Core has six parts: living memory, connectors, scoring engine, rule matrix, decision flow, learning loop.</span></li><li><span>Because the core is one, flows between decision areas are not integrations but different readings of the same memory.</span></li><li><span>Existing systems stay in place; the core sits on top and data stays with the company.</span></li><li><span>SNR is both signal-to-noise and S0NR0Y's skeleton without the zeros.</span></li></ul>]]></content:encoded></item>
  <item><title>Same question, different brand, different answer: the agent rule matrix</title><link>https://sonroy.ai/blog/agent-kural-matrisi</link><guid isPermaLink="true">https://sonroy.ai/blog/agent-kural-matrisi</guid><pubDate>Mon, 20 Jul 2026 09:00:00 +0300</pubDate><category>Infrastructure</category><description>In a group company the helpdesk agent cannot speak the same way for every brand. What the agent rule matrix solves, why it lives in the core rather than the product, and what happens when a rule changes.</description><content:encoded><![CDATA[<p>Three brands of a fashion group sell on the same marketplace. Customers ask all three the same question: will this fabric shrink. The answer cannot be the same. One brand speaks formally, another casually; one has a fourteen-day return window, another thirty; one covers shipping above a certain amount, another does not. Three brands of the same group are three different contracts.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g><rect x="90" y="90" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="142" y="90" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="194" y="90" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="246" y="90" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="90" y="130" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="142" y="130" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="194" y="130" width="46" height="34" rx="6" fill="#0A7BD0" stroke="#26314D"/><rect x="246" y="130" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="90" y="170" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="142" y="170" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="194" y="170" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/><rect x="246" y="170" width="46" height="34" rx="6" fill="#121A2B" stroke="#26314D"/></g>
<g fill="#6F7A8E" font-family="JetBrains Mono, monospace" font-size="10"><text x="80" y="112" text-anchor="end">A</text><text x="80" y="152" text-anchor="end">B</text><text x="80" y="192" text-anchor="end">C</text></g>
<g fill="#26314D"><rect x="104" y="76" width="18" height="5" rx="2.5"/><rect x="156" y="76" width="18" height="5" rx="2.5"/><rect x="208" y="76" width="18" height="5" rx="2.5"/><rect x="260" y="76" width="18" height="5" rx="2.5"/></g>
<path d="M310 147 C 340 147, 350 130, 380 122" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9" stroke-dasharray="4 5"/><path d="M310 147 h70" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9" stroke-dasharray="4 5"/><path d="M310 147 C 340 147, 350 174, 380 182" fill="none" stroke="#A7B1C2" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" stroke="#08E6F9" stroke-dasharray="4 5"/>
<g filter="url(#ms)"><path d="M392 100 h150 a10 10 0 0 1 10 10 v24 a10 10 0 0 1 -10 10 h-120 l-16 14 v-14 h-14 a10 10 0 0 1 -10 -10 v-24 a10 10 0 0 1 10 -10z" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><path d="M392 130 h150 a10 10 0 0 1 10 10 v24 a10 10 0 0 1 -10 10 h-120 l-16 14 v-14 h-14 a10 10 0 0 1 -10 -10 v-24 a10 10 0 0 1 10 -10z" fill="#121A2B" stroke="url(#mg)" stroke-width="2" transform="translate(0,30)"/><path d="M392 220 h150 a10 10 0 0 1 10 10 v24 a10 10 0 0 1 -10 10 h-120 l-16 14 v-14 h-14 a10 10 0 0 1 -10 -10 v-24 a10 10 0 0 1 10 -10z" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g>
<g fill="#26314D"><rect x="408" y="116" width="90" height="6" rx="3"/><rect x="408" y="236" width="70" height="6" rx="3"/></g><rect x="408" y="176" width="100" height="6" rx="3" fill="#08E6F9"/>
</svg><figcaption>The rule matrix: rows are brands, columns are behaviours. One cell changes, every agent updates.</figcaption></figure>
<h2>The problem is not the rule but where it lives</h2>
<p>Most chatbots carry their rules inside themselves. One bot per brand, one rule set per bot, three separate edits for every change. Over time the rules drift apart: one brand's return window is updated, another's is forgotten. Nobody knows which bot speaks with which rule; the customer knows, because they get the wrong answer.</p>
<p>The same problem exists inside the company. The assistant the sales associate uses in store, the agent the call centre uses and the bot on the marketplace can give three different answers about the same product. The problem is not the quality of the AI; it is the rule living in three places.</p>
<h2>What the matrix does</h2>
<p><a href="https://sonroy.ai/snr-core">SNR Core</a> keeps the rule in the core: brand- and unit-level instructions in one matrix. Rows are brands and units; columns are behaviour areas: tone, return window, shipping policy, forbidden phrases, routing rules, which questions hand over to a person. Whichever brand the helpdesk agent speaks for, it reads that row.</p>
<p>Written once; every agent uses the same row. The marketplace agent in <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>, the "where is my parcel" agent in <a href="https://sonroy.ai/s0-logistics">S0 Logistics</a>, the sales associate assistant in <a href="https://sonroy.ai/s0-store">S0 Store</a>, the supplier correspondence agent in <a href="https://sonroy.ai/s0-supply">S0 Supply</a>. Four agents, one source of rules.</p>
<h2>What happens when a rule changes</h2>
<p>If one brand's return window changes, one cell changes in the matrix. Every agent updates at once; no bot is retrained, no prompt is rewritten. A rule change is a management task, not a software task; that is how it should be. The brand manager owns their row; group communications owns the forbidden-phrases column.</p>
<p>Changes are logged. Which rule changed when and by whom; which way the customer satisfaction signal moved afterwards. <a href="https://sonroy.ai/s0-customer">S0 Customer</a> reads that signal and feeds it back to the matrix. The rule learns too.</p>
<h2>The boundary: the matrix does not know the product</h2>
<p>The matrix knows behaviour; it does not know the product. The PIM and S0 Ecom's Product Enrichment module know the product: fabric composition, care instructions, size chart, stock status. The agent combines the two. The answer to "will this fabric shrink" comes from product knowledge: one hundred percent cotton, some shrinkage on first wash. The tone, length and the return information added come from the matrix.</p>
<p>This separation matters because product knowledge changes often and behaviour rules rarely. Keeping both in one place pollutes both.</p>
<h2>Handover to a person</h2>
<p>One column of the matrix is the handover rule: on which question, which word, which customer segment does the conversation pass to a person. If the complaint tone rises, if a legal phrase appears, if the customer is high-value. The handover rule is brand-level too; one brand hands over earlier, another later. The handed-over conversation lands in <a href="https://sonroy.ai/s0-customer">S0 Customer</a>'s Complaint Resolution module and is tracked to closure.</p>
<h2>In the field</h2>
<p>This matrix runs the marketplace agent across several brands in live retail operations; each brand speaks in its own tone. The <a href="https://sonroy.ai/blog/adl-s0-ecom-canli">field post</a> lists what is live; the <a href="https://sonroy.ai/blog/snr-core-nedir">SNR Core post</a> places the matrix inside the core. To see the matrix for your own brands: <a href="https://sonroy.ai/#demo">book a demo</a>.</p><h2>Short answers</h2><div class="qa"><div><b>Does the rule matrix also hold product knowledge?</b><p>No. The matrix knows behaviour: tone, return window, shipping policy, forbidden phrases, handover rule. The PIM and S0 Ecom know the product: fabric, care, measurements, stock. The agent combines the two. The separation matters because product knowledge changes often and behaviour rules rarely.</p></div><div><b>Who changes a rule?</b><p>Management, not the software team. The brand manager owns their row; group communications owns the forbidden-phrases column. When a cell changes, every agent updates at once; no bot is retrained. Changes are logged and measured against the customer signal.</p></div><div><b>When does the agent hand over to a person?</b><p>According to the matrix's handover column: if the complaint tone rises, if a legal phrase appears, if the customer is high-value. The handover rule is brand-level; one brand hands over earlier, another later. The handed-over conversation is tracked to closure in S0 Customer.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>The problem is not the quality of the AI but the rule living in three separate places.</span></li><li><span>The matrix keeps the rule in the core; four different agents read the same row.</span></li><li><span>A rule change is a management task; one cell, every agent.</span></li><li><span>The matrix knows behaviour, not the product; the agent combines the two.</span></li></ul>]]></content:encoded></item>
  <item><title>S0 Ecom: ten modules, one decision area</title><link>https://sonroy.ai/blog/s0-ecom-on-modul</link><guid isPermaLink="true">https://sonroy.ai/blog/s0-ecom-on-modul</guid><pubDate>Mon, 06 Jul 2026 09:00:00 +0300</pubDate><category>Product notes</category><description>What the ten modules of the e-commerce decision engine do, how they split into four sides, in what order they engage, and why all of them read the same memory.</description><content:encoded><![CDATA[<p><a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> is not an e-commerce tool; it is the decision area of e-commerce. It has ten modules; each answers a separate question, but all read the same memory. Splitting the modules into four sides helps: product, catalog, customer, measurement.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g fill="#6F7A8E" font-family="JetBrains Mono, monospace" font-size="10" letter-spacing="1.2"><text x="120" y="80">01</text><text x="290" y="80">02</text><text x="410" y="80">03</text><text x="530" y="80">04</text></g>
<g filter="url(#ms)"><rect x="90" y="92" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="90" y="142" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="90" y="192" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="260" y="92" width="110" height="40" rx="8" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/><rect x="260" y="142" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="260" y="192" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="380" y="92" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="380" y="142" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="500" y="92" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/><rect x="500" y="142" width="110" height="40" rx="8" fill="#121A2B" stroke="#26314D"/></g>
<g fill="#26314D"><rect x="104" y="109" width="60" height="6" rx="3"/><rect x="104" y="159" width="48" height="6" rx="3"/><rect x="104" y="209" width="70" height="6" rx="3"/><rect x="274" y="159" width="52" height="6" rx="3"/><rect x="274" y="209" width="64" height="6" rx="3"/><rect x="394" y="109" width="58" height="6" rx="3"/><rect x="394" y="159" width="44" height="6" rx="3"/><rect x="514" y="109" width="66" height="6" rx="3"/><rect x="514" y="159" width="50" height="6" rx="3"/></g>
<rect x="274" y="109" width="60" height="6" rx="3" fill="#08E6F9"/>
<path d="M90 268 h520" stroke="url(#mg)" stroke-width="2"/><circle cx="350" cy="268" r="6" fill="#0B0F19" stroke="#08E6F9" stroke-width="2"/>
</svg><figcaption>Ten modules, four sides: product, catalog, customer, measurement — all on the same memory line.</figcaption></figure>
<h2>The product side</h2>
<p><strong>Product Enrichment</strong> turns every product into a single story from attributes, visuals and brand voice, including SEO and content. It scores data quality 0–100 and enriches low-score products first. This module is the foundation of the others: with missing attributes the ranking goes blind, the agent answers wrongly, the size recommendation misses.</p>
<p><strong>Visual Studio</strong> produces visuals from sketch to product, product to model, one pose to many. Fabric, texture and accessories are added. Shoot cost and time no longer delay the decision.</p>
<p><strong>Size Advisor</strong> recommends a personal size from product measurements and customer data. The biggest cause of returns is solved before the sale; what is not solved lands in the <a href="https://sonroy.ai/blog/iade-uretim-karari">return matrix</a>.</p>
<h2>The catalog side</h2>
<p><strong>Catalog Planning</strong> builds the category ranking with ready strategies and free-form commands. The ranking a category team spends days on, in one command; details in the <a href="https://sonroy.ai/blog/katalog-siralamasi">ranking post</a>.</p>
<p><strong>Market Intelligence</strong> pulls chosen competitors' live in-season products by category and reads your position in the price band as green, amber, red. The number of competitors can grow. This knowledge is used in ranking commands and in <a href="https://sonroy.ai/s0-marketing">S0 Marketing</a>'s promotion timing.</p>
<p><strong>Synthetic Search</strong> searches by scenario, such as "a countryside wedding in August". The collection is indexed from attributes and visuals; the customer searches for a situation, not a product name.</p>
<h2>The customer side</h2>
<p><strong>Helpdesk Agent</strong> answers product, shipping and stock questions live on the marketplace. It takes product knowledge from Product Enrichment, shipment status from <a href="https://sonroy.ai/s0-logistics">S0 Logistics</a> and conversation rules from the <a href="https://sonroy.ai/blog/agent-kural-matrisi">rule matrix</a> in <a href="https://sonroy.ai/snr-core">SNR Core</a>.</p>
<p><strong>AI Shopping</strong> is a shopping layer that learns from customer expectations. Search, recommendation and outfits come from the same memory.</p>
<h2>The measurement side</h2>
<p><strong>Sales & Returns</strong> takes sales and returns by channel, brand and season down to size × colour. The return reason is classified; the pattern class goes to <a href="https://sonroy.ai/s0-supply">S0 Supply</a>, the visual class to Visual Studio, the size-chart class to the product page.</p>
<p><strong>Behavior Analytics</strong> reads web and mobile behaviour and heatmaps. Which product is seen but not bought, which filter is unused, which page is abandoned.</p>
<h2>The order</h2>
<p>The rollout order usually runs like this: Product Enrichment first, because data quality is the foundation of everything. Then Catalog Planning, because it is the most visible and most repeated decision. Then Helpdesk Agent, because it touches the customer and establishes the rule matrix. The rest arrive on the data these three open up. This order is not a rule but a habit settled in the field; the <a href="https://sonroy.ai/blog/adl-s0-ecom-canli">field post</a> describes the actual sequence.</p>
<h2>Why one area</h2>
<p>These ten modules could have been bought separately; in most companies they were. An enrichment tool, a search engine, a chatbot, an analytics suite. Each builds its own data model; none knows the others. In S0 Ecom they all see the same product, the same stock, the same customer. The ranking knows the returns; the agent knows the stock; the size recommendation knows the return reason. Ten modules, one decision area; and that area shares its core with the <a href="https://sonroy.ai/#urunler">other decision areas</a>.</p>
<p>To see it on your own catalog, <a href="https://sonroy.ai/#demo">book a demo</a>.</p><h2>Short answers</h2><div class="qa"><div><b>Can I buy the ten modules separately?</b><p>The modules are parts of one decision area; the rollout order is set by scope, but all read the same memory. Independent data models are not built as with separate tools. Product Enrichment usually comes first, because data quality is the foundation of the other modules.</p></div><div><b>Where does the helpdesk agent get its knowledge?</b><p>Product knowledge from Product Enrichment, shipment status from S0 Logistics, conversation rules from the rule matrix in SNR Core. Three sources, one answer. The agent is not a standalone bot but an interface that reads the core.</p></div><div><b>What is the difference between Sales & Returns and Behavior Analytics?</b><p>Sales & Returns takes sales and returns down to size × colour and classifies the cause; the result goes to production, visuals or the product page. Behavior Analytics reads web and mobile behaviour: products seen but not bought, unused filters, abandoned pages. One measures transactions, the other behaviour.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>S0 Ecom has four sides: product, catalog, customer, measurement; ten modules spread across them.</span></li><li><span>Product Enrichment is the foundation of the other modules; data quality is scored 0–100.</span></li><li><span>The agent, the ranking and the size recommendation see the same product, stock and customer.</span></li><li><span>The rollout order is a habit settled in the field: data quality, catalog, agent.</span></li></ul>]]></content:encoded></item>
  <item><title>Why S0 Ecom and not SO Ecom: a product family that never drifts from its parent name</title><link>https://sonroy.ai/blog/isim-sistemi</link><guid isPermaLink="true">https://sonroy.ai/blog/isim-sistemi</guid><pubDate>Mon, 22 Jun 2026 09:00:00 +0300</pubDate><category>Product notes</category><description>Why product names start with S0, why the zero is cyan, why SNR is the name of the infrastructure. Four rules locked from day one so a growing product family does not scatter, and how they relate to scale.</description><content:encoded><![CDATA[<p>When a product family grows, names scatter. Every new product wants its own name, logo and colour. A team starts to love its product and gives it a personality. Five years later nobody knows which product belongs to which company; marketing re-explains the brand at every launch. S0NR0Y locked its naming system from day one to prevent this.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<text x="70" y="150" font-family="Outfit, Inter, sans-serif" font-size="92" font-weight="600" fill="#E7ECF3" letter-spacing="-3">S<tspan fill="#08E6F9">0</tspan></text>
<g font-family="JetBrains Mono, monospace" font-size="15" fill="#A7B1C2"><text x="300" y="96">S<tspan fill="#08E6F9">0</tspan> Ecom</text><text x="300" y="128">S<tspan fill="#08E6F9">0</tspan> Customer</text><text x="300" y="160">S<tspan fill="#08E6F9">0</tspan> Supply</text><text x="300" y="192">S<tspan fill="#08E6F9">0</tspan> Forecast</text><text x="300" y="224">S<tspan fill="#08E6F9">0</tspan> Finance</text></g>
<g font-family="JetBrains Mono, monospace" font-size="15"><text x="470" y="96" fill="#A7B1C2">SNR Core</text><text x="470" y="160" fill="#6F7A8E" text-decoration="line-through">SO Ecom</text><text x="470" y="224" fill="#6F7A8E" letter-spacing="2">ROI. Proven.</text></g>
<path d="M70 200 h190" stroke="url(#mg)" stroke-width="2"/><text x="70" y="236" font-family="JetBrains Mono, monospace" font-size="11" fill="#6F7A8E" letter-spacing="1.5">S0NR0Y</text>
</svg><figcaption>Fixed prefix, cyan zero, infrastructure without zeros: SNR. SO Ecom is wrong.</figcaption></figure>
<h2>S0: the brand's first two characters</h2>
<p>Every product name starts with S0. <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>, <a href="https://sonroy.ai/s0-customer">S0 Customer</a>, <a href="https://sonroy.ai/s0-supply">S0 Supply</a>, <a href="https://sonroy.ai/s0-finance">S0 Finance</a>. S and zero are the first two characters of S0NR0Y. Whoever reads the product name reads the brand; whoever knows the product already knows the brand. Adding a product is not introducing a brand.</p>
<p>The zero is written in cyan. Not for aesthetics: the zero is the cut zero. It is the symbol itself; the single coloured element living inside the product name. Under the brand's colour rule, colour lives only in the slash, in accent lines and in this zero; nowhere else.</p>
<h2>SO Ecom is wrong</h2>
<p>Not the letter O, the digit zero. This is not a spelling detail; it is the brand's story: <a href="https://sonroy.ai/blog/sifirdan-karar-yok">no decision from zero</a>. The zero is the mark of a decision without memory; the slash cancels it. Written with a letter, the story is lost and a meaningless syllable remains. This is why plain text also uses the digit: S0NR0Y. In technical contexts, the domain and code use lowercase sonroy; that is a separate layer.</p>
<h2>SNR: the skeleton without zeros</h2>
<p>The infrastructure is called <a href="https://sonroy.ai/snr-core">SNR Core</a>. SNR is what remains of S0NR0Y when the zeros are removed; it is also signal-to-noise, separating signal from noise. Two meanings sit in the same three letters. Products carry the zero; the core does not. The core stays empty; the decision is made there, and it belongs to the company itself. The <a href="https://sonroy.ai/blog/snr-core-nedir">SNR Core post</a> describes the core's six parts.</p>
<h2>Four rules</h2>
<p><strong>The prefix is fixed.</strong> A product name is always S0 plus area. The zero is cyan only in S0; the area name is plain. The area name is a single English word and is not translated in Turkish text: S0 Ecom stays S0 Ecom.</p>
<p><strong>A new area becomes a new product; the naming system does not change.</strong> S0 Field, S0 Wholesale, S0 Sustainability follow the same pattern. Because the pattern is ready, a new product decision does not require a brand decision.</p>
<p><strong>Numbers stay out of headlines.</strong> The product and module count grows; the headline carries the promise, not the number. We say "decision areas, one memory"; we do not say how many, because the number goes stale next year.</p>
<p><strong>The tagline does not change.</strong> ROI. Proven. is the same on every product page and is never translated. The tagline is not a promise but a statement of method: a decision is made, its return is measured, the outcome is written back. The <a href="https://sonroy.ai/blog/dashboard-degil-karar">decisions, not dashboards</a> post opens up this method.</p>
<h2>Why so strict</h2>
<p>Because a naming system is not a design preference; it is a scaling strategy. When the tenth product arrives no new brand decision is needed; the pattern is ready. When the twentieth arrives, the same. The system closes off product teams' wish to give their product a personality from the start; the personality is in the brand, and the product carries it.</p>
<p>There is one more consequence: the learning cost on the customer side drops. A category team using <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a> understands <a href="https://sonroy.ai/s0-forecast">S0 Forecast</a> from its name the moment they see it. Same core, same pattern, same four steps.</p>
<h2>Symbol and wordmark</h2>
<p>The symbol lives only in the first O; in the wordmark the second O is a plain character. Used on its own, the symbol carries the same geometry: ring, two-part slash, empty core. The app icon, the favicon and the "no decision from zero" panel on the <a href="https://sonroy.ai/">homepage</a> derive from the same drawing. None is redrawn; the single truth lives in the single geometry.</p><h2>Short answers</h2><div class="qa"><div><b>Why is S0NR0Y written with digits?</b><p>Because the zero is the brand's story: the mark of a memoryless decision, cancelled by the slash. Written with a letter, the story is lost. Plain text uses S0NR0Y, products use S0 Ecom, technical contexts use lowercase sonroy; three layers, one rule.</p></div><div><b>How is a new product named?</b><p>S0 plus the area name: S0 Field, S0 Wholesale. The area name is a single English word and is not translated. Because the pattern is ready, a new product decision does not require a brand decision; design, colour and logo do not change.</p></div><div><b>Why are there no numbers in headlines?</b><p>Because numbers go stale. The product and module count grows; we say 'decision areas, one memory' and do not say how many. The headline carries the promise; a number may appear in the body. The site follows the same rule.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>Every product name starts with S0; the zero is cyan because the zero is the symbol itself.</span></li><li><span>SO Ecom is wrong: not the letter O, the digit zero.</span></li><li><span>Four rules: fixed prefix, same pattern for new areas, no numbers in headlines, tagline never changes.</span></li><li><span>A naming system is not a design preference but a scaling strategy.</span></li></ul>]]></content:encoded></item>
  <item><title>S0 Ecom in the field: what is live</title><link>https://sonroy.ai/blog/adl-s0-ecom-canli</link><guid isPermaLink="true">https://sonroy.ai/blog/adl-s0-ecom-canli</guid><pubDate>Mon, 01 Jun 2026 09:00:00 +0300</pubDate><category>From the field</category><description>S0 Ecom is in active use in retail and fashion operations, across several brands, marketplaces included. A list of what is turning in the field, the rollout order, and why we share capability rather than numbers.</description><content:encoded><![CDATA[<p>S0NR0Y was born in operations, not theory. The first vertical is retail and fashion; the modules are in active use in retail and fashion operations. What follows is not a roadmap but the list of what runs today. Each item corresponds to a module of <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>, and all of them read the same <a href="https://sonroy.ai/snr-core">SNR Core</a> memory.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g filter="url(#ms)"><rect x="80" y="80" width="64" height="36" rx="18" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="160" y="80" width="64" height="36" rx="18" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="240" y="80" width="64" height="36" rx="18" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="330" y="80" width="90" height="36" rx="18" fill="#121A2B" stroke="#26314D" stroke-dasharray="4 4"/></g>
<g fill="#26314D"><rect x="98" y="95" width="28" height="6" rx="3"/><rect x="178" y="95" width="28" height="6" rx="3"/><rect x="258" y="95" width="28" height="6" rx="3"/><rect x="352" y="95" width="46" height="6" rx="3"/></g>
<path d="M112 116 v20 M192 116 v20 M272 116 v20 M375 116 v20 M112 136 h263 M243 136 v22" stroke="#26314D" stroke-width="1.5"/>
<circle cx="243" cy="166" r="14" fill="#0B0F19" stroke="#1A2338"/><circle cx="243" cy="166" r="8" fill="none" stroke="#E7ECF3" stroke-width="3"/><g transform="rotate(-42 243 166)"><rect x="252" y="164.5" width="9" height="3" fill="#08E6F9"/><rect x="225" y="164.5" width="9" height="3" fill="#08E6F9"/></g>
<path d="M243 180 v18 M80 198 h326 M100 198 v14 M182 198 v14 M264 198 v14 M346 198 v14" stroke="#26314D" stroke-width="1.5"/>
<g filter="url(#ms)"><rect x="62" y="212" width="76" height="46" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="144" y="212" width="76" height="46" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="226" y="212" width="76" height="46" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="308" y="212" width="76" height="46" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g>
<g fill="#26314D"><rect x="74" y="228" width="40" height="6" rx="3"/><rect x="156" y="228" width="40" height="6" rx="3"/><rect x="238" y="228" width="40" height="6" rx="3"/><rect x="320" y="228" width="40" height="6" rx="3"/></g>
<g fill="#08E6F9"><circle cx="126" cy="222" r="3.5"/><circle cx="208" cy="222" r="3.5"/><circle cx="290" cy="222" r="3.5"/><circle cx="372" cy="222" r="3.5"/></g>
<g filter="url(#ms)"><rect x="440" y="140" width="150" height="118" rx="14" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g><rect x="458" y="158" width="60" height="7" rx="3.5" fill="#26314D"/>
<g><rect x="458" y="182" width="114" height="14" rx="7" fill="#0B0F19" stroke="#1A2338"/><rect x="458" y="204" width="114" height="14" rx="7" fill="#0B0F19" stroke="#1A2338"/><rect x="458" y="226" width="114" height="14" rx="7" fill="#0B0F19" stroke="#1A2338"/></g>
<g fill="#08E6F9"><circle cx="562" cy="189" r="3.5"/><circle cx="562" cy="211" r="3.5"/><circle cx="562" cy="233" r="3.5"/></g>
</svg><figcaption>Several brands and a marketplace, one core; live modules below.</figcaption></figure>
<h2>Catalog</h2>
<p>Twelve ready catalog strategies and free-form commands are in use. The category team's ranking work has moved to S0 Ecom; the team picks the strategy and approves the recommendation. Newness at season opening, sell-through mid-season, outfits in campaign week. After the ranking goes live its result is written back. How this transition happened is in the <a href="https://sonroy.ai/blog/katalog-siralamasi">ranking post</a>.</p>
<h2>Data quality</h2>
<p>Every product receives a data quality score from 0 to 100. The criteria are dynamic: which attributes are mandatory, which visual standard is expected, how many words the story needs. To raise the score S0 Ecom flags and fills the missing attribute, the weak story, the inconsistent visual. A low-score product does not move forward in the ranking; its score rises first.</p>
<h2>Market</h2>
<p>Live in-season products of chosen competitor brands are tracked by category. The position in the price band reads green, amber, red. The number of competitors can grow. This knowledge is used in ranking commands: a product stuck in red on price is not kept on page one.</p>
<h2>Returns</h2>
<p>Return analysis reaches size × colour. The cause is classified: pattern, visual, size chart. The pattern class flows back into the production decision through <a href="https://sonroy.ai/s0-supply">S0 Supply</a>. The logic of this loop is in the <a href="https://sonroy.ai/blog/iade-uretim-karari">returns post</a>.</p>
<h2>Customer</h2>
<p>The helpdesk agent answers product, shipping and stock questions live on the marketplace. The rules come from the brand-level <a href="https://sonroy.ai/blog/agent-kural-matrisi">matrix</a>; each brand speaks in its own tone, with its own return window. If the complaint tone rises, the conversation is handed to a person.</p>
<h2>Visuals</h2>
<p>Visual production runs from sketch to product, product to model, one pose to many. At season opening a product page can go live without waiting for the shoot.</p>
<h2>The rollout order</h2>
<p>The order settled like this: data quality first, because ranking and the agent rest on attributes. Then catalog planning, because it is the most visible decision. Then the helpdesk agent, because it touches the customer and establishes the rule matrix. Market, returns and visuals arrived on the data these three opened up. Each step used the previous step's memory; at no step was data reconnected.</p>
<h2>Areas in progress</h2>
<p>In the same operation, <a href="https://sonroy.ai/s0-customer">S0 Customer</a> is linking call-centre reviews to products; <a href="https://sonroy.ai/s0-store">S0 Store</a> is taking the sales associate assistant onto the shop floor; <a href="https://sonroy.ai/s0-supply">S0 Supply</a> is tying the returns → production loop to orders; <a href="https://sonroy.ai/s0-logistics">S0 Logistics</a> is building the OMS link. All on the same core; no new data model was built for any of them.</p>
<h2>Why capability, not numbers</h2>
<p>We do not share numbers; numbers are a matter of contract and are shared with the customer's permission. We share capability; capability is the product itself and is open to everyone. A manager can read from this list which decision to hand over first in their own company. They measure the number on their own data; that is the "Proven" in the tagline. The <a href="https://sonroy.ai/blog/demo-nasil-gecer">demo post</a> shows how that is done; the <a href="https://sonroy.ai/#sahada">field section</a> shows the current state of the live list.</p><h2>Short answers</h2><div class="qa"><div><b>Why are no numbers shared?</b><p>Numbers are a matter of contract and are shared with the customer's permission. Capability is the product itself and is open to everyone. A manager reads from the capability list which decision to hand over first in their own company, and measures the number on their own data.</p></div><div><b>Why did the rollout start with data quality?</b><p>Because ranking and the agent rest on attributes. With missing attributes the ranking goes blind and the agent answers wrongly. The data quality score was raised first; catalog planning and the helpdesk agent arrived on that ground. The order is not a rule but a habit settled in the field.</p></div><div><b>How do the other S0 modules come online?</b><p>On the same core, without building a new data model. The sales, stock and return data connected for S0 Ecom is read directly by S0 Customer, S0 Store, S0 Supply and S0 Logistics. Each new area uses the previous one's memory.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>In the field, S0 Ecom is live across several brands, marketplaces included.</span></li><li><span>Live today: catalog planning, data quality score, market tracking, return matrix, helpdesk agent, visual production.</span></li><li><span>Order: data quality → catalog → agent; the rest arrived on the data these three opened.</span></li><li><span>Capability is shared, not numbers; the number is measured on the customer's own data.</span></li></ul>]]></content:encoded></item>
  <item><title>What happens in a forty-minute demo</title><link>https://sonroy.ai/blog/demo-nasil-gecer</link><guid isPermaLink="true">https://sonroy.ai/blog/demo-nasil-gecer</guid><pubDate>Mon, 11 May 2026 09:00:00 +0300</pubDate><category>From the field</category><description>A S0NR0Y demo is not a slide deck. One decision area is chosen from your own data and you watch how SNR Core reasons. The ten, twenty, ten minute flow; three things to prepare before you come, and the one thing you will not see.</description><content:encoded><![CDATA[<p>Most executives asking for a demo expect a slide deck: company story, market size, product screenshots, price. A S0NR0Y demo does not go that way. Forty minutes, one decision area, your own data where possible. There are no slides; there is a recommendation screen.</p><figure class="fig"><svg class="post-art" viewBox="0 0 640 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true">
<defs><linearGradient id="mg" x1="0" x2="1"><stop offset="0" stop-color="#0A2A5C"/><stop offset=".5" stop-color="#0A7BD0"/><stop offset="1" stop-color="#08E6F9"/></linearGradient>
<linearGradient id="mg2" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#08E6F9"/><stop offset="1" stop-color="#0A2A5C"/></linearGradient>
<filter id="ms" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02081E" flood-opacity=".7"/></filter>
<pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="1" fill="#1A2338"/></pattern></defs>
<rect width="640" height="320" rx="20" fill="#0B0F19"/><rect width="640" height="320" rx="20" fill="url(#dots)"/>
<g fill="#6F7A8E" font-family="JetBrains Mono, monospace" font-size="11" letter-spacing="1.5"><text x="80" y="100">10</text><text x="205" y="100">20</text><text x="455" y="100">10</text><text x="560" y="100" text-anchor="end">40 min</text></g>
<g filter="url(#ms)"><rect x="80" y="112" width="120" height="44" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/><rect x="206" y="112" width="244" height="44" rx="10" fill="#121A2B" stroke="url(#mg)" stroke-width="2"/><rect x="456" y="112" width="104" height="44" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g>
<g fill="#26314D"><rect x="96" y="130" width="60" height="7" rx="3.5"/><rect x="472" y="130" width="70" height="7" rx="3.5"/></g>
<g fill="#08E6F9"><rect x="222" y="130" width="40" height="7" rx="3.5"/><rect x="274" y="130" width="40" height="7" rx="3.5"/><rect x="326" y="130" width="40" height="7" rx="3.5"/><rect x="378" y="130" width="56" height="7" rx="3.5"/></g>
<g font-family="JetBrains Mono, monospace" font-size="10" fill="#6F7A8E" letter-spacing="1"><text x="222" y="180">01</text><text x="274" y="180">02</text><text x="326" y="180">03</text><text x="378" y="180">04</text></g>
<path d="M80 216 h480" stroke="#1A2338" stroke-width="2"/><g fill="#0B0F19" stroke="#A7B1C2" stroke-width="2"><circle cx="80" cy="216" r="6"/><circle cx="206" cy="216" r="6"/><circle cx="456" cy="216" r="6"/></g><circle cx="560" cy="216" r="7" fill="#08E6F9"/>
<g filter="url(#ms)"><rect x="440" y="238" width="120" height="44" rx="10" fill="#121A2B" stroke="#26314D" stroke-width="1.5"/></g><rect x="456" y="254" width="50" height="6" rx="3" fill="#26314D"/><rect x="514" y="252" width="30" height="12" rx="6" fill="#E7ECF3"/>
</svg><figcaption>Ten, twenty, ten minutes: decision area, four steps live, connection and scope plan.</figcaption></figure>
<h2>Before you come: three things</h2>
<p>First, pick the decision that tires you most. Catalog ranking, supplier orders, campaign budget, store stock allocation. One decision; not two. Second, know where that decision's data lives: ERP, e-commerce, OMS, marketplace. You do not need to connect it; saying where it is suffices. Third, who makes the decision today and how long it takes. These three turn the first ten minutes of the demo from an hour into forty minutes.</p>
<h2>First ten minutes: the decision area</h2>
<p>We settle which S0 product your decision falls into. Catalog ranking is <a href="https://sonroy.ai/s0-ecom">S0 Ecom</a>; supplier orders <a href="https://sonroy.ai/s0-supply">S0 Supply</a>; campaign budget <a href="https://sonroy.ai/s0-marketing">S0 Marketing</a>; store stock allocation <a href="https://sonroy.ai/s0-store">S0 Store</a>. The demo runs in that product; we do not show <a href="https://sonroy.ai/#urunler">all decision areas</a> at once, because a decision is one thing and attention stays in one place.</p>
<h2>Next twenty minutes: four steps live</h2>
<p><strong>Senses.</strong> How the area's sources sit in one model; how stale information is flagged. If your data is connected you see your own products; if not, comparable retail data. This is where <a href="https://sonroy.ai/snr-core">SNR Core</a>'s connector layer and living memory come up.</p>
<p><strong>Thinks.</strong> How the score is built, where the criteria come from. Data quality score, supplier score or decision score, depending on your area. You set the criteria; in the demo you change them and watch the result.</p>
<p><strong>Helps you decide.</strong> The recommendation screen: action, priority, rationale. What the approve button triggers; publishing the ranking, sending the order to the supplier, reallocating the budget. In the demo the approval is not triggered; what it would trigger is shown. The <a href="https://sonroy.ai/blog/dashboard-degil-karar">difference between a report and a recommendation</a> becomes visible here.</p>
<p><strong>Learns.</strong> How the outcome is written back and how it changes the next recommendation. How a rejected recommendation teaches as well.</p>
<h2>Last ten minutes: connection and scope</h2>
<p>Which systems connect, how long the connector layer takes, which S0 product to start with, when the second area arrives. Not a proposal but a plan; the plan arrives in writing within one business day. Price follows scope: how many decision areas, how many sources, how many brands. There is no list price; the reason is in the <a href="https://sonroy.ai/#faq">questions</a>.</p>
<h2>What you will not see in the demo</h2>
<p>An ROI promise. The number is measured with your own data; what the demo shows is the method. You will not see another customer's number either; numbers are a matter of contract. In the <a href="https://sonroy.ai/blog/adl-s0-ecom-canli">field post</a> you see what is live, not what it returned. The tagline ROI. Proven. is not a promise but a statement of method: a decision is made, its return is measured, the outcome is written back. Proven is proven on your data.</p>
<h2>After the demo</h2>
<p>The plan arrives. If you accept it, the first step is the connector layer: the chosen sources are connected to the core. Then the chosen S0 product opens and the first recommendations arrive on your own data. The first approval is yours; when the first outcome is written back, the loop has closed.</p>
<p>To request a demo, the <a href="https://sonroy.ai/#demo">form</a> or the calendar. We will remind you of the three things to prepare.</p><h2>Short answers</h2><div class="qa"><div><b>Do I need to connect my own data for the demo?</b><p>No. Saying where the data lives suffices; the demo also runs on comparable retail data. If your data is connected you see your own products. The connection is the first step of the plan after the demo.</p></div><div><b>Can I see more than one decision area in the demo?</b><p>One. A decision is one thing and attention stays in one place. Catalog ranking is S0 Ecom, supplier orders S0 Supply, campaign budget S0 Marketing, store stock allocation S0 Store. The second area comes with the plan; it uses the same core.</p></div><div><b>What happens after the demo?</b><p>A written plan arrives within one business day: which systems connect, how long it takes, which S0 product to start with, how scope grows. If you accept, the first step is the connector layer; then the chosen product opens and the first recommendations arrive on your own data.</p></div></div><h2>Summary</h2><ul class="sum"><li><span>Forty minutes, one decision area, your own data where possible; no slides, a recommendation screen.</span></li><li><span>Before you come: pick the tiring decision, know where the data lives, say who decides today.</span></li><li><span>Four steps watched live: senses, thinks, helps you decide, learns.</span></li><li><span>No ROI promise; the method is shown, the number is measured on your data.</span></li></ul>]]></content:encoded></item>
</channel></rss>
