Table of contents
Introduction
Visualize official casualty reports from the active stage of the Russia–Ukraine war using PyData, Selenium, BeautifulSoup4, and LLM-assisted extraction.
Officially reported casualties in Russia–Ukraine war, since Feb 2022

Notes on interpretation
What’s important to understand before reading the numbers?
- These are casualties, not fatalities. A “casualty” can include killed, wounded, captured, missing, etc., and can be counted multiple times across time depending on reporting practices.
- These are cross-reported figures (Country A reporting Country B losses, and vice-versa). They are best thought of as official propaganda signals rather than ground truth.
- Quantification is uncertain; a plausible “ground truth” could be far from cross-reports for any given day.
- You can apply your own wounded-to-killed ratios if you want to reason about fatalities, but assumptions will dominate.
Sources and data access (legacy summary)
- Aggregated secondary tables (claimed to be based on official briefings):
minfin.com.uamskvremya.ru
- Examples of primary sources:
- Russian MoD briefing example:
https://briefing-mo.ru/... - Ukrainian operational update example:
https://www.zsu.gov.ua/...
- Russian MoD briefing example:
Dataset:
Inspiration:
Media presence
No external mentions listed.
How to cite this work
For human-readable attribution, please cite this work as:
Visualization “Ukraine's bloody tool” (2025), Vitaliy Y from Witold's Data Consulting
https://witold1.github.io/blog/posts/small-project-blood-tool/postBibTeX
@misc{witold_blog_viz-ukraines-bloody-tool,
author = {Yevtushenko, Vitaliy},
title = {{Ukraine's bloody tool}},
year = {2025},
url = {/portfolio/blog/viz-ukraines-bloody-tool/},
}Discuss with AI