HR advisory · People analytics · Kraków, open to relocation in Europe

Domenico Perroni

I advise on HR for the Italian market in a pan-European people operations team. Around that job I build the analysis an HR function runs on: payroll checks, pay transparency reporting, business cases. Every figure is computed twice, in Python and in a live spreadsheet, and the two must agree before anything ships.

Three projects, two minutes

Each one is a deliverable a team would use, not an exercise. The loops are recorded from the live pages.

The payroll tool loads example payslips, runs the checks and lists each flag with the expected and found amount.
The browser tool on the example files: 32 flags, each with the expected amount and what to do.
Payroll operations

Payroll checks before the payslips go out

Eleven checks on Italian payslips under the retail and services contract (CCNL Terziario): minimum pay, seniority steps, INPS contributions, severance accrual, holidays, the F24 tax payment, master-data changes nobody declared, 13th and 14th month accruals. Plus what the November 2026 pay rise costs each client.

  • Finds all 32 planted errors with no false alarms; a statistical anomaly detector on the same data finds about a third.
  • Three twins, one answer: Python, a live-formula sheet (496 checks) and a browser tool (1,952 values) agree, and files never leave the computer.
  • Sources on every rule, and a test that keeps the one error no check can see on record.

In Italian.

Moving the real uplift slider in the Vimeo model: below 0.68% a year the bet loses money, above it the value turns positive.
Move the uplift across 0.68% a year and the verdict flips: that is the bar the test has to clear.
Business analysis

Vimeo: where the next dollar comes from

An outside-in case from Vimeo's SEC filings. Self-Serve has lost subscribers for three years while price held revenue up; Enterprise pays about 120 times more per account. The bet: route the Self-Serve teams that already look like Enterprise buyers to sales, and test it before hiring for it.

  • Revenue split into volume and price for every category, from figures traced to each filing.
  • $2.2M net present value at 1 extra upgrade per 100 accounts a year; it breaks even at 0.68%.
  • A test sized against the data: of four designs only one can see the break-even on 22,558 accounts, and the decision rule's error rates are measured, not assumed.
The pay transparency report: the gender pay gap by employer, the share of each pay quartile and the categories of workers that need a justification.
The report on four employers: pay gaps by Article 9 item, and where Article 10 asks for a justification.
Reward & HR consulting

Ready for the EU Pay Transparency Directive?

A dry run of Directive (EU) 2023/970 for an employer in four countries, 3,443 workers, delivered as a consulting team would: what each entity owes and when, the seven reporting items, the joint pay assessment screen, and a plan for the next 90 days.

  • A live Excel model reconciled with pandas on 460 figures, recalculated in LibreOffice on every change.
  • A board briefing and a readiness checklist, with a register of every legal source.
  • Clear about its limits: synthetic data, and what each Member State's transposition can still change.

More work

People analytics, reward, workforce planning, and the tools behind them.

Reward

Equal-value pay ranges

One pay range per grade and country, priced on Eurostat market data, every employee placed against it, and the range to publish with each vacancy.

Workforce planning

Workforce cost model

Italian and Polish employer costs for 2026, a budget variance that adds up exactly, and next year under four scenarios.

Research · R

Where pay transparency bites

Eurostat data for 27 Member States: inside sectors the gender pay gap is wider than the published one in 22 countries.

People analytics

Why people leave

Attrition drivers, pay equity and HR service-desk performance on a 4,000-person organisation: logistic regression, gap decomposition, SQL.

People analytics

Engagement survey to action plan

2,753 answers: non-response bias, confidence intervals, key drivers, free-text themes, and a dashboard that will not report on fewer than five people.

Tooling · Python

excel-twin

The library behind the reconciliations: proves a spreadsheet's live formulas give the same numbers as the Python model, in CI.

Automation

Job search agent

A job search run as a data pipeline: public ATS board APIs, explainable fit scoring, tailored documents, funnel analytics.

Public history

Pompeii after AD 79

Pompeii and Herculaneum from the eruption to today as a model you walk through, in six languages, with a source next to every statement.

Media education

Florence, 1216 in development

A serious game for schools: the class writes the chronicle of the Buondelmonte murder as a young notary, then compares it with the chronicles that survive.

How I work

I build with an AI coding assistant, and the commit history says so. What I own is the question, the method and the check: every figure is computed twice or traced to its source, and each repository keeps a register of what was verified, what was not, and what was corrected.

Background

  • MSc Media Education, Università Cattolica, Milan (110/110)
  • MSc Politics, Administration & Organisation, University of Bologna
  • Erasmus+ at Jagiellonian University, Kraków: leadership and HR management
  • People Analytics, The Wharton School (Coursera)