{"id":1427,"date":"2024-10-31T17:42:05","date_gmt":"2024-10-31T16:42:05","guid":{"rendered":"https:\/\/blog.epicycle.fr\/?page_id=1427"},"modified":"2025-10-31T01:52:21","modified_gmt":"2025-10-31T00:52:21","slug":"salaires-femmes-hommes","status":"publish","type":"page","link":"https:\/\/blog.epicycle.fr\/?page_id=1427","title":{"rendered":"Salaires femmes \/ hommes"},"content":{"rendered":"\n<meta charset=\"UTF-8\">\n\t<script src=\"https:\/\/d3js.org\/d3.v4.min.js\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@3.8.2\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/moment@2.29.4\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chartjs-adapter-moment@1.0.0\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/mathjs\/11.0.1\/math.js\n\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/www.epicycle.fr\/js_salaires\/cumulative_distribution_estimator.js\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/www.epicycle.fr\/js_salaires\/format_data.js\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/www.epicycle.fr\/js_salaires\/carriere.js\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/www.epicycle.fr\/js_salaires\/timeseries.js\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/www.epicycle.fr\/js_salaires\/load_data.js\" type=\"text\/javascript\"><\/script>\n\t<script src=\"https:\/\/www.epicycle.fr\/js_salaires\/custom_charts.js\" type=\"text\/javascript\"><\/script>\n\t<style>\n\t\t.annee {\n\t\t\twidth: 60px;\n\t\t}\n\t\t.montant {\n\t\t\twidth: 65px;\n\t\t}\n\t\t.nombre {\n\t\t\twidth: 40px;\n\t\t}\n\t\t.chart_title, .legend_title {\n\t\t\tdisplay: block;\n\t\t\tfont-weight: bold;\n\t\t\ttext-align: center;\n\t\t\tfont-size: 0.75em;\n\t\t\tmargin:  auto;\n\t\t\tcolor: rgb(100,100,100);\n\t\t\tfont-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n\t\t}\n\t\t.note {\n\t\t\tfont-size: 1em;\n\t\t}\n\t\t.chart_container {\n\t\t\t\/*width: 960px;*\/\n\t\t}\n\t<\/style>\n\t\t<!-- \n\n\t\t.page-id-678 .graph h5 {\n\t\t\ttext-align: center;\n\t\t\tline-height: 1em;\n\t\t\tfont-size: 0.75em;\n\t\t\tmargin:  auto;\n\t\t\tcolor: rgb(100,100,100);\n\t\t\tfont-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n\t\t}\n\n\t\t -->\n\n<div id=\"chart\">\n\t<p>\n\t\t<label for=\"serie\">S\u00e9rie de donn\u00e9es :<\/label>\n\t\t<select name=\"serie\" class=\"serie\" id=\"serie\" onchange=\"chart.update();\">\n\t\t\t<option name=\"eqtp\" id=\"eqtp\" value=\"eqtp\" selected=\"selected\">equivalent temps plein<\/option>\n\t\t\t<option name=\"tc\" id=\"tc\" value=\"tc\">temps complet<\/option>\n\t\t<\/select>\n\t\t<br>\n\n\t\t<label for=\"salaire_type\">Salaire net\/brut :<\/label>\n\t\t<select name=\"salaire_type\" class=\"salaire_type\" id=\"salaire_type\" onchange=\"chart.update();\">\n\t\t\t<option name=\"net\" id=\"net\" value=\"net\" selected=\"selected\">net<\/option>\n\t\t\t<option name=\"brut\" id=\"brut\" value=\"brut\">brut<\/option>\n\t\t<\/select>\n\t\t<br>\n\n\t\t<label for=\"annee\">Ann\u00e9e :<\/label>\n\t\t<input type=\"number\" class=\"annee\" id=\"annee\" class=\"annee\" min=\"1950\" max=\"2024\" step=\"1\" value=\"2024\" onchange=\"chart.update();\">\n\t\t<br>\n\t<\/p>\n\n\t<div class='chart_container' id='chart_container_distributions'>\n\t\t<div class='chart_title'><\/div>\n\t\t<canvas class='chart'><\/canvas>\n\t\t<em  class='note'><\/em>\n\t<\/div>\n\t<p>\n\t\t<br>\n\t<\/p>\n\t<div class='chart_container' id='chart_container_inequalities'>\n\t\t<div class='chart_title'><\/div>\n\t\t<canvas class='chart'><\/canvas>\n\t\t<em  class='note'><\/em>\n\t<\/div>\n<\/div>\n\n<h2>M\u00e9thodologie et remarques<\/h2>\n\n\t<p>\n\t\tLa distribution des salaires est interpol\u00e9e (<a href=\"https:\/\/blog.epicycle.fr\/?p=1126\">d\u00e9tails ici<\/a>) \u00e0 partir de donn\u00e9es de l&rsquo;INSEE.\n\t<\/p>\n\n\t<p>\n\t\tLes quantiles des salaires bruts sont obtenus \u00e0 l&rsquo;aide des quantiles des salaires nets publi\u00e9s par l&rsquo;INSEE ainsi que des taux de cotisation par tranche de salaire (pour les cadres et les non cadres) et de la proportion de cadres parmi les salari\u00e9s.\n\t<\/p>\n\n\t<p>\n\t\tCe travail est encore en version b\u00eata, merci de me signaler les bugs ou inconsistances \u00e9ventuels.\n\t<\/p>\n\n<h2>Sources de donn\u00e9es<\/h2>\n<p>\n\t<ul>\n\t\t<li><a href=\"https:\/\/www.insee.fr\/fr\/statistiques\/4768237\">Effectifs des cadres et employ\u00e9s (INSEE)<\/a>, version <a href=\"https:\/\/www.data.gouv.fr\/fr\/datasets\/effectifs-des-cadres-et-employes-avec-detail-par-sexe\/\">reformat\u00e9e<\/a>.<\/li>\n\t\t<li><a href=\"https:\/\/www.insee.fr\/fr\/statistiques\/fichier\/6662214\/TC08.csv\">Distribution des salaires nets du secteur priv\u00e9, temps complet (INSEE)<\/a>, version <a href=\"https:\/\/www.data.gouv.fr\/fr\/datasets\/r\/0de74d2f-53c8-4cf8-9f60-c038f1bb8dd6\">reformat\u00e9e<\/a>.<\/li>\n\t\t<li><a href=\"https:\/\/www.insee.fr\/fr\/statistiques\/fichier\/6662214\/EQTP08.csv\">Distribution des salaires nets du secteur priv\u00e9, \u00e9quivalent temps plein (INSEE)<\/a>, version <a href=\"https:\/\/www.data.gouv.fr\/fr\/datasets\/r\/67162750-9b9d-4449-b6f8-7daaea2ec63c\">reformat\u00e9e<\/a>.<\/li>\n\t\t<li><a href=\"https:\/\/www.insee.fr\/fr\/statistiques\/fichier\/6662214\/CS3.csv\">Taux de cotisation par tranches de salaires (INSEE)<\/a>, version <a href=\"https:\/\/www.data.gouv.fr\/fr\/datasets\/r\/fd7ee826-8ad5-40a9-9655-6a75db45fb6d\">reformat\u00e9e<\/a>.<\/li>\n\t\t<li><a href=\"https:\/\/www.insee.fr\/fr\/statistiques\/fichier\/6662214\/PLAFOND.csv\">Plafonds de la s\u00e9curit\u00e9 sociale (INSEE)<\/a>, version <a href=\"https:\/\/www.data.gouv.fr\/fr\/datasets\/r\/e38fdc42-ff80-4bba-958d-5a6cce1ba7a9\">reformat\u00e9e<\/a>.<\/li>\n\t<\/ul>\n\tLe <a href=\"https:\/\/gitlab.com\/observatoire_des_salaires\/src\">code source<\/a> sur lequel repose ce travail est sous licence <a href=\"https:\/\/www.gnu.org\/licenses\/gpl-3.0.en.html\">GNU GPL<\/a> et les textes, images, graphiques ainsi que la <a href=\"https:\/\/gitlab.com\/observatoire_des_salaires\/db\">base de donn\u00e9es<\/a> sont sous licence <a href=\"https:\/\/creativecommons.org\/licenses\/by\/4.0\/\">Creative Commons Attribution<\/a>.\n\t<br>\n\tMerci de citer <a href=\"http:\/\/blog.epicycle.fr\">blog.epicycle.fr<\/a> en cas de r\u00e9utilisation ou d&rsquo;adaptation.\n\t<a rel=\"me\" href=\"https:\/\/mamot.fr\/@LHomme_Qui_Rit\"><\/a>\n<\/p>\n\n\t<script type=\"text\/javascript\">\n\t\tconst serie_text = {'eqtp':'\u00e9quivalent temps plein', 'tc':'temps complet'};\n\t\tconst salaire_type_text = {'brut':'brut', 'net':'net'};\n\n\n\t\tclass ChartWrapper {\n\t\t\tconstructor(div_distributions, div_inequalities) {\n\t\t\t\tthis.div_distributions = div_distributions;\n\t\t\t\tthis.div_inequalities = div_inequalities;\n\t\t\t\tthis.chart_distributions = null;\n\t\t\t\tthis.chart_inequalities = null;\n\t\t\t}\n\n\t\t\tupdate() {\n\t\t\t\tvar serie = document.getElementById('serie').value;\n\t\t\t\tvar salaire_type = document.getElementById('salaire_type').value;\n\t\t\t\tvar annee = document.getElementById('annee').value;\n\n\t\t\t\tvar distrib_salaires_femmes_nets_tc = distrib_salaires_nets_tc_prive.filter(obj => obj.SEXE == 'F');\n\t\t\t\tvar distrib_salaires_femmes_nets_eqtp = distrib_salaires_nets_eqtp_prive.filter(obj => obj.SEXE == 'F');\n\n\t\t\t\tvar min_year_tc = 1975;\/\/distrib_salaires_femmes_nets_tc[0].date.getFullYear();\n\t\t\t\tvar min_year_eqtp = distrib_salaires_femmes_nets_eqtp.filter(obj => obj.SEXE == 'F')[0].date.getFullYear();\n\t\t\t\tvar max_year_tc = distrib_salaires_femmes_nets_tc.filter(obj => obj.SEXE == 'F')[distrib_salaires_femmes_nets_tc.length-1].date.getFullYear();\n\t\t\t\tvar max_year_eqtp = distrib_salaires_femmes_nets_eqtp.filter(obj => obj.SEXE == 'F')[distrib_salaires_femmes_nets_eqtp.length-1].date.getFullYear();\n\n\t\t\t\tvar distrib_salaires;\n\t\t\t\tif ( serie == 'eqtp' ) {\n\t\t\t\t\tdocument.getElementById('annee').min = min_year_eqtp;\n\t\t\t\t\tdocument.getElementById('annee').max = max_year_eqtp;\n\t\t\t\t\tif ( salaire_type == 'net' )\n\t\t\t\t\t\tdistrib_salaires = distrib_salaires_nets_eqtp_prive;\n\t\t\t\t\telse if ( salaire_type == 'brut' )\n\t\t\t\t\t\tdistrib_salaires = distrib_salaires_bruts_eqtp_prive;\n\t\t\t\t}\n\t\t\t\telse if ( serie == 'tc' ) {\n\t\t\t\t\tdocument.getElementById('annee').min = min_year_tc;\n\t\t\t\t\tdocument.getElementById('annee').max = max_year_tc;\n\t\t\t\t\tif ( salaire_type == 'net' )\n\t\t\t\t\t\tdistrib_salaires = distrib_salaires_nets_tc_prive;\n\t\t\t\t\telse if ( salaire_type == 'brut' )\n\t\t\t\t\t\tdistrib_salaires = distrib_salaires_bruts_tc_prive;\n\t\t\t\t}\n\t\t\t\tif ( document.getElementById('annee').value < document.getElementById('annee').min )\n\t\t\t\t\tdocument.getElementById('annee').value = document.getElementById('annee').min;\n\t\t\t\tif ( document.getElementById('annee').value > document.getElementById('annee').max )\n\t\t\t\t\tdocument.getElementById('annee').value = document.getElementById('annee').max;\n\n\t\t\t\tvar annee = document.getElementById('annee').value;\n\t\t\t\tvar date = new Date(annee+'-01-01');\n\t\t\t\tdate.setHours(0,0,0);\n\t\t\t\tvar distrib_salaires_femmes = distrib_salaires.filter(obj => obj.SEXE == 'F');\n\t\t\t\tvar distrib_salaires_hommes = distrib_salaires.filter(obj => obj.SEXE == 'H');\n\t\t\t\tvar i_femmes = return_index(distrib_salaires_femmes, date, 'date');\n\t\t\t\tvar i_hommes = return_index(distrib_salaires_hommes, date, 'date');\n\n\t\t\t\tvar estimator_femmes = distrib_to_estimator(distrib_salaires_femmes[i_femmes], 1, 0, true);\n\t\t\t\tvar estimator_hommes = distrib_to_estimator(distrib_salaires_hommes[i_hommes], 1, 0, true);\n\n\t\t\t\t\/\/ graphique des densit\u00e9s de la distribution des salaires des femmes et des hommes\n\t\t\t\tvar x_min_femmes = estimator_femmes.quantile_at(0.08, estimator_femmes.x_arr[1])\/12;\n\t\t\t\tvar x_max_femmes = estimator_femmes.quantile_at(1-0.08, estimator_femmes.x_arr[1])\/12;\n\t\t\t\tvar x_min_hommes = estimator_hommes.quantile_at(0.08, estimator_hommes.x_arr[1])\/12;\n\t\t\t\tvar x_max_hommes = estimator_hommes.quantile_at(1-0.08, estimator_hommes.x_arr[1])\/12;\n\n\t\t\t\tvar x_min = Math.round(Math.min(x_min_femmes, x_min_hommes));\n\t\t\t\tvar x_max = Math.round(Math.max(x_max_femmes, x_max_hommes));\n\t\t\t\tvar points_femmes = [], points_hommes = [];\n\t\t\t\tvar y_max = 0;\n\t\t\t\tfor ( var i = 0 ; i <= 200 ; ++i ) {\n\t\t\t\t\tvar x = x_min + i*(x_max-x_min)\/200;\n\t\t\t\t\tvar y_femmes = estimator_femmes.density_at(x*12);\n\t\t\t\t\tvar y_hommes = estimator_hommes.density_at(x*12)\n\t\t\t\t\tpoints_femmes.push({x:x, y:y_femmes});\n\t\t\t\t\tpoints_hommes.push({x:x, y:y_hommes});\n\t\t\t\t\ty_max = Math.max(y_max, y_femmes);\n\t\t\t\t\ty_max = Math.max(y_max, y_hommes);\n\t\t\t\t}\n\n\t\t\t\tif (this.chart_distributions == null)\n\t\t\t\t\tthis.chart_distributions = new CustomLineChart(this.div_distributions.getElementsByClassName('chart')[0]);\n\t\t\t\tthis.chart_distributions.clearDatasets().clearPlugins();;\n\n\t\t\t\tthis.chart_distributions.addFormattedTimeSeriesDataset(points_femmes.map((e)=>({x:e.x, y:e.y\/y_max})), 'rgb(260,140,100)', 'rgba(260,140,100,0.3)', 'distribution des salaires des femmes', null, 0, null, true, 2);\n\t\t\t\tthis.chart_distributions.addFormattedTimeSeriesDataset(points_hommes.map((e)=>({x:e.x, y:e.y\/y_max})), 'rgb(100,140,260)', 'rgba(100,140,260,0.3)', 'distribution des salaires des hommes', null, 0, null, true, 1);\n\t\t\t\tthis.chart_distributions.setYMin(0).setYMax(1.01).setXMin(x_min).setXMax(x_max);\n\t\t\t\tthis.chart_distributions.addWatermark('blog.epicycle.fr');\n\t\t\t\tthis.chart_distributions.setAnimation(false).hideYlabels().update();\n\n\t\t\t\tthis.div_distributions.getElementsByClassName('chart_title')[0].innerHTML = \"Positions relatives des distributions des salaires \"+salaire_type_text[salaire_type]+\"s \"+serie_text[serie]+\" des femmes et des hommes en \"+annee;\n\n\t\t\t\t\/\/ graphique de l'in\u00e9galit\u00e9 femmes-hommes par quantiles\n\t\t\t\tvar points = [];\n\t\t\t\tvar x_min = 10;\n\t\t\t\tfor ( var x = x_min ; x <= 99 ; ++x )\n\t\t\t\t\tpoints.push({x:x, y:estimator_hommes.quantile_at(x\/100, estimator_hommes.x_arr[1])\/estimator_femmes.quantile_at(x\/100, estimator_femmes.x_arr[1])});\n\n\t\t\t\tif (this.chart_inequalities == null)\n\t\t\t\t\tthis.chart_inequalities = new CustomLineChart(this.div_inequalities.getElementsByClassName('chart')[0]);\n\t\t\t\tthis.chart_inequalities.clearDatasets().clearPlugins();\n\n\t\t\t\tthis.chart_inequalities.addFormattedTimeSeriesDataset(points, 'rgb(50,150,50)', 'rgba(50,150,50,0.3)', 'ratio h\/f par quantile', null, 0);\n\t\t\t\tthis.chart_inequalities.setPercentageX().addWatermark('blog.epicycle.fr');\n\t\t\t\tthis.chart_inequalities.setAnimation(false).update();\n\n\t\t\t\tthis.div_inequalities.getElementsByClassName('chart_title')[0].innerHTML = \"Ratio entre le salaire \"+salaire_type_text[salaire_type]+\" \"+serie_text[serie]+\" des hommes et celui des femmes en fonction de leur position dans la distribution des salaires en \"+annee;\n\t\t\t\tthis.div_inequalities.getElementsByClassName('note')[0].innerHTML = \"<strong>Lecture<\/strong> : En \"+annee+\", un homme gagnant plus que 90% des hommes et moins que 10% des hommes a un salaire \"+salaire_type_text[salaire_type]+\" \"+serie_text[serie]+\" \u00e9gal \u00e0 \"+points[90-x_min].y.toFixed(2)+\" fois le salaire d'une femme gagnant plus que 90% des femmes et moins que 10% des femmes.\";\n\t\t\t}\n\t\t}\n\n\t\tvar chart = new ChartWrapper(document.getElementById('chart_container_distributions'), document.getElementById('chart_container_inequalities'));\n\t\t\n\t\tload_data(chart.update.bind(chart));\n\t<\/script>\n","protected":false},"excerpt":{"rendered":"<p>S\u00e9rie de donn\u00e9es : equivalent temps pleintemps complet Salaire net\/brut : netbrut Ann\u00e9e : M\u00e9thodologie et remarques La distribution des salaires est interpol\u00e9e (d\u00e9tails ici) \u00e0 partir de donn\u00e9es de l&rsquo;INSEE. Les quantiles des salaires bruts sont obtenus \u00e0 l&rsquo;aide des quantiles des salaires nets publi\u00e9s par l&rsquo;INSEE ainsi que des taux de cotisation par &hellip; <a href=\"https:\/\/blog.epicycle.fr\/?page_id=1427\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Salaires femmes \/ hommes&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1427","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=\/wp\/v2\/pages\/1427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1427"}],"version-history":[{"count":9,"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=\/wp\/v2\/pages\/1427\/revisions"}],"predecessor-version":[{"id":1461,"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=\/wp\/v2\/pages\/1427\/revisions\/1461"}],"wp:attachment":[{"href":"https:\/\/blog.epicycle.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}