В 22.42% от секциите има разминавания в отчетените гласове в протокола и тези от флаш паметите на машините – показва анализ, проведен с изкуствен интелект от НПО „Демократичен център“, на резултатите от гласуването на 27.10.2024г.
Наблюдава се отклонение между 5730 и 9918 гласа (0,24% до 0,41% от всички валидни гласове за кандидат/листа)
Можете да изтеглите данните, ползвани за настоящия анализ, от тук:
АНАЛИЗ
Чрез изкуствен интелект се извършва анализ на резултатите от изборите по следния начин:
- Извличат се всички машинно-четими данни от СУЕМГ от страницата на ЦИК – https://results.cik.bg/pe202410/opendata/export.zip
- Извличат се всички резултати от протоколите от страницат на ЦИК https://results.cik.bg/pe202410/opendata/spreadsheet.zip
- Използва се скрипт, който извлича файловете от всяка секция и ги събира в общ файл от данни за анализа (Приложение 4)
- Сравнява се броят на отчетени гласове за всяка секция и всеки кандидат/партия между въведените в протокола от СИК и данните от флаш паметите на СУЕМГ
- Създават се 3 варианта на пресмятане:
- Вариант 1 – За разлика между броя отчетени гласове от протокола и флаш паметта се взимат само такива, в които броят на гласовете във флаш паметта надвишава броя гласове от протокола. (Приложение 1)
- Вариант 2 – За разлика между броя отчетени гласове от протокола и флаш паметта се взимат всички гласове, освен тези от секции, в които няма четима флаш памет от машината (Приложение 2 + протокол от РИК 1)
- Вариант 3 – За разлика между броя отчетени гласове от протокола и флаш паметта се взимат всички гласове, за които са отчетени разлики (Приложение 3)
*Анализът е съставен въз основа на данните от Централната избирателна комисия, ползвайки ChatGPT v. 4o и Microsoft Copilot
Приложение 1: Вариант 1 – само гласове, при които гласовете от флашката за дадена партия са повече от гласовете в протокола | |||||
Обобщени данни от гласуването | |||||
№ | Партия, Коалиция, ИК | Гласове | Разпределение | Разлика | |
1 | ПП ДОСТ | 2260 | 0.093% | -13 | |
2 | ПП ГЛАС НАРОДЕН | 7298 | 0.300% | -64 | |
3 | Социалистическа партия Български път | 1570 | 0.064% | -11 | |
4 | ПП ВЕЛИЧИЕ | 97438 | 3.999% | -368 | |
5 | Булгари | 1737 | 0.071% | -13 | |
6 | МОЯ СТРАНА БЪЛГАРИЯ | 2781 | 0.114% | -17 | |
7 | ПП ИМА ТАКЪВ НАРОД | 165160 | 6.779% | -1035 | |
8 | ДПС-Ново начало | 281356 | 11.548% | -499 | |
9 | БРИГАДА | 1181 | 0.048% | -9 | |
10 | Партия на ЗЕЛЕНИТЕ | 4897 | 0.201% | -38 | |
11 | ПРАВОТО | 2360 | 0.097% | -9 | |
12 | ВЪЗРАЖДАНЕ | 325466 | 13.358% | -1425 | |
13 | АЛИАНС ЗА ПРАВА И СВОБОДИ – АПС | 182253 | 7.480% | -400 | |
14 | БЪЛГАРСКИ НАЦИОНАЛЕН СЪЮЗ – НД | 2230 | 0.092% | -5 | |
15 | БСДД – ДИРЕКТНА ДЕМОКРАЦИЯ | 1694 | 0.070% | -10 | |
16 | СИНЯ БЪЛГАРИЯ | 26054 | 1.069% | -173 | |
17 | ПП МЕЧ | 111965 | 4.595% | -564 | |
18 | ГЕРБ-СДС | 642973 | 26.390% | -1926 | |
19 | АТАКА | 3965 | 0.163% | -17 | |
20 | ПП НАРОДНА ПАРТИЯ ИСТИНАТА И САМО ИСТИНАТА | 2463 | 0.101% | -10 | |
21 | ПРЯКА ДЕМОКРАЦИЯ | 7952 | 0.326% | -55 | |
22 | КП СВОБОДНИ ИЗБИРАТЕЛИ (РБ, ССД и ЗС) | 6293 | 0.258% | -29 | |
23 | БТР – БЪЛГАРИЯ НА ТРУДА И РАЗУМА | 1444 | 0.059% | -5 | |
24 | КОЙ | 2022 | 0.083% | -10 | |
25 | КП РУСОФИЛИ ЗА БЪЛГАРИЯ | 8860 | 0.364% | -45 | |
26 | КОАЛИЦИЯ ПРОДЪЛЖАВАМЕ ПРОМЯНАТА – ДЕМОКРАТИЧНА БЪЛГАРИЯ | 346063 | 14.204% | -2385 | |
27 | БЪЛГАРСКИ ВЪЗХОД | 10318 | 0.423% | -68 | |
28 | БСП – ОБЕДИНЕНА ЛЕВИЦА | 184403 | 7.568% | -704 | |
15 / 29 | ЧАВДАР ИВАНОВ ПОПОВ – независим кандидат | 2000 | -11 |
Приложение 2:
Вар 2 – всички гласове, без тези, в които извадки от флашките липсват (виж примерен протокол) | |||||
Обобщени данни от гласуването | |||||
№ | Партия, Коалиция, ИК | Гласове | Разпределение | Мандати | Разлика |
1 | ПП ДОСТ | 2260 | 0.093% | -12 | |
2 | ПП ГЛАС НАРОДЕН | 7298 | 0.300% | -61 | |
3 | Социалистическа партия Български път | 1570 | 0.064% | -10 | |
4 | ПП ВЕЛИЧИЕ | 97438 | 3.999% | -349 | |
5 | Булгари | 1737 | 0.071% | -12 | |
6 | МОЯ СТРАНА БЪЛГАРИЯ | 2781 | 0.114% | -17 | |
7 | ПП ИМА ТАКЪВ НАРОД | 165160 | 6.779% | 18 | -995 |
8 | ДПС-Ново начало | 281356 | 11.548% | 30 | -454 |
9 | БРИГАДА | 1181 | 0.048% | -1 | |
10 | Партия на ЗЕЛЕНИТЕ | 4897 | 0.201% | -38 | |
11 | ПРАВОТО | 2360 | 0.097% | -1 | |
12 | ВЪЗРАЖДАНЕ | 325466 | 13.358% | 35 | -1314 |
13 | АЛИАНС ЗА ПРАВА И СВОБОДИ – АПС | 182253 | 7.480% | 19 | -379 |
14 | БЪЛГАРСКИ НАЦИОНАЛЕН СЪЮЗ – НД | 2230 | 0.092% | -5 | |
15 | БСДД – ДИРЕКТНА ДЕМОКРАЦИЯ | 1694 | 0.070% | -10 | |
16 | СИНЯ БЪЛГАРИЯ | 26054 | 1.069% | -163 | |
17 | ПП МЕЧ | 111965 | 4.595% | 12 | -527 |
18 | ГЕРБ-СДС | 642973 | 26.390% | 69 | -1727 |
19 | АТАКА | 3965 | 0.163% | -16 | |
20 | ПП НАРОДНА ПАРТИЯ ИСТИНАТА И САМО ИСТИНАТА | 2463 | 0.101% | 10 | |
21 | ПРЯКА ДЕМОКРАЦИЯ | 7952 | 0.326% | -54 | |
22 | КП СВОБОДНИ ИЗБИРАТЕЛИ (РБ, ССД и ЗС) | 6293 | 0.258% | -28 | |
23 | БТР – БЪЛГАРИЯ НА ТРУДА И РАЗУМА | 1444 | 0.059% | -4 | |
24 | КОЙ | 2022 | 0.083% | -10 | |
25 | КП РУСОФИЛИ ЗА БЪЛГАРИЯ | 8860 | 0.364% | -45 | |
26 | КОАЛИЦИЯ ПРОДЪЛЖАВАМЕ ПРОМЯНАТА – ДЕМОКРАТИЧНА БЪЛГАРИЯ | 346063 | 14.204% | 37 | -2254 |
27 | БЪЛГАРСКИ ВЪЗХОД | 10318 | 0.423% | -62 | |
28 | БСП – ОБЕДИНЕНА ЛЕВИЦА | 184403 | 7.568% | 20 | -624 |
15 / 29 | ЧАВДАР ИВАНОВ ПОПОВ – независим кандидат | 2000 | -7 |
Приложение 3:
Вар 3 – всички гласове (и със секции с проблеми с машината – няма извадка от флашка)
Обобщени данни от гласуването | |||||
№ | Партия, Коалиция, ИК | Гласове | Разпределение | Мандати | Разлика |
1 | ПП ДОСТ | 2260 | 0.093% | 2 | |
2 | ПП ГЛАС НАРОДЕН | 7298 | 0.300% | -34 | |
3 | Социалистическа партия Български път | 1570 | 0.064% | 10 | |
4 | ПП ВЕЛИЧИЕ | 97438 | 3.999% | -272 | |
5 | Булгари | 1737 | 0.071% | 2 | |
6 | МОЯ СТРАНА БЪЛГАРИЯ | 2781 | 0.114% | 15 | |
7 | ПП ИМА ТАКЪВ НАРОД | 165160 | 6.779% | 18 | -718 |
8 | ДПС-Ново начало | 281356 | 11.548% | 30 | -235 |
9 | БРИГАДА | 1181 | 0.048% | 20 | |
10 | Партия на ЗЕЛЕНИТЕ | 4897 | 0.201% | -23 | |
11 | ПРАВОТО | 2360 | 0.097% | 16 | |
12 | ВЪЗРАЖДАНЕ | 325466 | 13.358% | 35 | -927 |
13 | АЛИАНС ЗА ПРАВА И СВОБОДИ – АПС | 182253 | 7.480% | 19 | -310 |
14 | БЪЛГАРСКИ НАЦИОНАЛЕН СЪЮЗ – НД | 2230 | 0.092% | 14 | |
15 | БСДД – ДИРЕКТНА ДЕМОКРАЦИЯ | 1694 | 0.070% | 7 | |
16 | СИНЯ БЪЛГАРИЯ | 26054 | 1.069% | -83 | |
17 | ПП МЕЧ | 111965 | 4.595% | 12 | -334 |
18 | ГЕРБ-СДС | 642973 | 26.390% | 69 | -1136 |
19 | АТАКА | 3965 | 0.163% | -7 | |
20 | ПП НАРОДНА ПАРТИЯ ИСТИНАТА И САМО ИСТИНАТА | 2463 | 0.101% | 24 | |
21 | ПРЯКА ДЕМОКРАЦИЯ | 7952 | 0.326% | -12 | |
22 | КП СВОБОДНИ ИЗБИРАТЕЛИ (РБ, ССД и ЗС) | 6293 | 0.258% | -15 | |
23 | БТР – БЪЛГАРИЯ НА ТРУДА И РАЗУМА | 1444 | 0.059% | 0 | |
24 | КОЙ | 2022 | 0.083% | 4 | |
25 | КП РУСОФИЛИ ЗА БЪЛГАРИЯ | 8860 | 0.364% | -25 | |
26 | КОАЛИЦИЯ ПРОДЪЛЖАВАМЕ ПРОМЯНАТА – ДЕМОКРАТИЧНА БЪЛГАРИЯ | 346063 | 14.204% | 37 | -1236 |
27 | БЪЛГАРСКИ ВЪЗХОД | 10318 | 0.423% | -31 | |
28 | БСП – ОБЕДИНЕНА ЛЕВИЦА | 184403 | 7.568% | 20 | -443 |
15 / 29 | ЧАВДАР ИВАНОВ ПОПОВ – независим кандидат | 2000 | -3 |
Приложение 4: Скрипт (Python):
import zipfile
import pandas as pd
import os
zip_path = os.path.join(os.getcwd(), ‘export.zip’)
output_base_name = ‘combined_output’
max_rows_per_file = 500000
current_row_count = 0
file_index = 1
output_file_path = f“{output_base_name}_{file_index}.csv“
output_file = open(output_file_path, ‘w’)
if not os.path.exists(zip_path):
print(f“File {zip_path} not found in the current directory.“)
else:
with zipfile.ZipFile(zip_path, ‘r’) as main_zip:
first_file = True # Flag for writing headers only once per file
for inner_zip_index, inner_zip_name in enumerate(main_zip.namelist(), start=1):
if inner_zip_name.endswith(‘.zip’):
print(f“Processing nested ZIP file {inner_zip_index}: {inner_zip_name}“)
with main_zip.open(inner_zip_name) as inner_zip_file:
with zipfile.ZipFile(inner_zip_file) as nested_zip:
for nested_file_index, nested_file_name in enumerate(nested_zip.namelist(), start=1):
if nested_file_name.endswith(‘.csv’):
print(f“ Processing CSV file {nested_file_index} in {inner_zip_name}: {nested_file_name}“)
with nested_zip.open(nested_file_name) as csv_file:
df = pd.read_csv(csv_file)
if current_row_count + len(df) > max_rows_per_file:
output_file.close()
file_index += 1
output_file_path = f“{output_base_name}_{file_index}.csv“
output_file = open(output_file_path, ‘w’)
first_file = True # Reset header flag for the new file
current_row_count = 0 # Reset row count for the new file
df.to_csv(output_file, header=first_file, index=False, mode=’a’)
first_file = False # Only write header for the first CSV in each output file
current_row_count += len(df)
output_file.close()
print(f“All files processed.“)