Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IT Jobs Kazakhstan: SQL-анализ рынка вакансий

Pet-проект на MySQL: полный путь от сырого CSV с вакансиями hh.kz до аналитической витрины и SQL-запросов по зарплатам, городам, категориям, опыту и навыкам.

Проект имитирует полный цикл работы аналитика с сырыми данными: загрузка неочищенного датасета, проверка качества, нормализация полей, подготовка staging-таблицы, создание аналитической витрины и формулировка бизнес-выводов на основе SQL-запросов.

Ключевые находки

  • После удаления дублей остаётся 1 508 вакансий из 1 754 исходных строк; зарплата указана у 641 вакансии, то есть у 42,51% выборки.
  • Самая крупная категория — Software Developer: 710 вакансий, зарплата раскрыта в 36,76% случаев, средняя нижняя граница вилки — около 550 тыс. KZT.
  • По опыту средняя нижняя граница зарплаты растёт от 192,6 тыс. KZT для вакансий без опыта до 878,2 тыс. KZT для вакансий с требованием более 6 лет.
  • В зарплатной сегментации нижние границы вилок делятся на квартальные диапазоны: 70-200 тыс., 200-300 тыс., 300-450 тыс. и 467 тыс.-2,802 млн KZT.
  • Среди проверенных навыков наибольшую премию показывают Docker, Python, Java, MySQL, SQL и React, но по части навыков выборка маленькая, поэтому результат нужно интерпретировать осторожно.

Скриншоты

1. Кейс 1: Прозрачность зарплат по категориям

alt text

Скриншот демонстрирует результаты анализа доли вакансий с указанной зарплатой (salary_disclosed_pct) по каждой категории должностей. Это позволяет понять, в каких профессиях работодатели чаще скрывают уровень дохода, и оценить, насколько репрезентативны средние показатели по рынку.

2. Зарплатная премия по навыкам

alt text

Скриншот показывает сравнение средней зарплаты вакансий с конкретным навыком и без него. При интерпретации важны не только premium_pct, но и размер выборки n_with_salary.

3. Зарплатная сегментация рынка

alt text

Скриншот показывает разбиение рынка на квартальные зарплатные сегменты: от бюджетного до премиального.

Данные

  • Источник: IT Jobs in Kazakhstan General Dataset.
  • Автор датасета: Arman Zhalgasbayev.
  • Площадка: Kaggle.
  • Основа данных: вакансии с hh.kz.
  • Период среза: июнь-июль 2023 года.
  • Объём: 1 754 исходные строки, после удаления дублей — 1 508 вакансий.
  • Основной файл: itjobskz.csv.
  • База в ноутбуке: it_jobs_db.

Источник: https://www.kaggle.com/datasets/armanzhalgasbayev/it-jobs-in-kazakhstan-general-dataset

Что считается в ноутбуке

  • доля вакансий с указанной зарплатой по категориям;
  • средняя зарплата по уровню опыта;
  • распределение направлений по городам;
  • сравнение категорий по числу вакансий и зарплатам;
  • компании, которые чаще всего нанимают по направлениям;
  • частота навыков в требованиях;
  • зарплатная премия для вакансий с конкретным навыком;
  • соответствие грейдов Junior/Middle/Senior требованиям по опыту;
  • квартильные зарплатные сегменты.

Что демонстрирует проект

  • MySQL 8;
  • LOAD DATA LOCAL INFILE;
  • CREATE TABLE AS SELECT;
  • VIEW;
  • CTE;
  • CASE;
  • JOIN;
  • GROUP BY и HAVING;
  • оконные функции;
  • регулярные выражения;
  • очистка текстовых полей;
  • нормализация зарплат и валют;
  • последовательная подготовка данных перед анализом;
  • работа с локальным паролем через .env.

Методологические решения

  • В исходном CSV поле job содержит компанию, а поле Job содержит категорию/роль вакансии. В staging-таблице они намеренно переименованы в company и job_category, чтобы аналитические запросы работали с корректным смыслом колонок.
  • Порог 70 000 KZT для отсечения подозрительно низких зарплат связан с минимальной месячной зарплатой в Казахстане на 2023 год. Значения ниже этого уровня зануляются только в зарплатных полях; сама вакансия остаётся в датасете.
  • Курсы валют заданы вручную как справочник на период среза датасета: USD = 467 KZT, EUR = 490 KZT, RUR = 5.35 KZT. Для промышленного пайплайна исторические курсы лучше загружать из официального источника.

Источники:

Ограничения

  • Данные покрывают короткий период, поэтому проект показывает срез рынка, а не долгосрочную динамику.
  • Зарплаты указаны не во всех вакансиях; выводы по категориям с низкой прозрачностью зарплат менее устойчивы.
  • Курсы валют заданы вручную как справочная таблица внутри ноутбука, а не подтягиваются автоматически из исторического источника.
  • Категории вакансий нормализованы простыми правилами через CASE; для промышленного решения стоило бы вынести справочник категорий в отдельную таблицу.
  • Поиск навыков сделан регулярными выражениями по тексту требований, поэтому возможны пропуски и ложные совпадения.
  • Премии по навыкам с малой выборкой могут быть нестабильны; для финального вывода стоит смотреть не только premium_pct, но и n_with_salary.

Автор

ayobkz

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages