Kristian Vepsäläinen – Maailma on jakauma
  • Etusivu
  • Palvelut
  • Fractional Head of Data
  • Blogi
  • Whitepapers
  • Talks
  • Minusta
  • 🇬🇧 EN
  • Ota yhteyttä

Palvelut ja hinnoittelu

Etusivu Palvelut Fractional Head of Data Blogi Minusta 🇬🇧 EN
Palvelut

Avoin data
kilpailuetuna.

Autan yrityksiä ja organisaatioita löytämään ja hyödyntämään avointa dataa päätöksenteossa. Työni yhdistää avoimen datan kartoituksen, tilastollisen analyysin ja liiketoimintalähtöisen tulkinnan.

Lopputulos on konkreettinen: parempi ymmärrys markkinasta, riskeistä tai kasvumahdollisuuksista — ja se, mitä päätöksissä ei vielä tiedetä.

Varaa maksuton 20 min puhelu → Tai laita sähköpostia
10+
vuotta tilastollista työtä terveys-, finanssi- ja tutkimusaloilla
FM + MEng
matematiikka & kyberturvallisuus
7+
vertaisarvioitua julkaisua kanssakirjoittajana tai pääanalyytikkona
Avoin
data edellä — julkiset aineistot kilpailutietona

Erityisosaaminen

Mitä ratkaisen.

Tyypillinen tilanne

  • Dataa kertyy ilman järjestelmällistä analyysiä
  • Mittarit kertovat mitä tapahtui, ei miksi
  • Ei kapasiteettia rakentaa ennuste- tai riskimalleja
  • Sääntely- ja julkista dataa jää seuraamatta
  • Päätökset pistearvojen varassa — epävarmuutta ei mitata

Mitä tuon

  • Bayeslaiset mallit, jotka tekevät epävarmuuden näkyväksi
  • Avoimen datan ja OSINTin yhdistely kilpailutiedoksi
  • Todennäköisyyspohjaiset ennusteet luottamusväleineen
  • Datastrategia kytkettynä liiketoiminnan päätöksiin
  • Tutkimustason analyysi konsultointinopeudella

Palvelupaketit

Miten työskennellään yhdessä.

Diagnoosi
Avoimen datan kartoitus
Alkaen 3 500 € + alv
Kiinteä hinta · 2–4 viikkoa
  • Organisaation kysymyksen tai ongelman määrittely
  • Avoimen datan ja OSINT-lähteiden kartoitus
  • Alustava analyysi ja visualisointi
  • Keskeiset havainnot ja suositukset
  • Kirjallinen raportti + etäesitys
Kysy lisää →
Ydinpalvelu
Fractional Head of Data
Alkaen 1 200 € + alv / pv
1–2 pv/vko · jatkuva
  • Datastrategian rakentaminen ja ylläpito
  • Mallien rakentaminen, ennustaminen, bayeslainen päättely
  • Toimialasi avoimen datan seuranta
  • Sisäisen datatiimin ohjaus ja sparraus
  • Kuukausittainen johdon raportointi — epävarmuus mukaan luettuna
  • Tavoitettavuus sovittujen päivien välissä
Aloita keskustelu →
Projekti
Strateginen analyysi
Alkaen 2 500 € + alv
Hinnoitellaan projektikohtaisesti
  • Yksi rajattu lopputulos: malli, ennuste tai analyysi
  • Sopii myös akateemisiin yhteistyöhankkeisiin
  • Julkaisukelpoinen lopputulos
  • Replikoitava koodi ja dokumentaatio luovutetaan
Kysy lisää →

Sopii erityisesti

Kenelle tämä on.

🏥

Terveys & lääke

Rekisteridata, kliiniset tulokset, potilasvirtojen mallinnus, sääntelyanalytiikka.

⚖️

Oikeus & politiikka

Lainsäädännön analytiikka, EU-direktiivien seuranta, sääntelymuutosten mallinnus.

🔬

Tutkimusorganisaatiot

Akateeminen yhteistyö, tilastollinen analyysi julkaisuihin, avoimen datan menetelmät.

📊

Dataa tuottavat pk-yritykset

Organisaatiot, joilla on dataa mutta ei sisäistä senior-tason tilasto-osaamista.


Toimitusehdot

Näin sovitaan.

Tarjous
Jokainen projekti käynnistyy kirjallisella tarjouksella ja tilausvahvistuksella, joka sisältää työn laajuuden, aikataulun ja hinnan.
Maksuehdot
14 päivää laskun päiväyksestä. Projektit laskutetaan yleensä kahdessa erässä (50 % alussa, 50 % valmistuessa); Fractional Head of Data kuukausittain.
Asiakkaan vastuut
Asiakas toimittaa olennaiset tiedot ja taustamateriaalit sovitussa aikataulussa. Aikataulu voi muuttua, jos tietoja ei ole saatavilla.
Avoin data
Analyysit perustuvat pääosin avoimiin ja julkisiin lähteisiin, jotka dokumentoidaan raportissa mahdollisimman läpinäkyvästi.
Immateriaali­oikeudet
Asiakas saa oikeuden käyttää tuloksia omassa toiminnassaan. Menetelmät, koodi ja yleinen osaaminen jäävät palveluntarjoajan käyttöön, ellei toisin sovita.
Vastuun rajaus
Analyysit perustuvat saatavilla olevaan dataan ja parhaaseen asiantuntija-arvioon. Tuloksia ei tule tulkita sitovina ennusteina tai taloudellisina suosituksina. Vastuu rajoittuu projektin arvoon.
Luottamuksellisuus
Kaikki asiakkaalta saatu tieto käsitellään luottamuksellisesti.

Selvitetään, sopiiko tämä.

Ensimmäinen keskustelu ei maksa mitään. Käydään läpi datasi, päätöksesi ja se, onko avoimesta datasta hyötyä organisaatiosi päätöksenteossa.

Varaa maksuton 20 min puhelu → tai sähköpostitse kristian.vepsalainen@proton.me
Lähdekoodi
---
title: "Palvelut ja hinnoittelu"
lang: fi
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(2, 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; }
      .terms { margin-top: 1rem; }
      .terms-row { display: grid; grid-template-columns: 1fr; gap: 0.4rem 2rem; padding: 1.1rem 0; border-bottom: 1px solid rgba(232,224,213,0.06); }
      @media (min-width: 640px) { .terms-row { grid-template-columns: 0.4fr 1fr; } }
      .terms-row dt { font-family: 'IBM Plex Mono', monospace !important; font-size: 0.7rem !important; letter-spacing: 0.08em; text-transform: uppercase; color: #457b9d !important; }
      .terms-row dd { margin: 0; color: #a09890 !important; font-size: 0.9rem; line-height: 1.7; }
      .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="/index.html">Etusivu</a>
  <a href="/pricing.html" class="active">Palvelut</a>
  <a href="/fractional/fractional.html">Fractional Head of Data</a>
  <a href="/blog.html">Blogi</a>
  <a href="/about.html">Minusta</a>
  <a href="/en/index.html" class="nav-fi">🇬🇧 EN</a>
</nav>

<div class="page-wrap">
  <span class="page-label">Palvelut</span>

  <div class="frac-hero">
    <div>
      <h1 class="hero-title">Avoin data<br><em>kilpailuetuna.</em></h1>
      <p class="hero-body">
        Autan yrityksiä ja organisaatioita löytämään ja hyödyntämään avointa
        dataa päätöksenteossa. Työni yhdistää avoimen datan kartoituksen,
        tilastollisen analyysin ja liiketoimintalähtöisen tulkinnan.
        <br><br>
        Lopputulos on konkreettinen: parempi ymmärrys markkinasta, riskeistä
        tai kasvumahdollisuuksista — ja se, mitä päätöksissä ei vielä tiedetä.
      </p>
      <a href="https://cal.com/kristianvepsalainen/intro" class="btn-primary">Varaa maksuton 20 min puhelu →</a>
      <a href="mailto:kristian.vepsalainen@proton.me" class="btn-secondary">Tai laita sähköpostia</a>
    </div>
    <aside class="hero-aside">
      <div class="aside-item">
        <span class="aside-num">10+</span>
        <div class="aside-desc">vuotta tilastollista työtä terveys-, finanssi- ja tutkimusaloilla</div>
      </div>
      <div class="aside-item">
        <span class="aside-num">FM + MEng</span>
        <div class="aside-desc">matematiikka & kyberturvallisuus</div>
      </div>
      <div class="aside-item">
        <span class="aside-num">7+</span>
        <div class="aside-desc">vertaisarvioitua julkaisua kanssakirjoittajana tai pääanalyytikkona</div>
      </div>
      <div class="aside-item">
        <span class="aside-num">Avoin</span>
        <div class="aside-desc">data edellä — julkiset aineistot kilpailutietona</div>
      </div>
    </aside>
  </div>

  <hr class="divider">

  <span class="section-label">Erityisosaaminen</span>
  <h2 class="section-title">Mitä ratkaisen.</h2>
  <div class="split">
    <div class="split-col problem">
      <h3>Tyypillinen tilanne</h3>
      <ul>
        <li>Dataa kertyy ilman järjestelmällistä analyysiä</li>
        <li>Mittarit kertovat mitä tapahtui, ei miksi</li>
        <li>Ei kapasiteettia rakentaa ennuste- tai riskimalleja</li>
        <li>Sääntely- ja julkista dataa jää seuraamatta</li>
        <li>Päätökset pistearvojen varassa — epävarmuutta ei mitata</li>
      </ul>
    </div>
    <div class="split-col solution">
      <h3>Mitä tuon</h3>
      <ul>
        <li>Bayeslaiset mallit, jotka tekevät epävarmuuden näkyväksi</li>
        <li>Avoimen datan ja OSINTin yhdistely kilpailutiedoksi</li>
        <li>Todennäköisyyspohjaiset ennusteet luottamusväleineen</li>
        <li>Datastrategia kytkettynä liiketoiminnan päätöksiin</li>
        <li>Tutkimustason analyysi konsultointinopeudella</li>
      </ul>
    </div>
  </div>

  <hr class="divider">

  <span class="section-label">Palvelupaketit</span>
  <h2 class="section-title">Miten työskennellään yhdessä.</h2>
  <div class="tier-grid">
    <div class="tier">
      <div class="tier-name">Diagnoosi</div>
      <div class="tier-title">Avoimen datan kartoitus</div>
      <div class="tier-price">Alkaen 3 500 € + alv</div>
      <div class="tier-price-note">Kiinteä hinta · 2–4 viikkoa</div>
      <ul>
        <li>Organisaation kysymyksen tai ongelman määrittely</li>
        <li>Avoimen datan ja OSINT-lähteiden kartoitus</li>
        <li>Alustava analyysi ja visualisointi</li>
        <li>Keskeiset havainnot ja suositukset</li>
        <li>Kirjallinen raportti + etäesitys</li>
      </ul>
      <a href="https://cal.com/kristianvepsalainen/intro" class="tier-cta">Kysy lisää →</a>
    </div>
    <div class="tier featured">
      <div class="tier-name">Ydinpalvelu</div>
      <div class="tier-title">Fractional Head of Data</div>
      <div class="tier-price">Alkaen 1 200 € + alv / pv</div>
      <div class="tier-price-note">1–2 pv/vko · jatkuva</div>
      <ul>
        <li>Datastrategian rakentaminen ja ylläpito</li>
        <li>Mallien rakentaminen, ennustaminen, bayeslainen päättely</li>
        <li>Toimialasi avoimen datan seuranta</li>
        <li>Sisäisen datatiimin ohjaus ja sparraus</li>
        <li>Kuukausittainen johdon raportointi — epävarmuus mukaan luettuna</li>
        <li>Tavoitettavuus sovittujen päivien välissä</li>
      </ul>
      <a href="https://cal.com/kristianvepsalainen/intro" class="tier-cta">Aloita keskustelu →</a>
    </div>
    <div class="tier">
      <div class="tier-name">Projekti</div>
      <div class="tier-title">Strateginen analyysi</div>
      <div class="tier-price">Alkaen 2 500 € + alv</div>
      <div class="tier-price-note">Hinnoitellaan projektikohtaisesti</div>
      <ul>
        <li>Yksi rajattu lopputulos: malli, ennuste tai analyysi</li>
        <li>Sopii myös akateemisiin yhteistyöhankkeisiin</li>
        <li>Julkaisukelpoinen lopputulos</li>
        <li>Replikoitava koodi ja dokumentaatio luovutetaan</li>
      </ul>
      <a href="https://cal.com/kristianvepsalainen/intro" class="tier-cta">Kysy lisää →</a>
    </div>
  </div>

  <hr class="divider">

  <span class="section-label">Sopii erityisesti</span>
  <h2 class="section-title">Kenelle tämä on.</h2>
  <div class="fit-grid">
    <div class="fit-card">
      <span class="fit-icon">🏥</span>
      <h4>Terveys & lääke</h4>
      <p>Rekisteridata, kliiniset tulokset, potilasvirtojen mallinnus, sääntelyanalytiikka.</p>
    </div>
    <div class="fit-card">
      <span class="fit-icon">⚖️</span>
      <h4>Oikeus & politiikka</h4>
      <p>Lainsäädännön analytiikka, EU-direktiivien seuranta, sääntelymuutosten mallinnus.</p>
    </div>
    <div class="fit-card">
      <span class="fit-icon">🔬</span>
      <h4>Tutkimusorganisaatiot</h4>
      <p>Akateeminen yhteistyö, tilastollinen analyysi julkaisuihin, avoimen datan menetelmät.</p>
    </div>
    <div class="fit-card">
      <span class="fit-icon">📊</span>
      <h4>Dataa tuottavat pk-yritykset</h4>
      <p>Organisaatiot, joilla on dataa mutta ei sisäistä senior-tason tilasto-osaamista.</p>
    </div>
  </div>

  <hr class="divider">

  <span class="section-label">Toimitusehdot</span>
  <h2 class="section-title">Näin sovitaan.</h2>
  <dl class="terms">
    <div class="terms-row">
      <dt>Tarjous</dt>
      <dd>Jokainen projekti käynnistyy kirjallisella tarjouksella ja tilausvahvistuksella, joka sisältää työn laajuuden, aikataulun ja hinnan.</dd>
    </div>
    <div class="terms-row">
      <dt>Maksuehdot</dt>
      <dd>14 päivää laskun päiväyksestä. Projektit laskutetaan yleensä kahdessa erässä (50 % alussa, 50 % valmistuessa); Fractional Head of Data kuukausittain.</dd>
    </div>
    <div class="terms-row">
      <dt>Asiakkaan vastuut</dt>
      <dd>Asiakas toimittaa olennaiset tiedot ja taustamateriaalit sovitussa aikataulussa. Aikataulu voi muuttua, jos tietoja ei ole saatavilla.</dd>
    </div>
    <div class="terms-row">
      <dt>Avoin data</dt>
      <dd>Analyysit perustuvat pääosin avoimiin ja julkisiin lähteisiin, jotka dokumentoidaan raportissa mahdollisimman läpinäkyvästi.</dd>
    </div>
    <div class="terms-row">
      <dt>Immateriaali­oikeudet</dt>
      <dd>Asiakas saa oikeuden käyttää tuloksia omassa toiminnassaan. Menetelmät, koodi ja yleinen osaaminen jäävät palveluntarjoajan käyttöön, ellei toisin sovita.</dd>
    </div>
    <div class="terms-row">
      <dt>Vastuun rajaus</dt>
      <dd>Analyysit perustuvat saatavilla olevaan dataan ja parhaaseen asiantuntija-arvioon. Tuloksia ei tule tulkita sitovina ennusteina tai taloudellisina suosituksina. Vastuu rajoittuu projektin arvoon.</dd>
    </div>
    <div class="terms-row">
      <dt>Luottamuksellisuus</dt>
      <dd>Kaikki asiakkaalta saatu tieto käsitellään luottamuksellisesti.</dd>
    </div>
  </dl>

  <div class="cta-block">
    <h2>Selvitetään, sopiiko tämä.</h2>
    <p>
      Ensimmäinen keskustelu ei maksa mitään. Käydään läpi datasi, päätöksesi
      ja se, onko avoimesta datasta hyötyä organisaatiosi päätöksenteossa.
    </p>
    <a href="https://cal.eu/kristianvepsalainen" class="btn-primary">
      Varaa maksuton 20 min puhelu →
    </a>
    <a href="mailto:kristian.vepsalainen@proton.me" class="cta-email">
      tai sähköpostitse kristian.vepsalainen@proton.me
    </a>
  </div>
</div>
```

© 2026 Kristian Vepsäläinen

 
  • Muokkaa sivua
  • Ilmoita ongelmasta