<?xml version="1.0" encoding="UTF-8"?>
<!-- WordPress eXtended RSS: Orrery demo pages. Tools → Import → WordPress. -->
<rss version="2.0" xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wp="http://wordpress.org/export/1.2/">
  <channel>
<title>Quillmoor Analytics</title>
<link>https://example.com</link>
<description/>
<pubDate>Thu, 15 Oct 2026 12:00:00 +0000</pubDate>
<language>en-US</language>
<wp:wxr_version>1.2</wp:wxr_version>
<wp:base_site_url>https://example.com</wp:base_site_url>
<wp:base_blog_url>https://example.com</wp:base_blog_url>
<generator>https://wordpress.org/?v=7.1.3</generator>
<item>
  <title><![CDATA[Main]]></title>
  <link>https://example.com/navigation/</link>
  <pubDate>Thu, 15 Oct 2026 12:00:00 +0000</pubDate>
  <guid isPermaLink="false">https://example.com/navigation/</guid>
  <description/>
  <content:encoded><![CDATA[<!-- wp:navigation-link {"label":"Home","url":"/","kind":"custom","className":"or-only-open"} /--><!-- wp:navigation-link {"label":"services","url":"/services/","kind":"custom"} /--><!-- wp:navigation-link {"label":"about","url":"/about/","kind":"custom"} /--><!-- wp:navigation-link {"label":"contact","url":"/contact/","kind":"custom"} /--><!-- wp:navigation-link {"label":"Book a call","url":"/contact/#enquiry","kind":"custom","className":"or-only-open or-nav-cta"} /--><!-- wp:navigation-link {"label":"<u>hello@example.com</u> · (555) 555-0167","url":"mailto:hello@example.com","kind":"custom","className":"or-only-open or-nav-contact"} /-->]]></content:encoded>
  <excerpt:encoded><![CDATA[]]></excerpt:encoded>
  <wp:post_id>4</wp:post_id>
  <wp:post_date>2026-10-15 12:00:00</wp:post_date>
  <wp:post_date_gmt>2026-10-15 12:00:00</wp:post_date_gmt>
  <wp:post_modified>2026-10-15 12:00:00</wp:post_modified>
  <wp:post_modified_gmt>2026-10-15 12:00:00</wp:post_modified_gmt>
  <wp:comment_status>closed</wp:comment_status>
  <wp:ping_status>closed</wp:ping_status>
  <wp:post_name>navigation</wp:post_name>
  <wp:status>publish</wp:status>
  <wp:post_parent>0</wp:post_parent>
  <wp:menu_order>0</wp:menu_order>
  <wp:post_type>wp_navigation</wp:post_type>
  <wp:post_password/>
  <wp:is_sticky>0</wp:is_sticky>
</item>
<item>
  <title><![CDATA[Services]]></title>
  <link>https://example.com/services/</link>
  <pubDate>Thu, 15 Oct 2026 12:00:00 +0000</pubDate>
  <guid isPermaLink="false">https://example.com/services/</guid>
  <description/>
  <content:encoded><![CDATA[<!-- wp:html -->
<header class="container-x pt-16 pb-6 sm:pt-24 lg:pt-28"><h1 class="h-display load-in max-w-4xl"><span class="dim">Six kinds of </span><span class="hl">work</span></h1><p class="load-in mt-8 max-w-2xl text-xl leading-relaxed" style="--d:1">Each project starts with a written scope and a fixed price. The prices below are where most projects start; the scope sets the final figure.</p><span class="rule load-in mt-10" style="--d:2" aria-hidden="true"></span></header><div class="container-x pb-24 lg:pb-36" data-astro-cid-7a6hbtlg><nav aria-label="Services on this page" class="mt-10" data-astro-cid-7a6hbtlg><ul class="flex flex-wrap gap-2" data-astro-cid-7a6hbtlg><li data-astro-cid-7a6hbtlg><a href="#data-audit" class="chip" data-astro-cid-7a6hbtlg>Data audit</a></li><li data-astro-cid-7a6hbtlg><a href="#reporting" class="chip" data-astro-cid-7a6hbtlg>Reporting</a></li><li data-astro-cid-7a6hbtlg><a href="#demand-forecasting" class="chip" data-astro-cid-7a6hbtlg>Demand forecasting</a></li><li data-astro-cid-7a6hbtlg><a href="#pricing" class="chip" data-astro-cid-7a6hbtlg>Pricing</a></li><li data-astro-cid-7a6hbtlg><a href="#experiments" class="chip" data-astro-cid-7a6hbtlg>Experiments</a></li><li data-astro-cid-7a6hbtlg><a href="#customer-analysis" class="chip" data-astro-cid-7a6hbtlg>Customer analysis</a></li></ul></nav><div class="mt-16 divide-y divide-line border-y border-line" data-astro-cid-7a6hbtlg><section id="data-audit" class="reveal grid scroll-mt-28 gap-10 py-16 lg:grid-cols-12 lg:gap-12 lg:py-20" aria-labelledby="data-audit-title" data-astro-cid-7a6hbtlg><div class="lg:col-span-4" data-astro-cid-7a6hbtlg><div class="rounded-2xl bg-accent p-6 text-accent-text" data-astro-cid-7a6hbtlg><svg viewBox="0 0 240 110" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="art art-grid" data-astro-cid-cnmxhu3v><g data-astro-cid-cnmxhu3v><rect x="6" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="25" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="44" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="63" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="82" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="101" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="120" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="139" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="158" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="177" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="196" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="215" y="14" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="6" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="25" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="44" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="63" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="82" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="101" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="120" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="139" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="158" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="177" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="196" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="215" y="33" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="6" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="25" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="44" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="63" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="82" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="101" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="120" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="139" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="158" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="177" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="196" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="215" y="52" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="6" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="25" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="44" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="63" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="82" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="101" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="120" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="139" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="158" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="177" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="196" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect x="215" y="71" width="19" height="19" stroke-width="1" data-astro-cid-cnmxhu3v></rect><rect class="flag" x="44" y="33" width="19" height="19" fill="currentColor" style="--d:0.6666666666666666s" data-astro-cid-cnmxhu3v></rect><rect class="flag" x="101" y="71" width="19" height="19" fill="currentColor" style="--d:1.6666666666666667s" data-astro-cid-cnmxhu3v></rect><rect class="flag" x="158" y="14" width="19" height="19" fill="currentColor" style="--d:2.6666666666666665s" data-astro-cid-cnmxhu3v></rect><rect class="flag" x="196" y="52" width="19" height="19" fill="currentColor" style="--d:3.3333333333333335s" data-astro-cid-cnmxhu3v></rect><line class="scan" x1="6" y1="6" x2="6" y2="98" stroke-width="2" data-astro-cid-cnmxhu3v></line></g></svg></div><dl class="mt-8 grid grid-cols-2 gap-6" data-astro-cid-7a6hbtlg><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>From</dt><dd class="mt-1 text-2xl font-light text-accent" data-astro-cid-7a6hbtlg>$6,500</dd></div><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>Typical length</dt><dd class="mt-1 text-2xl font-light" data-astro-cid-7a6hbtlg>3 weeks</dd></div></dl></div><div class="lg:col-span-8" data-astro-cid-7a6hbtlg><h2 id="data-audit-title" class="h-section" data-astro-cid-7a6hbtlg>Data audit</h2><p class="mt-4 text-lg text-muted" data-astro-cid-7a6hbtlg>inventory, cross-system joins, one clean customer table</p><p class="mt-8 text-xl leading-relaxed" data-astro-cid-7a6hbtlg>We list every source your reports depend on, test how well they agree, and fix the joins that break most often.</p><div class="prose-orrery mt-8" data-astro-cid-7a6hbtlg><p>Most reporting problems start upstream. The CRM counts a customer once per contact, billing counts one per invoice address, and the two never agree on how many customers you have. We find those mismatches before anyone builds a forecast on top of them.</p>
<h2 id="what-we-check">What we check</h2>
<ul>
<li>Duplicates and orphaned records</li>
<li>Fields that changed meaning over time, like a “region” that was a state until 2021 and a sales territory after</li>
<li>Gaps: days, stores or products with no rows at all</li>
<li>Refresh times: which report is a day old and which is a week old</li>
</ul>
<h2 id="what-you-keep">What you keep</h2>
<p>The checks are plain SQL that runs in your warehouse every night. When one fails, it emails the owner of that source, not us.</p>
</div><div class="mt-10 rounded-2xl border border-line p-6 sm:p-8" data-astro-cid-7a6hbtlg><h3 class="text-lg" data-astro-cid-7a6hbtlg>What you keep</h3><ul class="mt-5 grid gap-3 sm:grid-cols-2" data-astro-cid-7a6hbtlg><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A map of every data source, its owner and its refresh time</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Row-level checks that run every night</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>One customer table that matches sales, billing and support</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A written list of what we could not fix, and why</span></li></ul></div><a href="/contact/#enquiry" class="btn btn-secondary mt-10" data-astro-cid-7a6hbtlg>Ask about data audit <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon icon-shift" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></section><section id="reporting" class="reveal grid scroll-mt-28 gap-10 py-16 lg:grid-cols-12 lg:gap-12 lg:py-20" aria-labelledby="reporting-title" data-astro-cid-7a6hbtlg><div class="lg:col-span-4" data-astro-cid-7a6hbtlg><div class="rounded-2xl bg-accent p-6 text-accent-text" data-astro-cid-7a6hbtlg><svg viewBox="0 0 240 110" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="art art-bars" data-astro-cid-cnmxhu3v><g data-astro-cid-cnmxhu3v><line x1="6" y1="98" x2="234" y2="98" data-astro-cid-cnmxhu3v></line><line x1="6" y1="34" x2="234" y2="34" stroke-width="1" stroke-dasharray="3 5" data-astro-cid-cnmxhu3v></line><rect class="bar" x="14" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.55;--b:0.80;--d:0.00s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="42" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.8;--b:0.55;--d:-0.37s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="70" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.4;--b:0.95;--d:-0.74s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="98" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.95;--b:0.40;--d:-1.11s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="126" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.65;--b:0.70;--d:-1.48s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="154" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.75;--b:0.60;--d:-1.85s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="182" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.5;--b:0.85;--d:-2.22s" data-astro-cid-cnmxhu3v></rect><rect class="bar" x="210" y="18" width="16" height="80" stroke-width="1.5" vector-effect="non-scaling-stroke" style="--a:0.85;--b:0.50;--d:-2.59s" data-astro-cid-cnmxhu3v></rect></g></svg></div><dl class="mt-8 grid grid-cols-2 gap-6" data-astro-cid-7a6hbtlg><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>From</dt><dd class="mt-1 text-2xl font-light text-accent" data-astro-cid-7a6hbtlg>$8,000</dd></div><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>Typical length</dt><dd class="mt-1 text-2xl font-light" data-astro-cid-7a6hbtlg>4 to 6 weeks</dd></div></dl></div><div class="lg:col-span-8" data-astro-cid-7a6hbtlg><h2 id="reporting-title" class="h-section" data-astro-cid-7a6hbtlg>Reporting</h2><p class="mt-4 text-lg text-muted" data-astro-cid-7a6hbtlg>defined metrics, one dashboard, a Monday email</p><p class="mt-8 text-xl leading-relaxed" data-astro-cid-7a6hbtlg>One dashboard with fifteen numbers at most, each with a written definition, an owner and the query behind it.</p><div class="prose-orrery mt-8" data-astro-cid-7a6hbtlg><p>Most companies we meet have forty dashboards and three definitions of revenue. We start by writing down what each number means, then build the smallest report that answers the questions asked in your weekly meeting.</p>
<h2 id="how-we-build-it">How we build it</h2>
<ul>
<li>Interview the five to ten people who use the numbers</li>
<li>Write one definition per metric, next to the query that computes it</li>
<li>Build the dashboard in Looker Studio, Power BI, Metabase or Tableau, whichever you have</li>
<li>Retire the reports nobody opened in the last ninety days</li>
</ul>
</div><div class="mt-10 rounded-2xl border border-line p-6 sm:p-8" data-astro-cid-7a6hbtlg><h3 class="text-lg" data-astro-cid-7a6hbtlg>What you keep</h3><ul class="mt-5 grid gap-3 sm:grid-cols-2" data-astro-cid-7a6hbtlg><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A metric glossary signed off by your finance lead</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>One dashboard in the tool you already pay for</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A Monday email with the five numbers that moved most</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Training for the person who will maintain it</span></li></ul></div><a href="/contact/#enquiry" class="btn btn-secondary mt-10" data-astro-cid-7a6hbtlg>Ask about reporting <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon icon-shift" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></section><section id="demand-forecasting" class="reveal grid scroll-mt-28 gap-10 py-16 lg:grid-cols-12 lg:gap-12 lg:py-20" aria-labelledby="demand-forecasting-title" data-astro-cid-7a6hbtlg><div class="lg:col-span-4" data-astro-cid-7a6hbtlg><div class="rounded-2xl bg-accent p-6 text-accent-text" data-astro-cid-7a6hbtlg><svg viewBox="0 0 240 110" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="art art-forecast" data-astro-cid-cnmxhu3v><g data-astro-cid-cnmxhu3v><line x1="6" y1="100" x2="234" y2="100" stroke-width="1" data-astro-cid-cnmxhu3v></line><path class="history" pathLength="1" d="M8 78L24 70 38 76 54 58 68 64 84 50 98 56 114 42 128 48" data-astro-cid-cnmxhu3v></path><path class="band" d="M128 48L234 10M128 48L234 70" stroke-width="1" data-astro-cid-cnmxhu3v></path><path class="ahead" d="M128 48L150 42 172 44 194 34 216 36 234 28" stroke-dasharray="4 5" data-astro-cid-cnmxhu3v></path><circle class="now" cx="128" cy="48" r="3.5" fill="currentColor" data-astro-cid-cnmxhu3v></circle></g></svg></div><dl class="mt-8 grid grid-cols-2 gap-6" data-astro-cid-7a6hbtlg><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>From</dt><dd class="mt-1 text-2xl font-light text-accent" data-astro-cid-7a6hbtlg>$12,000</dd></div><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>Typical length</dt><dd class="mt-1 text-2xl font-light" data-astro-cid-7a6hbtlg>6 to 8 weeks</dd></div></dl></div><div class="lg:col-span-8" data-astro-cid-7a6hbtlg><h2 id="demand-forecasting-title" class="h-section" data-astro-cid-7a6hbtlg>Demand forecasting</h2><p class="mt-4 text-lg text-muted" data-astro-cid-7a6hbtlg>weekly forecasts, stock levels, staffing plans</p><p class="mt-8 text-xl leading-relaxed" data-astro-cid-7a6hbtlg>Forecasts by product and location with a range around every number, so buyers can see how sure the model is.</p><div class="prose-orrery mt-8" data-astro-cid-7a6hbtlg><p>We forecast whatever drives your costs: units, orders, calls or staff hours. Each forecast comes with a back-test, so you can see how the model would have done last year before you trust it this year.</p>
<h2 id="what-we-model">What we model</h2>
<ul>
<li>Seasonality and holidays, including the ones that move every year</li>
<li>Promotions and price changes, if you have the history</li>
<li>Stock-outs, which hide real demand in your sales data</li>
<li>New products, using the closest existing ones as a guide</li>
</ul>
<h2 id="when-we-say-no">When we say no</h2>
<p>With less than eighteen months of history, a forecasting model rarely beats a well-kept spreadsheet. We tell you that in the first week and bill for the first week only.</p>
</div><div class="mt-10 rounded-2xl border border-line p-6 sm:p-8" data-astro-cid-7a6hbtlg><h3 class="text-lg" data-astro-cid-7a6hbtlg>What you keep</h3><ul class="mt-5 grid gap-3 sm:grid-cols-2" data-astro-cid-7a6hbtlg><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A weekly forecast by product and location, 13 weeks ahead</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>An 80% range around every number</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A back-test against the last two years</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A plain Python job that reruns every Monday</span></li></ul></div><a href="/contact/#enquiry" class="btn btn-secondary mt-10" data-astro-cid-7a6hbtlg>Ask about demand forecasting <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon icon-shift" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></section><section id="pricing" class="reveal grid scroll-mt-28 gap-10 py-16 lg:grid-cols-12 lg:gap-12 lg:py-20" aria-labelledby="pricing-title" data-astro-cid-7a6hbtlg><div class="lg:col-span-4" data-astro-cid-7a6hbtlg><div class="rounded-2xl bg-accent p-6 text-accent-text" data-astro-cid-7a6hbtlg><svg viewBox="0 0 240 110" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="art art-curve" data-astro-cid-cnmxhu3v><g data-astro-cid-cnmxhu3v><line x1="6" y1="100" x2="234" y2="100" stroke-width="1" data-astro-cid-cnmxhu3v></line><path d="M10 96Q120 -52 230 96" data-astro-cid-cnmxhu3v></path><line x1="120" y1="22" x2="120" y2="100" stroke-width="1" stroke-dasharray="3 5" data-astro-cid-cnmxhu3v></line><g class="slide-x" data-astro-cid-cnmxhu3v><circle class="slide-y" cx="10" cy="96" r="5" fill="currentColor" data-astro-cid-cnmxhu3v></circle></g></g></svg></div><dl class="mt-8 grid grid-cols-2 gap-6" data-astro-cid-7a6hbtlg><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>From</dt><dd class="mt-1 text-2xl font-light text-accent" data-astro-cid-7a6hbtlg>$14,000</dd></div><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>Typical length</dt><dd class="mt-1 text-2xl font-light" data-astro-cid-7a6hbtlg>6 to 10 weeks</dd></div></dl></div><div class="lg:col-span-8" data-astro-cid-7a6hbtlg><h2 id="pricing-title" class="h-section" data-astro-cid-7a6hbtlg>Pricing</h2><p class="mt-4 text-lg text-muted" data-astro-cid-7a6hbtlg>price tests, discount rules, gross margin</p><p class="mt-8 text-xl leading-relaxed" data-astro-cid-7a6hbtlg>We estimate how demand responds to price for each product group, then set prices and discount limits from that.</p><div class="prose-orrery mt-8" data-astro-cid-7a6hbtlg><p>Most price lists were set once and adjusted by feel. We use your order history to estimate how volume moves when price moves, then set prices where margin is highest without losing the customers you want to keep.</p>
<h2 id="what-we-usually-find">What we usually find</h2>
<ul>
<li>Discounts given to customers who would have paid full price</li>
<li>Products priced below cost once shipping and returns are counted</li>
<li>Price steps that push customers down to the cheaper tier</li>
</ul>
</div><div class="mt-10 rounded-2xl border border-line p-6 sm:p-8" data-astro-cid-7a6hbtlg><h3 class="text-lg" data-astro-cid-7a6hbtlg>What you keep</h3><ul class="mt-5 grid gap-3 sm:grid-cols-2" data-astro-cid-7a6hbtlg><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Price response estimates by product group</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Recommended prices, each with its effect on margin</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Discount rules your sales team can apply without asking</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A test plan for the changes we are least sure about</span></li></ul></div><a href="/contact/#enquiry" class="btn btn-secondary mt-10" data-astro-cid-7a6hbtlg>Ask about pricing <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon icon-shift" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></section><section id="experiments" class="reveal grid scroll-mt-28 gap-10 py-16 lg:grid-cols-12 lg:gap-12 lg:py-20" aria-labelledby="experiments-title" data-astro-cid-7a6hbtlg><div class="lg:col-span-4" data-astro-cid-7a6hbtlg><div class="rounded-2xl bg-accent p-6 text-accent-text" data-astro-cid-7a6hbtlg><svg viewBox="0 0 240 110" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="art art-bells" data-astro-cid-cnmxhu3v><g data-astro-cid-cnmxhu3v><line x1="6" y1="98" x2="234" y2="98" stroke-width="1" data-astro-cid-cnmxhu3v></line><path d="M10,96.0L15,96.0L20,96.0L25,95.9L30,95.8L35,95.4L40,94.7L45,93.3L50,90.8L55,86.8L60,80.6L65,72.2L70,61.8L75,50.4L80,39.4L85,30.9L90,26.4L95,26.9L100,32.3L105,41.5L110,52.7L115,64.0L120,74.1L125,82.0L130,87.7L135,91.5L140,93.7L145,94.9L150,95.5L155,95.8L160,95.9L165,96.0L170,96.0L175,96.0L180,96.0L185,96.0L190,96.0L195,96.0L200,96.0L205,96.0L210,96.0L215,96.0L220,96.0L225,96.0L230,96.0" data-astro-cid-cnmxhu3v></path><line x1="92" y1="26" x2="92" y2="98" stroke-width="1" stroke-dasharray="3 5" data-astro-cid-cnmxhu3v></line><g class="shift" data-astro-cid-cnmxhu3v><path d="M10,96.0L15,96.0L20,96.0L25,96.0L30,96.0L35,96.0L40,96.0L45,96.0L50,96.0L55,96.0L60,95.9L65,95.8L70,95.6L75,95.0L80,93.9L85,92.0L90,88.7L95,83.6L100,76.6L105,67.7L110,57.6L115,47.7L120,39.6L125,34.8L130,34.4L135,38.3L140,45.9L145,55.6L150,65.7L155,74.9L160,82.4L165,87.8L170,91.4L175,93.6L180,94.9L185,95.5L190,95.8L195,95.9L200,96.0L205,96.0L210,96.0L215,96.0L220,96.0L225,96.0L230,96.0" stroke-width="2" data-astro-cid-cnmxhu3v></path><line x1="128" y1="34" x2="128" y2="98" stroke-width="1" stroke-dasharray="3 5" data-astro-cid-cnmxhu3v></line></g></g></svg></div><dl class="mt-8 grid grid-cols-2 gap-6" data-astro-cid-7a6hbtlg><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>From</dt><dd class="mt-1 text-2xl font-light text-accent" data-astro-cid-7a6hbtlg>$5,500</dd></div><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>Typical length</dt><dd class="mt-1 text-2xl font-light" data-astro-cid-7a6hbtlg>from 2 weeks per test</dd></div></dl></div><div class="lg:col-span-8" data-astro-cid-7a6hbtlg><h2 id="experiments-title" class="h-section" data-astro-cid-7a6hbtlg>Experiments</h2><p class="mt-4 text-lg text-muted" data-astro-cid-7a6hbtlg>A/B tests, sample sizes, honest readouts</p><p class="mt-8 text-xl leading-relaxed" data-astro-cid-7a6hbtlg>We design tests that can answer the question, size them before launch and report the result even when it is flat.</p><div class="prose-orrery mt-8" data-astro-cid-7a6hbtlg><p>Half the tests we are asked to review were too small to detect the effect they were looking for. We fix the sample size and the stop date before launch, so nobody ends a test early because the first week looked good.</p>
<h2 id="what-we-test">What we test</h2>
<ul>
<li>Prices, offers and free-shipping thresholds</li>
<li>Checkout and sign-up changes</li>
<li>Email timing and content</li>
<li>Sales scripts, by randomizing which reps use them</li>
</ul>
</div><div class="mt-10 rounded-2xl border border-line p-6 sm:p-8" data-astro-cid-7a6hbtlg><h3 class="text-lg" data-astro-cid-7a6hbtlg>What you keep</h3><ul class="mt-5 grid gap-3 sm:grid-cols-2" data-astro-cid-7a6hbtlg><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A one-page plan per test: question, metric, sample size, stop date</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Randomization checks on day one</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A readout with the effect, its range and what we would do next</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A log of every test you have run</span></li></ul></div><a href="/contact/#enquiry" class="btn btn-secondary mt-10" data-astro-cid-7a6hbtlg>Ask about experiments <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon icon-shift" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></section><section id="customer-analysis" class="reveal grid scroll-mt-28 gap-10 py-16 lg:grid-cols-12 lg:gap-12 lg:py-20" aria-labelledby="customer-analysis-title" data-astro-cid-7a6hbtlg><div class="lg:col-span-4" data-astro-cid-7a6hbtlg><div class="rounded-2xl bg-accent p-6 text-accent-text" data-astro-cid-7a6hbtlg><svg viewBox="0 0 240 110" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="art art-clusters" data-astro-cid-cnmxhu3v><g data-astro-cid-cnmxhu3v><circle class="ring" cx="52" cy="40" r="22" stroke-width="1" stroke-dasharray="3 4" data-astro-cid-cnmxhu3v></circle><circle class="ring" cx="122" cy="74" r="22" stroke-width="1" stroke-dasharray="3 4" data-astro-cid-cnmxhu3v></circle><circle class="ring" cx="194" cy="38" r="22" stroke-width="1" stroke-dasharray="3 4" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="39.0" cy="43.5" r="3" fill="currentColor" stroke="none" style="--dx:139.9px;--dy:-6.8px;--d:0.40s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="111.5" cy="68.2" r="3" fill="currentColor" stroke="none" style="--dx:-13.9px;--dy:-22.9px;--d:0.40s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="204.9" cy="40.1" r="3" fill="currentColor" stroke="none" style="--dx:-158.0px;--dy:-13.6px;--d:0.16s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="55.9" cy="36.8" r="3" fill="currentColor" stroke="none" style="--dx:-33.7px;--dy:52.2px;--d:0.20s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="111.3" cy="72.5" r="3" fill="currentColor" stroke="none" style="--dx:103.0px;--dy:-5.8px;--d:0.14s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="197.5" cy="37.1" r="3" fill="currentColor" stroke="none" style="--dx:-126.3px;--dy:-18.4px;--d:0.30s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="53.3" cy="46.8" r="3" fill="currentColor" stroke="none" style="--dx:26.9px;--dy:-14.9px;--d:0.41s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="125.7" cy="66.6" r="3" fill="currentColor" stroke="none" style="--dx:54.1px;--dy:25.6px;--d:0.50s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="187.1" cy="47.1" r="3" fill="currentColor" stroke="none" style="--dx:-43.1px;--dy:29.3px;--d:0.15s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="48.4" cy="32.5" r="3" fill="currentColor" stroke="none" style="--dx:55.3px;--dy:10.1px;--d:0.11s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="130.6" cy="71.6" r="3" fill="currentColor" stroke="none" style="--dx:-76.6px;--dy:-28.1px;--d:0.48s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="202.6" cy="36.5" r="3" fill="currentColor" stroke="none" style="--dx:-85.1px;--dy:21.4px;--d:0.18s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="52.6" cy="40.5" r="3" fill="currentColor" stroke="none" style="--dx:84.7px;--dy:21.5px;--d:0.56s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="121.2" cy="70.3" r="3" fill="currentColor" stroke="none" style="--dx:-11.0px;--dy:3.8px;--d:0.22s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="194.1" cy="47.3" r="3" fill="currentColor" stroke="none" style="--dx:-98.4px;--dy:12.5px;--d:0.39s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="47.4" cy="44.5" r="3" fill="currentColor" stroke="none" style="--dx:19.7px;--dy:35.3px;--d:0.51s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="112.6" cy="76.8" r="3" fill="currentColor" stroke="none" style="--dx:-81.8px;--dy:-27.6px;--d:0.20s" data-astro-cid-cnmxhu3v></circle><circle class="dot" cx="184.8" cy="42.0" r="3" fill="currentColor" stroke="none" style="--dx:-37.9px;--dy:53.8px;--d:0.27s" data-astro-cid-cnmxhu3v></circle></g></svg></div><dl class="mt-8 grid grid-cols-2 gap-6" data-astro-cid-7a6hbtlg><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>From</dt><dd class="mt-1 text-2xl font-light text-accent" data-astro-cid-7a6hbtlg>$10,000</dd></div><div data-astro-cid-7a6hbtlg><dt class="text-sm text-muted" data-astro-cid-7a6hbtlg>Typical length</dt><dd class="mt-1 text-2xl font-light" data-astro-cid-7a6hbtlg>5 to 7 weeks</dd></div></dl></div><div class="lg:col-span-8" data-astro-cid-7a6hbtlg><h2 id="customer-analysis-title" class="h-section" data-astro-cid-7a6hbtlg>Customer analysis</h2><p class="mt-4 text-lg text-muted" data-astro-cid-7a6hbtlg>segments, churn, lifetime value, who to call first</p><p class="mt-8 text-xl leading-relaxed" data-astro-cid-7a6hbtlg>Segments built from what customers buy and how often, plus a churn score your account managers can use every week.</p><div class="prose-orrery mt-8" data-astro-cid-7a6hbtlg><p>Segments only help if someone treats each one differently. We build them from order history, not demographics, and agree with your team which action goes with each segment before we hand them over.</p>
<h2 id="questions-we-answer">Questions we answer</h2>
<ul>
<li>Which channel brings the customers who stay longest</li>
<li>What the last three orders of a customer who left look like</li>
<li>How much you can spend to win back a lapsed account</li>
</ul>
</div><div class="mt-10 rounded-2xl border border-line p-6 sm:p-8" data-astro-cid-7a6hbtlg><h3 class="text-lg" data-astro-cid-7a6hbtlg>What you keep</h3><ul class="mt-5 grid gap-3 sm:grid-cols-2" data-astro-cid-7a6hbtlg><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Four to six segments with a plain description of each</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>A churn score for every active account, refreshed weekly</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>Lifetime value by acquisition channel</span></li><li class="flex gap-3 text-muted" data-astro-cid-7a6hbtlg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg><span data-astro-cid-7a6hbtlg>The twenty accounts most at risk, in your inbox every Monday</span></li></ul></div><a href="/contact/#enquiry" class="btn btn-secondary mt-10" data-astro-cid-7a6hbtlg>Ask about customer analysis <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon icon-shift" aria-hidden="true" focusable="false"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a></div></section></div></div>
<!-- /wp:html -->]]></content:encoded>
  <excerpt:encoded><![CDATA[]]></excerpt:encoded>
  <wp:post_id>5</wp:post_id>
  <wp:post_date>2026-10-15 12:00:00</wp:post_date>
  <wp:post_date_gmt>2026-10-15 12:00:00</wp:post_date_gmt>
  <wp:post_modified>2026-10-15 12:00:00</wp:post_modified>
  <wp:post_modified_gmt>2026-10-15 12:00:00</wp:post_modified_gmt>
  <wp:comment_status>closed</wp:comment_status>
  <wp:ping_status>closed</wp:ping_status>
  <wp:post_name>services</wp:post_name>
  <wp:status>publish</wp:status>
  <wp:post_parent>0</wp:post_parent>
  <wp:menu_order>0</wp:menu_order>
  <wp:post_type>page</wp:post_type>
  <wp:post_password/>
  <wp:is_sticky>0</wp:is_sticky>
  <wp:postmeta>
    <wp:meta_key>_wp_page_template</wp:meta_key>
    <wp:meta_value><![CDATA[page-full]]></wp:meta_value>
  </wp:postmeta>
</item>
<item>
  <title><![CDATA[About]]></title>
  <link>https://example.com/about/</link>
  <pubDate>Thu, 15 Oct 2026 12:00:00 +0000</pubDate>
  <guid isPermaLink="false">https://example.com/about/</guid>
  <description/>
  <content:encoded><![CDATA[<!-- wp:html -->
<header class="container-x pt-16 pb-6 sm:pt-24 lg:pt-28"><h1 class="h-display load-in max-w-4xl"><span class="dim">Five people who </span><span class="hl">show their working</span></h1><p class="load-in mt-8 max-w-2xl text-xl leading-relaxed" style="--d:1">Quillmoor started in 2012, when two statisticians left a grocery chain and a freight company to do the same work for firms that could not hire a data team of their own.</p><span class="rule load-in mt-10" style="--d:2" aria-hidden="true"></span></header><section class="section" aria-labelledby="team-title"><div class="container-x grid gap-16 lg:grid-cols-12"><div class="lg:col-span-5"><div class="max-w-3xl"><h2 id="team-title" class="h-section"><span class="dim">Who you </span><span class="hl">work with</span></h2><p class="lead mt-5 max-w-xl text-ink">Everyone on your project does the work. There are no juniors learning on your budget.</p><span class="rule mt-10" aria-hidden="true"></span></div><svg viewBox="0 0 400 400" fill="none" aria-hidden="true" class="orbits mt-16 hidden max-w-xs lg:block" data-astro-cid-myoo3rce><g class="orbits-turn" style="transform-origin: 200px 200px; transform-box: view-box" data-astro-cid-myoo3rce><g class="orbit-ring" style="transform-origin:138.0px 263.4px;transform-box:view-box;--dur:34s;--dir:normal" data-astro-cid-myoo3rce><circle cx="138.0" cy="263.4" r="60" stroke="currentColor" stroke-width="1.4" data-astro-cid-myoo3rce></circle><circle cx="81.6" cy="242.9" r="5" class="orbit-dot" data-astro-cid-myoo3rce></circle></g><g class="orbit-ring" style="transform-origin:159.4px 245.4px;transform-box:view-box;--dur:47s;--dir:reverse" data-astro-cid-myoo3rce><circle cx="159.4" cy="245.4" r="88" stroke="currentColor" stroke-width="1.4" data-astro-cid-myoo3rce></circle><circle cx="231.5" cy="295.9" r="5" class="orbit-dot" data-astro-cid-myoo3rce></circle></g><g class="orbit-ring" style="transform-origin:180.9px 227.4px;transform-box:view-box;--dur:60s;--dir:normal" data-astro-cid-myoo3rce><circle cx="180.9" cy="227.4" r="116" stroke="currentColor" stroke-width="1.4" data-astro-cid-myoo3rce></circle><circle cx="106.3" cy="316.3" r="5" class="orbit-dot" data-astro-cid-myoo3rce></circle></g><g class="orbit-ring" style="transform-origin:202.3px 209.4px;transform-box:view-box;--dur:73s;--dir:reverse" data-astro-cid-myoo3rce><circle cx="202.3" cy="209.4" r="144" stroke="currentColor" stroke-width="1.4" data-astro-cid-myoo3rce></circle><circle cx="251.6" cy="74.1" r="5" class="orbit-dot" data-astro-cid-myoo3rce></circle></g><g class="orbit-ring" style="transform-origin:223.8px 191.4px;transform-box:view-box;--dur:86s;--dir:normal" data-astro-cid-myoo3rce><circle cx="223.8" cy="191.4" r="172" stroke="currentColor" stroke-width="1.4" stroke-dasharray="2 5" data-astro-cid-myoo3rce></circle><circle cx="282.6" cy="353.0" r="5" class="orbit-dot" data-astro-cid-myoo3rce></circle></g></g></svg></div><ul class="stagger divide-y divide-line border-y border-line lg:col-span-7"><li class="grid gap-2 py-7 sm:grid-cols-[14rem_1fr] sm:gap-8" style="--i:0"><h3 class="text-xl">Lead statistician</h3><p class="text-muted">Forecasting and experiments. Twelve years in grocery supply chains before Quillmoor.</p></li><li class="grid gap-2 py-7 sm:grid-cols-[14rem_1fr] sm:gap-8" style="--i:1"><h3 class="text-xl">Pricing specialist</h3><p class="text-muted">Price response models and discount rules. Previously set prices for a freight carrier.</p></li><li class="grid gap-2 py-7 sm:grid-cols-[14rem_1fr] sm:gap-8" style="--i:2"><h3 class="text-xl">Analytics engineer</h3><p class="text-muted">SQL, dbt and warehouses. Builds the checks and jobs you keep after we leave.</p></li><li class="grid gap-2 py-7 sm:grid-cols-[14rem_1fr] sm:gap-8" style="--i:3"><h3 class="text-xl">Reporting lead</h3><p class="text-muted">Metric definitions and dashboards. Writes the glossary your finance lead signs.</p></li><li class="grid gap-2 py-7 sm:grid-cols-[14rem_1fr] sm:gap-8" style="--i:4"><h3 class="text-xl">Office manager</h3><p class="text-muted">Scheduling, contracts and invoices. The person who answers the phone.</p></li></ul></div></section><section class="section pt-0" aria-labelledby="terms-title"><div class="container-x"><div class="max-w-3xl"><h2 id="terms-title" class="h-section"><span class="dim">How we </span><span class="hl">charge</span></h2><span class="rule mt-10" aria-hidden="true"></span></div><ul class="stagger mt-14 grid gap-6 md:grid-cols-3"><li class="card p-7" style="--i:0"><h3 class="text-xl">Fixed price per phase</h3><p class="mt-3 text-muted">You get a price for the diagnostic, then a price for the project. If the scope changes, the price changes in writing before we continue.</p></li><li class="card p-7" style="--i:1"><h3 class="text-xl">The diagnostic is credited</h3><p class="mt-3 text-muted">The two-week diagnostic costs $4,800. If you go ahead with the project within three months, we take it off the project price.</p></li><li class="card p-7" style="--i:2"><h3 class="text-xl">No retainers</h3><p class="mt-3 text-muted">We invoice monthly against the agreed phases. When the work is done, the invoices stop.</p></li></ul></div></section><section class="pb-24 lg:pb-36" aria-labelledby="no-title"><div class="container-x"><div class="reveal rounded-3xl bg-accent p-8 text-accent-text sm:p-12 lg:p-16"><h2 id="no-title" class="h-section">Work we turn down</h2><ul class="mt-10 grid gap-4 text-lg sm:grid-cols-2"><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0" aria-hidden="true" focusable="false"><path d="M6 6l12 12M18 6 6 18"/></svg><span>Projects without one person on your side who owns the result</span></li><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0" aria-hidden="true" focusable="false"><path d="M6 6l12 12M18 6 6 18"/></svg><span>Licensing a platform you would have to keep paying for</span></li><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0" aria-hidden="true" focusable="false"><path d="M6 6l12 12M18 6 6 18"/></svg><span>Strategy decks with no numbers behind them</span></li><li class="flex gap-3"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-0.5 shrink-0" aria-hidden="true" focusable="false"><path d="M6 6l12 12M18 6 6 18"/></svg><span>Work for two competitors in the same market at the same time</span></li></ul><a href="/contact/#enquiry" class="btn btn-dark btn-lg mt-12">Book a call</a></div></div></section>
<!-- /wp:html -->]]></content:encoded>
  <excerpt:encoded><![CDATA[]]></excerpt:encoded>
  <wp:post_id>6</wp:post_id>
  <wp:post_date>2026-10-15 12:00:00</wp:post_date>
  <wp:post_date_gmt>2026-10-15 12:00:00</wp:post_date_gmt>
  <wp:post_modified>2026-10-15 12:00:00</wp:post_modified>
  <wp:post_modified_gmt>2026-10-15 12:00:00</wp:post_modified_gmt>
  <wp:comment_status>closed</wp:comment_status>
  <wp:ping_status>closed</wp:ping_status>
  <wp:post_name>about</wp:post_name>
  <wp:status>publish</wp:status>
  <wp:post_parent>0</wp:post_parent>
  <wp:menu_order>0</wp:menu_order>
  <wp:post_type>page</wp:post_type>
  <wp:post_password/>
  <wp:is_sticky>0</wp:is_sticky>
  <wp:postmeta>
    <wp:meta_key>_wp_page_template</wp:meta_key>
    <wp:meta_value><![CDATA[page-full]]></wp:meta_value>
  </wp:postmeta>
</item>
<item>
  <title><![CDATA[Contact]]></title>
  <link>https://example.com/contact/</link>
  <pubDate>Thu, 15 Oct 2026 12:00:00 +0000</pubDate>
  <guid isPermaLink="false">https://example.com/contact/</guid>
  <description/>
  <content:encoded><![CDATA[<!-- wp:html -->
<header class="container-x pt-16 pb-6 sm:pt-24 lg:pt-28"><h1 class="h-display load-in max-w-4xl"><span class="dim">Tell us about the </span><span class="hl">decision</span></h1><p class="load-in mt-8 max-w-2xl text-xl leading-relaxed" style="--d:1">A few lines are enough: what you need to decide, by when, and where your data lives today.</p><span class="rule load-in mt-10" style="--d:2" aria-hidden="true"></span></header><section class="pt-10 pb-24 lg:pb-36" data-astro-cid-6bfsojfh><div class="container-x grid gap-14 lg:grid-cols-12 lg:gap-16" data-astro-cid-6bfsojfh><div id="enquiry" class="scroll-mt-28 lg:col-span-7" data-astro-cid-6bfsojfh><h2 class="sr-only" data-astro-cid-6bfsojfh>Contact form</h2><div class="form-card card relative p-5 sm:p-8" data-astro-cid-vekgkm42><!-- /wp:html -->
<!-- wp:formgong/form {"template":"orrery"} /-->
<!-- wp:html --></div></div><aside class="lg:col-span-5" aria-labelledby="details-title" data-astro-cid-6bfsojfh><h2 id="details-title" class="text-2xl font-light" data-astro-cid-6bfsojfh>Other ways to reach us</h2><ul class="mt-6 space-y-4 text-lg" data-astro-cid-6bfsojfh><li data-astro-cid-6bfsojfh><a href="mailto:hello@example.com" class="contact-link" data-astro-cid-6bfsojfh><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon text-accent" aria-hidden="true" focusable="false"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m3.8 7 8.2 6.2L20.2 7"/></svg>hello@example.com</a></li><li data-astro-cid-6bfsojfh><a href="tel:+15555550167" class="contact-link" data-astro-cid-6bfsojfh><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon text-accent" aria-hidden="true" focusable="false"><path d="M5 4h3.2l1.6 4.2-2.1 1.4a11.5 11.5 0 0 0 6.7 6.7l1.4-2.1 4.2 1.6V19a1.6 1.6 0 0 1-1.7 1.6A16 16 0 0 1 3.4 5.7 1.6 1.6 0 0 1 5 4z"/></svg>(555) 555-0167</a></li><li class="flex gap-3" data-astro-cid-6bfsojfh><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon mt-1 shrink-0 text-accent" aria-hidden="true" focusable="false"><path d="M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z"/><circle cx="12" cy="9.5" r="2.5"/></svg><span data-astro-cid-6bfsojfh>18 Wharf Lane, Suite 4<br data-astro-cid-6bfsojfh>Port Alder, WA 98000</span></li></ul><p class="mt-6 text-muted" data-astro-cid-6bfsojfh>United States and Canada, remote first.</p><h2 class="mt-12 text-2xl font-light" data-astro-cid-6bfsojfh>Office hours</h2><dl class="mt-5 space-y-2" data-astro-cid-6bfsojfh><div class="flex justify-between gap-4 border-b border-line pb-2" data-astro-cid-6bfsojfh><dt class="text-muted" data-astro-cid-6bfsojfh>Mon – Fri</dt><dd data-astro-cid-6bfsojfh>09:00 – 17:30</dd></div><div class="flex justify-between gap-4 border-b border-line pb-2" data-astro-cid-6bfsojfh><dt class="text-muted" data-astro-cid-6bfsojfh>Sat – Sun</dt><dd data-astro-cid-6bfsojfh>Closed</dd></div></dl><p class="mt-4 text-sm text-muted" data-astro-cid-6bfsojfh>We answer every enquiry within one working day.</p><h2 class="mt-12 text-2xl font-light" data-astro-cid-6bfsojfh>What happens next</h2><ol class="mt-6 space-y-5" data-astro-cid-6bfsojfh><li class="flex gap-4" data-astro-cid-6bfsojfh><span class="grid size-8 shrink-0 place-items-center rounded-full bg-accent text-sm text-accent-text" data-astro-cid-6bfsojfh>1</span><span class="text-muted" data-astro-cid-6bfsojfh>One of us reads your message and replies within one working day.</span></li><li class="flex gap-4" data-astro-cid-6bfsojfh><span class="grid size-8 shrink-0 place-items-center rounded-full bg-accent text-sm text-accent-text" data-astro-cid-6bfsojfh>2</span><span class="text-muted" data-astro-cid-6bfsojfh>We book a 30-minute call to hear the decision and look at what data you have.</span></li><li class="flex gap-4" data-astro-cid-6bfsojfh><span class="grid size-8 shrink-0 place-items-center rounded-full bg-accent text-sm text-accent-text" data-astro-cid-6bfsojfh>3</span><span class="text-muted" data-astro-cid-6bfsojfh>If data can help, you get a written price for the two-week diagnostic. If it can&#39;t, we say so on the call.</span></li></ol></aside></div></section>
<!-- /wp:html -->]]></content:encoded>
  <excerpt:encoded><![CDATA[]]></excerpt:encoded>
  <wp:post_id>7</wp:post_id>
  <wp:post_date>2026-10-15 12:00:00</wp:post_date>
  <wp:post_date_gmt>2026-10-15 12:00:00</wp:post_date_gmt>
  <wp:post_modified>2026-10-15 12:00:00</wp:post_modified>
  <wp:post_modified_gmt>2026-10-15 12:00:00</wp:post_modified_gmt>
  <wp:comment_status>closed</wp:comment_status>
  <wp:ping_status>closed</wp:ping_status>
  <wp:post_name>contact</wp:post_name>
  <wp:status>publish</wp:status>
  <wp:post_parent>0</wp:post_parent>
  <wp:menu_order>0</wp:menu_order>
  <wp:post_type>page</wp:post_type>
  <wp:post_password/>
  <wp:is_sticky>0</wp:is_sticky>
  <wp:postmeta>
    <wp:meta_key>_wp_page_template</wp:meta_key>
    <wp:meta_value><![CDATA[page-full]]></wp:meta_value>
  </wp:postmeta>
</item>
<item>
  <title><![CDATA[Thanks]]></title>
  <link>https://example.com/thanks/</link>
  <pubDate>Thu, 15 Oct 2026 12:00:00 +0000</pubDate>
  <guid isPermaLink="false">https://example.com/thanks/</guid>
  <description/>
  <content:encoded><![CDATA[<!-- wp:html -->
<section class="container-x py-20 sm:py-28"><div class="mx-auto max-w-2xl text-center"><span class="mx-auto grid size-20 place-items-center rounded-full bg-accent text-accent-text"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon" aria-hidden="true" focusable="false"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg></span><h1 class="h-display mt-10"><span class="dim">We have</span> <span class="hl">your message</span></h1><p class="lead mt-6">What happens next:</p></div><ol class="stagger mx-auto mt-12 grid max-w-2xl gap-4"><li class="card flex items-center gap-5 p-5 sm:p-6" style="--i:0"><span class="grid size-10 shrink-0 place-items-center rounded-full bg-accent text-accent-text">1</span><span>One of us reads your message today or on the next working day.</span></li><li class="card flex items-center gap-5 p-5 sm:p-6" style="--i:1"><span class="grid size-10 shrink-0 place-items-center rounded-full bg-accent text-accent-text">2</span><span>We reply by email with two or three times for a 30-minute call.</span></li><li class="card flex items-center gap-5 p-5 sm:p-6" style="--i:2"><span class="grid size-10 shrink-0 place-items-center rounded-full bg-accent text-accent-text">3</span><span>On the call we tell you whether data can help, and what the diagnostic would cost.</span></li></ol><div class="mx-auto mt-12 flex max-w-2xl flex-col justify-center gap-3 sm:flex-row"><a href="/" class="btn btn-secondary btn-lg">Back to the home page</a><a href="tel:+15555550167" class="btn btn-primary btn-lg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon" aria-hidden="true" focusable="false"><path d="M5 4h3.2l1.6 4.2-2.1 1.4a11.5 11.5 0 0 0 6.7 6.7l1.4-2.1 4.2 1.6V19a1.6 1.6 0 0 1-1.7 1.6A16 16 0 0 1 3.4 5.7 1.6 1.6 0 0 1 5 4z"/></svg> (555) 555-0167</a></div></section>
<!-- /wp:html -->]]></content:encoded>
  <excerpt:encoded><![CDATA[]]></excerpt:encoded>
  <wp:post_id>8</wp:post_id>
  <wp:post_date>2026-10-15 12:00:00</wp:post_date>
  <wp:post_date_gmt>2026-10-15 12:00:00</wp:post_date_gmt>
  <wp:post_modified>2026-10-15 12:00:00</wp:post_modified>
  <wp:post_modified_gmt>2026-10-15 12:00:00</wp:post_modified_gmt>
  <wp:comment_status>closed</wp:comment_status>
  <wp:ping_status>closed</wp:ping_status>
  <wp:post_name>thanks</wp:post_name>
  <wp:status>publish</wp:status>
  <wp:post_parent>0</wp:post_parent>
  <wp:menu_order>0</wp:menu_order>
  <wp:post_type>page</wp:post_type>
  <wp:post_password/>
  <wp:is_sticky>0</wp:is_sticky>
  <wp:postmeta>
    <wp:meta_key>_wp_page_template</wp:meta_key>
    <wp:meta_value><![CDATA[page-full]]></wp:meta_value>
  </wp:postmeta>
</item>
  </channel>
</rss>
