Alexey Korostelev, February 24, 2026
By making a monthly donation to the Project, you will help us do even more important and high-profile investigations. This way you will support all investigative journalism in Russia!
Satellite images were provided to the Project by the Vertical52 team. Its experts calculated the number of destroyed and restored buildings using machine learning. For analysis, two satellite images of the central part of Mariupol in the Zhovtnevy district of the city with a resolution of 50 cm per pixel were taken - April 2022 and August 2025 (the latest and most suitable satellite image for analysis). This part of the city was chosen due to the availability in the public domain of a fragment of the master plan of Mariupol, according to which it is being restored from 2022, as well as suitable satellite images that cover this part of the city.
The source of the images is the commercial satellite image provider Planet Labs, the SkySat constellation. Current OpenStreetMap (OSM) data was used to determine building footprints. Since the OSM map of buildings during the war was also slightly modified due to the current development plan, it is possible that some buildings may have been overlooked or missed in the analysis for 2022 and 2025. However, the vast majority of objects remained unchanged, which allows the use of current OSM data for analysis. Each object is a separate building. A total of 5,190 objects were identified - these are residential multi-apartment buildings, infrastructure buildings, individual housing construction and any other buildings located within the territory selected for analysis. This set excludes small objects (less than 30 pixels / or 7.5 sq. m.), since calculating statistical parameters for such small areas can lead to deterioration in the quality of the model due to a lack of spatial information.
Next, a machine learning method (XGBoost) was used to determine the degree of restoration of buildings. To train and validate the model, a dataset of 500 buildings was used, which were manually marked as restored or not restored in a ratio of 1 to 1. Next, the model was tested on a separate sample of 100 buildings.
Despite the fairly high accuracy rates (F1-Score ≈ 0.86, ROC-AUC ≈ 0.92), the analysis allows for a number of buildings that may be incorrectly classified as restored or not restored. Thus, in the test sample, 15 buildings were incorrectly classified as destroyed when they were not, or vice versa. Of the total number of buildings, there were also those that could not be determined as restored or not restored due to the invalidity of the objects. In total, out of 5190 buildings, there were 17 such buildings in the analysis, which has little effect on the final results.