---
title: "Fractional Head of Data"
lang: en
draft: false
page-layout: full
title-block-banner: false
include-in-header:
text: |
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=IBM+Plex+Mono:wght@400;600&family=Source+Serif+4:wght@300;400&display=swap" rel="stylesheet">
<style>
body,
.quarto-container, #quarto-content,
.page-layout-full, main.content {
background: #0d1117 !important;
color: #e8e0d5 !important;
font-family: 'Source Serif 4', serif !important;
}
#title-block-header { display: none !important; }
h1,h2,h3,h4,h5 { color: #f0ebe3 !important; font-family: 'Playfair Display', serif !important; }
.en-nav {
display: flex; flex-wrap: wrap; align-items: center;
gap: 0.25rem 0; padding: 0.75rem 1.5rem;
border-bottom: 1px solid rgba(232,224,213,0.1);
background: rgba(13,17,23,0.97);
font-family: 'IBM Plex Mono', monospace;
font-size: 0.72rem; letter-spacing: 0.08em;
}
.en-nav a { color: #857e76 !important; text-decoration: none !important; padding: 0.35rem 0.7rem; transition: color 0.2s; white-space: nowrap; }
.en-nav a:hover { color: #2a9d8f !important; }
.en-nav a.active { color: #f0ebe3 !important; }
.en-nav .nav-fi { margin-left: auto; color: #e63946 !important; padding-left: 1rem; }
.en-nav .nav-fi:hover { color: #f4a261 !important; }
.page-wrap { max-width: 1040px; margin: 0 auto; padding: 4rem 1.5rem 6rem; box-sizing: border-box; }
.page-label {
font-family: 'IBM Plex Mono', monospace !important; font-size: 0.68rem;
letter-spacing: 0.22em; text-transform: uppercase; color: #2a9d8f !important; margin-bottom: 1.2rem; display: block;
}
.frac-hero { display: grid; grid-template-columns: 1fr; gap: 3rem; margin-bottom: 4rem; }
@media (min-width: 760px) { .frac-hero { grid-template-columns: 1.1fr 0.9fr; gap: 5rem; align-items: center; } }
.hero-title {
font-family: 'Playfair Display', serif !important;
font-size: clamp(2rem, 6vw, 3.6rem) !important;
color: #f0ebe3 !important; line-height: 1.1; margin-bottom: 1.5rem;
}
.hero-title em { font-style: italic !important; color: #e63946 !important; }
.hero-body { color: #a09890 !important; font-size: 1rem; line-height: 1.82; margin-bottom: 2rem; }
.btn-primary {
display: inline-block; background: #e63946 !important; color: #fff !important;
padding: 0.85rem 1.8rem; font-family: 'IBM Plex Mono', monospace !important;
font-size: 0.78rem !important; letter-spacing: 0.06em;
text-decoration: none !important; border: none !important; border-radius: 0 !important;
width: auto; max-width: 90vw; word-break: break-word;
transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover { background: #c1121f !important; transform: translateY(-2px); color: #fff !important; }
.btn-secondary {
display: inline-block; background: transparent !important; color: #a09890 !important;
padding: 0.85rem 1.4rem; font-family: 'IBM Plex Mono', monospace !important;
font-size: 0.72rem !important; letter-spacing: 0.06em;
text-decoration: none !important; border: 1px solid rgba(160,152,144,0.3) !important; border-radius: 0 !important;
margin-left: 0.6rem; transition: color 0.2s, border-color 0.2s;
}
.btn-secondary:hover { color: #2a9d8f !important; border-color: #2a9d8f !important; }
.hero-aside { background: rgba(42,157,143,0.05); border: 1px solid rgba(42,157,143,0.15); padding: 2rem; }
.aside-item { margin-bottom: 1.5rem; }
.aside-item:last-child { margin-bottom: 0; }
.aside-num { font-family: 'IBM Plex Mono', monospace !important; font-size: 1.8rem; font-weight: 600; color: #2a9d8f !important; line-height: 1; display: block; }
.aside-desc { font-size: 0.86rem; color: #857e76 !important; line-height: 1.6; margin-top: 0.2rem; }
.section-label {
font-family: 'IBM Plex Mono', monospace !important; font-size: 0.65rem;
letter-spacing: 0.2em; text-transform: uppercase; color: #2a9d8f !important;
margin-bottom: 0.8rem; margin-top: 3.5rem; display: block;
}
.section-title {
font-family: 'Playfair Display', serif !important;
font-size: clamp(1.5rem, 3.5vw, 2.2rem) !important;
color: #f0ebe3 !important; margin-bottom: 1.5rem; line-height: 1.2;
}
.divider { border: none; border-top: 1px solid rgba(232,224,213,0.07) !important; margin: 3rem 0; }
.split { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 600px) { .split { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.split-col h3 { font-family: 'IBM Plex Mono', monospace !important; font-size: 0.68rem !important; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 1.2rem; }
.split-col.problem h3 { color: #e63946 !important; }
.split-col.solution h3 { color: #2a9d8f !important; }
.split-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.split-col ul li { padding: 0.65rem 0 0.65rem 1.2rem; border-bottom: 1px solid rgba(232,224,213,0.06); color: #a09890 !important; font-size: 0.92rem; line-height: 1.65; position: relative; }
.split-col ul li::before { content: '—'; position: absolute; left: 0; }
.split-col.problem ul li::before { color: #e63946; }
.split-col.solution ul li::before { color: #2a9d8f; }
.tier-grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: rgba(232,224,213,0.06); }
@media (min-width: 640px) { .tier-grid { grid-template-columns: repeat(3, 1fr); } }
.tier { background: #0d1117 !important; padding: 2rem 1.5rem; display: flex; flex-direction: column; }
.tier.featured { background: #0f1a24 !important; border-top: 2px solid #e63946; }
.tier-name { font-family: 'IBM Plex Mono', monospace !important; font-size: 0.65rem !important; letter-spacing: 0.14em; text-transform: uppercase; color: #457b9d !important; margin-bottom: 0.4rem; }
.tier.featured .tier-name { color: #e63946 !important; }
.tier-title { font-family: 'Playfair Display', serif !important; font-size: 1.3rem !important; color: #f0ebe3 !important; margin-bottom: 0.8rem; }
.tier-price { font-family: 'IBM Plex Mono', monospace !important; font-size: 0.74rem !important; color: #f4a261 !important; margin-bottom: 0.3rem; }
.tier-price-note { font-family: 'IBM Plex Mono', monospace !important; font-size: 0.62rem !important; color: #6b6560 !important; margin-bottom: 1.2rem; letter-spacing: 0.04em; }
.tier ul { list-style: none !important; padding: 0 !important; margin: 0 0 1.5rem !important; flex: 1; }
.tier ul li { font-size: 0.86rem; color: #857e76 !important; padding: 0.45rem 0 0.45rem 1rem; border-bottom: 1px solid rgba(232,224,213,0.05); position: relative; }
.tier ul li::before { content: '✓'; position: absolute; left: 0; color: #2a9d8f; font-size: 0.72rem; }
.tier-cta { font-family: 'IBM Plex Mono', monospace !important; font-size: 0.72rem !important; letter-spacing: 0.08em; color: #2a9d8f !important; text-decoration: none !important; margin-top: auto; }
.tier-cta:hover { color: #e63946 !important; }
.fit-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 700px) { .fit-grid { grid-template-columns: repeat(4, 1fr); } }
.fit-card { padding: 1.3rem; background: rgba(232,224,213,0.03) !important; border: 1px solid rgba(232,224,213,0.07); }
.fit-icon { font-size: 1.3rem; margin-bottom: 0.5rem; display: block; }
.fit-card h4 { font-family: 'Playfair Display', serif !important; font-size: 0.95rem !important; color: #e8e0d5 !important; margin-bottom: 0.4rem; }
.fit-card p { font-size: 0.82rem; color: #6b6560 !important; line-height: 1.6; margin: 0; }
.cta-block {
margin-top: 3rem; padding: 3rem 2rem;
background: linear-gradient(135deg, rgba(230,57,70,0.08) 0%, rgba(42,157,143,0.06) 100%) !important;
border: 1px solid rgba(232,224,213,0.08); text-align: center;
}
.cta-block h2 { font-family: 'Playfair Display', serif !important; font-size: clamp(1.5rem, 4vw, 2rem) !important; color: #f0ebe3 !important; margin-bottom: 1rem; }
.cta-block p { color: #a09890 !important; max-width: 460px; margin: 0 auto 2rem; line-height: 1.8; font-size: 0.95rem; }
.cta-block .btn-primary { display: inline-block !important; width: auto !important; font-size: 0.72rem !important; padding: 0.85rem 1.4rem !important; }
.cta-block .cta-email { display: block; margin-top: 1.2rem; font-family: 'IBM Plex Mono', monospace !important; font-size: 0.72rem !important; color: #857e76 !important; text-decoration: none !important; }
.cta-block .cta-email:hover { color: #2a9d8f !important; }
</style>
---
```{=html}
<nav class="en-nav">
<a href="/en/index.html">Home</a>
<a href="/en/about.html">About</a>
<a href="/en/work.html">Work</a>
<a href="/fractional/fractional.html" class="active">Fractional HoD</a>
<a href="/" class="nav-fi">🇫🇮 Suomeksi</a>
</nav>
<div class="page-wrap">
<span class="page-label">Service</span>
<div class="frac-hero">
<div>
<h1 class="hero-title">Senior data leadership.<br><em>Without the headcount.</em></h1>
<p class="hero-body">
Your SME generates data. It shapes your customers, your risk, your operations.
But hiring a full-time Head of Data or Chief Data Officer is expensive,
premature, and often the wrong fit at your stage.
<br><br>
I work with you one or two days a week — embedded in your team,
aligned to your goals — bringing the statistical rigour and open-data
methodology of a senior data scientist without the full-time cost.
</p>
<a href="https://cal.com/kristianvepsalainen/intro" class="btn-primary">Book a free 20-min call →</a>
<a href="mailto:kristian.vepsalainen@proton.me" class="btn-secondary">Or email me</a>
</div>
<aside class="hero-aside">
<div class="aside-item">
<span class="aside-num">10+</span>
<div class="aside-desc">years statistical practice across health, finance, and research</div>
</div>
<div class="aside-item">
<span class="aside-num">FM + MEng</span>
<div class="aside-desc">Mathematics & Cybersecurity</div>
</div>
<div class="aside-item">
<span class="aside-num">7+</span>
<div class="aside-desc">peer-reviewed publications as co-author or primary analyst</div>
</div>
<div class="aside-item">
<span class="aside-num">Open</span>
<div class="aside-desc">data first — public datasets as competitive intelligence</div>
</div>
</aside>
</div>
<hr class="divider">
<span class="section-label">The gap</span>
<h2 class="section-title">What SMEs face. What I solve.</h2>
<div class="split">
<div class="split-col problem">
<h3>The problem</h3>
<ul>
<li>Data piling up with no systematic analysis</li>
<li>Dashboards that show what happened, not why</li>
<li>No capacity to build forecasting or risk models</li>
<li>Regulatory and public data going unmonitored</li>
<li>Decisions made on point estimates — no uncertainty quantified</li>
</ul>
</div>
<div class="split-col solution">
<h3>What I bring</h3>
<ul>
<li>Bayesian models that expose uncertainty explicitly</li>
<li>Open data synthesis as competitive intelligence</li>
<li>Probabilistic forecasting with confidence bounds</li>
<li>Data strategy aligned to business decisions</li>
<li>Research-grade analysis at consultancy speed</li>
</ul>
</div>
</div>
<hr class="divider">
<span class="section-label">Engagement models</span>
<h2 class="section-title">How we work together.</h2>
<div class="tier-grid">
<div class="tier">
<div class="tier-name">Diagnostic</div>
<div class="tier-title">Data Audit</div>
<div class="tier-price">From €3,500 + VAT</div>
<div class="tier-price-note">Fixed scope · 2–4 weeks</div>
<ul>
<li>Map current data assets and gaps</li>
<li>Identify top three analytical opportunities</li>
<li>Prioritised roadmap with effort/impact estimates</li>
<li>Written report + presentation</li>
</ul>
<a href="https://cal.com/kristianvepsalainen/intro" class="tier-cta">Enquire →</a>
</div>
<div class="tier featured">
<div class="tier-name">Core offering</div>
<div class="tier-title">Fractional Head of Data</div>
<div class="tier-price">From €1,200 + VAT / day</div>
<div class="tier-price-note">1–2 days/week · rolling</div>
<ul>
<li>Embedded strategic data partner</li>
<li>Model building, forecasting, Bayesian inference</li>
<li>Open data monitoring for your sector</li>
<li>Team mentoring and methodology review</li>
<li>Monthly decision-support reports</li>
<li>Async availability between days</li>
</ul>
<a href="https://cal.com/kristianvepsalainen/intro" class="tier-cta">Start the conversation →</a>
</div>
<div class="tier">
<div class="tier-name">Project</div>
<div class="tier-title">Defined Analysis</div>
<div class="tier-price">From €2,500 + VAT</div>
<div class="tier-price-note">Scoped per project</div>
<ul>
<li>One focused deliverable: model, forecast, or analysis</li>
<li>Suitable for academic collaborations</li>
<li>Publication-ready output</li>
<li>Full code and documentation handover</li>
</ul>
<a href="https://cal.com/kristianvepsalainen/intro" class="tier-cta">Enquire →</a>
</div>
</div>
<hr class="divider">
<span class="section-label">Best fit</span>
<h2 class="section-title">Who this is for.</h2>
<div class="fit-grid">
<div class="fit-card">
<span class="fit-icon">🏥</span>
<h4>Healthcare & pharma</h4>
<p>Register data, clinical outcomes, patient flow modelling, regulatory analytics.</p>
</div>
<div class="fit-card">
<span class="fit-icon">⚖️</span>
<h4>Legal & policy</h4>
<p>Legislative analytics, EU directive tracking, regulatory change modelling.</p>
</div>
<div class="fit-card">
<span class="fit-icon">🔬</span>
<h4>Research orgs</h4>
<p>Academic collaboration, statistical analysis for publications, open data methodology.</p>
</div>
<div class="fit-card">
<span class="fit-icon">📊</span>
<h4>Data-generating SMEs</h4>
<p>Any organisation with data but no internal senior statistical capacity.</p>
</div>
</div>
<div class="cta-block">
<h2>Let's find out if this fits.</h2>
<p>
The first conversation costs nothing. We discuss your data, your decisions,
and whether a fractional engagement makes sense for your stage.
</p>
<a href="https://cal.eu/kristianvepsalainen" class="btn-primary">
Book a free 20-min call →
</a>
<a href="mailto:kristian.vepsalainen@proton.me" class="cta-email">
or email kristian.vepsalainen@proton.me
</a>
</div>
</div>
```