mirror of
https://github.com/koodiklinikka/palkkakysely.git
synced 2026-03-13 14:03:44 +00:00
The 2025 survey uses a single English-only xlsx (instead of separate fi/en files) with a restructured schema: compensation is split into base salary, commission, lomaraha, bonus, and equity components; working time is h/week instead of percentage; and competitive salary is categorical instead of boolean. Vuositulot is now synthesized from the component fields. Drop COLUMN_MAP_2024, COLUMN_MAP_2024_EN_TO_FI, VALUE_MAP_2024_EN_TO_FI, read_initial_dfs_2024, read_data_2024, map_sukupuoli, map_vuositulot, split_boolean_column_to_other, apply_fixups, and the associated gender value lists and boolean text maps. All of this exists in version history. - KKPALKKA now includes base salary + commission (median 5500 → 5800) - Apply map_numberlike to tuntilaskutus and vuosilaskutus columns to handle string values like "60 000" and "100 000" - Filter out zeros when computing tunnusluvut on the index page so stats reflect actual reported values Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
95 lines
3.9 KiB
HTML
95 lines
3.9 KiB
HTML
{% extends "_base.html" %}
|
|
{% macro eur_span(number) -%}
|
|
<span title="{{ number }}" class="eur" data-number="{{ number }}">{{ number }} €</span>
|
|
{%- endmacro %}
|
|
{% macro tunnusluvut_points(df, col_name, title) %}
|
|
{% with num_kk = df[col_name][pd.to_numeric(df[col_name], errors='coerce') > 0].dropna() %}
|
|
<li title="n = {{ num_kk.count() }}">{{ title }}, keskiarvo = {{ eur_span(num_kk.mean()|round(0)) }}</li>
|
|
<li title="n = {{ num_kk.count() }}">{{ title }}, mediaani = {{ eur_span(num_kk.median()|round(0)) }}</li>
|
|
{% endwith %}
|
|
{% endmacro %}
|
|
{% block body %}
|
|
<header>
|
|
<a href="https://koodiklinikka.fi">
|
|
<img src="{{ logo_svg }}" alt="koodiklinikan logo" style="height: 3em">
|
|
</a>
|
|
</header>
|
|
<h1>Koodiklinikan palkkakysely, {{ year }}</h1>
|
|
<ul>
|
|
<li><i>n</i> = {{ df|length }}</li>
|
|
<li><i>n</i> palkansaajia = {{ df[df[cm.PALKANSAAJA_VAI_LASKUTTAJA_COL] == "Palkansaaja"]|length }}</li>
|
|
<li><i>n</i> laskuttajia = {{ df[df[cm.PALKANSAAJA_VAI_LASKUTTAJA_COL] == "Laskuttaja"]|length }}</li>
|
|
</ul>
|
|
<h2>Palkansaajien tunnusluvut</h2>
|
|
<ul>
|
|
{% for col_name, title in [
|
|
(cm.KKPALKKA_COL, 'kuukausipalkka'),
|
|
(cm.VUOSITULOT_COL, 'vuositulot'),
|
|
(cm.KK_TULOT_NORM_COL, 'laskennallinen norm. kuukausipalkka'),
|
|
] %}
|
|
{{ tunnusluvut_points(df, col_name, title) }}
|
|
{% endfor %}
|
|
</ul>
|
|
<h2>Laskuttajien tunnusluvut</h2>
|
|
<ul>
|
|
{% for col_name, title in [
|
|
(cm.TUNTILASKUTUS_ALV0_COL, 'tuntilaskutus (ALV 0%)'),
|
|
(cm.VUOSILASKUTUS_ALV0_COL, 'vuosilaskutus (ALV 0%)'),
|
|
] %}
|
|
{{ tunnusluvut_points(df, col_name, title) }}
|
|
{% endfor %}
|
|
</ul>
|
|
<h2>Työkalut</h2>
|
|
<ul>
|
|
<li><a href="charts.html">Kaaviot</a></li>
|
|
<li><a href="profiling_report.html">Lähdedatan analyysi</a></li>
|
|
<li><a href="/palkkakysely/analysaattori/?url=/palkkakysely/{{ year }}/data.json">Pivot-työkalu</a></li>
|
|
</ul>
|
|
<h2>Data</h2>
|
|
Tämä data on käsitelty
|
|
<a href="https://github.com/koodiklinikka/palkkakysely/tree/master/pulkka">normalisointiskripteillä</a>.
|
|
<ul>
|
|
<li><a href="data.csv">Lähdedata (CSV)</a></li>
|
|
<li><a href="data.html">Lähdedata (HTML)</a></li>
|
|
<li><a href="data-vertical.html">Vastaukset eriteltyinä (HTML)</a></li>
|
|
<li><a href="data.json">Lähdedata (JSON)</a></li>
|
|
<li><a href="data.xlsx">Lähdedata (XLSX)</a></li>
|
|
</ul>
|
|
<h2>Raakadata</h2>
|
|
Tämä on Google Sheetsistä tuotu käsittelemätön raakadata.
|
|
<ul>
|
|
<li><a href="raw.tsv">Raakadata (TSV)</a></li>
|
|
<li><a href="raw.xlsx">Raakadata (XLSX)</a></li>
|
|
</ul>
|
|
<div class="muistutus">
|
|
<script async data-uid="d6b9e17663" src="https://koodiklinikka-palkkakysely.kit.com/d6b9e17663/index.js"></script>
|
|
<noscript>
|
|
<a href="https://koodiklinikka-palkkakysely.kit.com/d6b9e17663">Tilaa muistutus</a>
|
|
</noscript>
|
|
</div>
|
|
|
|
<h2>Viittaaminen ja lisenssi</h2>
|
|
<p>
|
|
Viittaathan dataa käyttäessäsi tähän sivustoon: <a href="{{ site_url }}">{{ site_url }}</a>.
|
|
</p>
|
|
<p>
|
|
Datan lisenssi on <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0
|
|
International</a> (CC BY 4.0).<br>
|
|
Mankelointityökalujen lisenssi on <a href="https://opensource.org/licenses/MIT">MIT</a>.
|
|
</p>
|
|
<script>
|
|
for (const eur of document.querySelectorAll(".eur")) {
|
|
// Try to parse data-number, format as browser-native currency
|
|
const number = parseFloat(eur.dataset.number);
|
|
if (!isNaN(number)) {
|
|
eur.textContent = number.toLocaleString("fi-FI", {style: "currency", currency: "EUR"});
|
|
}
|
|
}
|
|
</script>
|
|
{% endblock %}
|
|
{% block footer %}
|
|
<footer>
|
|
Generoitu {{ date }}
|
|
</footer>
|
|
{% endblock %}
|