SQL and Python-based employee performance analytics with KPI aggregation, departmental insights, and HR dashboard generation
This skill is a Python and SQL based HR analytics tool that turns raw employee records into departmental performance insights. It solves the problem of scattered, unaggregated workforce data by providing an end-to-end pipeline: loading a CSV into a local SQLite database, running SQL views for KPI aggregation, performing analysis in Python, and exporting CSV reports and charts. It targets metrics like average performance rating, tasks per hour, absence rate, and per-employee efficiency.
The project (cloned from an upstream GitHub repository) is organized into a data loader (create_db.py), a SQL query file defining three analytical views — department KPIs, employee summary, and daily productivity — a main analysis script, and helper utilities, with outputs written to CSV files and a charts directory. It depends on pandas, matplotlib, seaborn, numpy, and the built-in sqlite3. Documented command-line usage covers loading data with configurable CSV, database, and table arguments, then running the analysis to produce reports and visualizations such as average rating by department and a tasks-versus-hours scatter plot. A Python API is also shown for creating the database (with required-column validation), executing the SQL script, and generating plots.
It is aimed at HR analysts, people-operations teams, data analysts, and engineers building HR data pipelines who want reproducible, local performance reporting. Use cases include calculating departmental KPIs, visualizing productivity trends, assessing workforce efficiency, and generating employee performance reports. Note that because it processes employee-level performance and absence data, users should handle the resulting datasets as sensitive HR information.
A CSV of employee records with columns such as employee_id, name, department, role, date, tasks_completed, hours_worked, rating, projects, and absences. The database loader validates that required columns are present before writing to SQLite.
Python with a virtual environment, and pip-installed pandas (>=2.0), matplotlib (>=3.7), seaborn (>=0.12), and numpy (>=1.24). sqlite3 is built into Python. The code is obtained by cloning the upstream Employee-Performance-Analytics GitHub repository.
CSV reports such as department_kpis.csv and performance_summary.csv, plus generated charts (for example a bar chart of average rating by department and a scatter plot of tasks versus hours worked) written to an outputs/charts directory.
Three SQL views: department_kpis (employee count, average rating, totals, absence rate, tasks per hour), employee_summary (per-employee totals, average rating, project count, efficiency), and daily_productivity (day-by-day tasks, hours, and rating by department).
Yes. Data is loaded into a local SQLite database and analyzed on the machine; the skill does not describe sending employee data to any external service. Because the data is employee performance and absence information, treat it as sensitive.
Quick Setup:
.claude/skills/Repository
aradotso/data-skills