---
title: "The World Is a Distribution"
subtitle: "Data Science & 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; }
/* ── Nav strip ── */
.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 sections ── */
.hero-section {
min-height: 78vh; display: flex; flex-direction: column;
justify-content: center; padding: 4rem 1.5rem;
position: relative; overflow: hidden; box-sizing: border-box;
}
.hero-label {
font-family: 'IBM Plex Mono', monospace; font-size: 0.68rem;
letter-spacing: 0.18em; text-transform: uppercase;
color: #2a9d8f !important; margin-bottom: 1.5rem;
animation: fadeUp 0.6s ease both;
}
.hero-title {
font-family: 'Playfair Display', serif !important;
font-size: clamp(2.4rem, 9vw, 5.5rem) !important;
font-weight: 700; line-height: 1.08; color: #f0ebe3 !important;
max-width: 820px; margin-bottom: 1.5rem;
animation: fadeUp 0.6s 0.1s ease both;
}
.hero-title em { font-style: italic !important; color: #e63946 !important; }
.hero-sub {
font-size: clamp(0.92rem, 2.5vw, 1.12rem); font-weight: 300;
color: #a09890 !important; max-width: 540px; line-height: 1.75;
margin-bottom: 2.5rem; animation: fadeUp 0.6s 0.2s ease both;
}
.hero-cta { display: flex; gap: 0.75rem; flex-wrap: wrap; animation: fadeUp 0.6s 0.3s ease both; }
.btn-primary {
background: #e63946 !important; color: #fff !important;
padding: 0.8rem 1.6rem; 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;
white-space: nowrap; transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover { background: #c1121f !important; transform: translateY(-2px); color: #fff !important; }
.btn-ghost {
background: transparent; color: #e8e0d5 !important; padding: 0.8rem 1.6rem;
font-family: 'IBM Plex Mono', monospace !important; font-size: 0.78rem !important;
letter-spacing: 0.06em; text-decoration: none !important;
border: 1px solid rgba(232,224,213,0.25) !important;
white-space: nowrap; transition: border-color 0.2s, transform 0.15s;
}
.btn-ghost:hover { border-color: #2a9d8f !important; color: #2a9d8f !important; transform: translateY(-2px); }
.section { padding: 4rem 1.5rem; max-width: 1060px; margin: 0 auto; box-sizing: border-box; }
.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; display: block;
}
.section-title {
font-family: 'Playfair Display', serif !important;
font-size: clamp(1.6rem, 4vw, 2.6rem) !important;
color: #f0ebe3 !important; margin-bottom: 1.5rem; line-height: 1.2;
}
.stats-row {
display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem;
padding: 2.5rem 0;
border-top: 1px solid rgba(232,224,213,0.08);
border-bottom: 1px solid rgba(232,224,213,0.08);
}
@media (min-width: 600px) { .stats-row { grid-template-columns: repeat(4, 1fr); } }
.stat-num {
font-family: 'Playfair Display', serif !important;
font-size: clamp(1.5rem, 5vw, 2.4rem); color: #f4a261 !important; display: block;
}
.stat-label {
font-family: 'IBM Plex Mono', monospace; font-size: 0.6rem;
letter-spacing: 0.1em; color: #6b6560 !important; text-transform: uppercase; margin-top: 0.3rem;
}
.pillar-grid {
display: grid; grid-template-columns: 1fr; gap: 1px;
background: rgba(232,224,213,0.06); margin-top: 2rem;
}
@media (min-width: 600px) { .pillar-grid { grid-template-columns: repeat(2, 1fr); } }
.pillar { background: #0d1117 !important; padding: 2rem 1.5rem; }
.pillar-num {
font-family: 'IBM Plex Mono', monospace; font-size: 2rem; font-weight: 600;
color: rgba(230,57,70,0.18) !important; line-height: 1; margin-bottom: 0.8rem;
}
.pillar h3 { font-family: 'Playfair Display', serif !important; font-size: 1.1rem !important; color: #f0ebe3 !important; margin-bottom: 0.6rem; }
.pillar p { font-size: 0.88rem; color: #857e76 !important; line-height: 1.7; margin: 0; }
.quote-block {
border-left: 3px solid #e63946; padding: 1.5rem 2rem;
margin: 3rem 0; background: rgba(230,57,70,0.04);
}
.quote-block p {
font-family: 'Playfair Display', serif !important; font-style: italic;
font-size: clamp(1rem, 3vw, 1.3rem) !important; color: #d4ccc4 !important; line-height: 1.6; margin: 0 0 0.8rem;
}
.quote-block cite { font-family: 'IBM Plex Mono', monospace; font-size: 0.68rem; color: #2a9d8f !important; }
@keyframes fadeUp {
from { opacity: 0; transform: translateY(16px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
---
```{=html}
<nav class="en-nav">
<a href="/en/index.html" class="active">Home</a>
<a href="/en/about.html">About</a>
<a href="/en/work.html">Work</a>
<a href="/fractional/fractional.html">Fractional HoD</a>
<a href="/whitepapers.html">Whitepapers</a>
<a href="/talks.html">Talks</a>
<a href="/" class="nav-fi">🇫🇮 Suomeksi</a>
</nav>
<section class="hero-section">
<div class="hero-label">Kristian Vepsäläinen — Data Science</div>
<h1 class="hero-title">The world is<br><em>a distribution.</em></h1>
<p class="hero-sub">
Point estimates lie. Averages mislead. The shape of uncertainty
is where real understanding lives — and where competitive advantage hides.
</p>
<div class="hero-cta">
<a href="/fractional/fractional.html" class="btn-primary">Fractional Head of Data →</a>
<a href="/en/work.html" class="btn-ghost">See the analyses</a>
</div>
</section>
<section class="section">
<div class="stats-row">
<div class="stat-item" style="text-align:center">
<span class="stat-num">5+</span>
<span class="stat-label">Publications</span>
</div>
<div class="stat-item" style="text-align:center">
<span class="stat-num">10+</span>
<span class="stat-label">Years practice</span>
</div>
<div class="stat-item" style="text-align:center">
<span class="stat-num">FM+MEng</span>
<span class="stat-label">Math & Security</span>
</div>
<div class="stat-item" style="text-align:center">
<span class="stat-num">Open</span>
<span class="stat-label">Data first</span>
</div>
</div>
</section>
<section class="section">
<span class="section-label">What I do</span>
<h2 class="section-title">Distributional thinking<br>applied to real decisions.</h2>
<p style="color:#a09890 !important; max-width:600px; line-height:1.8; font-size:1rem;">
I combine public datasets — legislation, labour markets, health registries,
EU open data — with Bayesian methods, changepoint models, and simulation
to produce analyses that domain experts cannot replicate without data science skills.
</p>
<div class="pillar-grid">
<div class="pillar">
<div class="pillar-num">01</div>
<h3>Bayesian inference</h3>
<p>Posterior distributions over parameters, not p-values. Uncertainty quantified, not hidden.</p>
</div>
<div class="pillar">
<div class="pillar-num">02</div>
<h3>Open data synthesis</h3>
<p>Semantic Finlex, Eurostat, StatFin, EurLex — combined in ways no single-discipline analyst can.</p>
</div>
<div class="pillar">
<div class="pillar-num">03</div>
<h3>Forecasting & simulation</h3>
<p>Monte Carlo, generative models, changepoint detection. Predictions with explicit confidence bounds.</p>
</div>
<div class="pillar">
<div class="pillar-num">04</div>
<h3>Fractional leadership</h3>
<p>SMEs get a senior data strategy partner without hiring a full-time CDO. One day a week, full expertise.</p>
</div>
</div>
</section>
<section class="section">
<div class="quote-block">
<p>"A single number — an average, a headline figure, a point forecast — is not an answer. It is a question about which distribution produced it."</p>
<cite>— Kristian Vepsäläinen, maailma on jakauma</cite>
</div>
</section>
<section class="section" style="text-align:center; padding-bottom:6rem;">
<span class="section-label">Next step</span>
<h2 class="section-title">Let's talk about your data.</h2>
<p style="color:#a09890 !important; max-width:460px; margin:0 auto 2rem; line-height:1.8; font-size:0.95rem;">
Whether you need a specific analysis or a fractional data science partner —
the first conversation is free.
</p>
<a href="mailto:kristian.vepsalainen@proton.me" class="btn-primary">kristian.vepsalainen@proton.me</a>
</section>
```