Пользователь
0,0
рейтинг
26 ноября 2015 в 15:50

Разработка → Найди коррупционера. Анализ данных чиновников из проектов Канцелярской сотни (с примерами на R) из песочницы

Как определить чиновников, наиболее подозрительных с точки зрения коррупции? Проще всего — сравнив их доходы и уровень жизни.

В этой статье я хочу показать возможности сайтов с открытой информацией о чиновниках, посмотреть на то, как эти чиновники живут и попытаться определить тех, кто наиболее подозрителен с точки зрения коррупции.

Почему открытая информация о доходах чиновников важна? Потому что это позволяет их контролировать.

image
Фото из инстаграмма дочери бывшего руководителя ГАИ Украины Александра Ершова. На фото дочь Ершова в Каннах рядом с Пэрис Хилтон. В результате скандала из-за несоответствия задекларированных доходов и образа жизни семьи Ершов подал в отставку.

Откуда данные?


Данные по декларациям чиновников взяты с сайта declarations.com.ua, а о владельцах элитной недвижимости — с сайта garnahata.in.ua. Оба сайта — проекты сообщества журналистов и волонтеров «Канцелярская сотня», изначально организованного для оцифровки документов из дома Януковича.

На данный момент на сайтах доступно около 11 тысяч деклараций чиновников из разных ведомств и около 9 тысяч записей о владельцах элитной недвижимости. Среди декларантов в основном представители разных министерств (включая службы на местах), работники судов и прокуратуры. Данные не претендуют на репрезентативность (чиновников в Украине около 400 тысяч), но покопаться в них все равно интересно.

У обоих сайтов есть открытый API, данные в формате JSON можно скачать с помощью скрипта на python. Схема объекта данных для деклараций есть на github тут, а схему объекта для данных о владельцах элитной недвижимости — тут. Для примера и понимания структуры данных — скан-копия одной из деклараций сайта.

Загрузив данные, я распарсила их в R, агрегировала некоторые и оставила только декларации за 2013 и 2014 годы.

Пример кода для получения данных из JSON файла
#Загружаем в R данные из файла JSON — получаем объект типа list
decl_raw<-rjson::fromJSON(file="feed.json")


#Создаем dataframe с количеством строк, равным кол-ву деклараций
decl_df<-data.frame(matrix(NA,nrow=length(decl_raw), ncol = 0))

#
#Простой случай: должность и место работы декларанта
#

#Добавляем колонки
  decl_df$general.post.region<-“”
  decl_df$general.post.office<-“”
  decl_df$general.post.post<-“”

#Считываем данные из списка

for (i in 1:length(decl_raw))
{
  #
  #ДАННЫЕ О ДОЛЖНОСТИ
  #
 
  #Регион, в котором работает декларант
  decl_df$general.post.region[i]<-decl_raw[[i]]$general$post$region
  #Учреждение
  decl_df$general.post.office[i]<-decl_raw[[i]]$general$post$office
  #Должность
  decl_df$general.post.post[i]<-decl_raw[[i]]$general$post$post
}

#
#Более сложный случай: подсчет кол-ва транспортных средств и считывание их названий
#

#Добавляем колонки
decl_df$vehicle35<-0
decl_df$vehicle36<-0
decl_df$vehicle37<-0
decl_df$vehicle38<-0
decl_df$vehicle39<-0
decl_df$vehicle40<-0
decl_df$vehicle41<-0
decl_df$vehicle42<-0
decl_df$vehicle43<-0
decl_df$vehicle44<-0

#Считываем данные из списка
for (i in 1:length(decl_raw))
{ 
  #
  #Кол-во транспортных средств по статьям декларации (пп.35-44)
  #
  
  for (unit in 35:44)
  {

    j = 0
    col_name<-paste0("vehicle", unit)
    raw_col_name<-paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`")
    
    if (length(eval(parse(text=raw_col_name)))!=0)  
    {
      for (k in 1:length(eval(parse(text=raw_col_name))))
      {
        if (length(eval(parse(text=paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`[[",k, "]]$brand"))))!=0 && eval(parse(text=paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`[[",k, "]]$brand")))!="")
        {j = j+1}
      }
    }
    decl_df[i, grep(col_name, colnames(decl_df))]<-j
  }

}  

#Добавляем колонку для названия всех ТС
decl_df_all$vehicle_names<-""

for (i in 1:length(decl_raw))
{ 
  
  vname<-""
  
  for (unit in 35:44)
  {
    col_name<-paste0("vehicle", unit)
    raw_col_name<-paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`")
    
    if (length(eval(parse(text=raw_col_name)))!=0)  
    {
      for (k in 1:length(eval(parse(text=raw_col_name))))
      {
        if (length(eval(parse(text=paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`[[",k, "]]$brand"))))!=0 && eval(parse(text=paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`[[",k, "]]$brand")))!="")
        {
          vname=paste(vname,eval(parse(text=paste0("decl_raw[[",i,"]]$vehicle$`",unit,"`[[",k, "]]$brand"))), sep=";")
        }
      }
    }
  }
  decl_df$vehicle_names[i]<-vname
}



Начнем с самого очевидного и простого — дохода.

Доходы чиновников


Декларанты указывают свой доход и доход членов семьи. Для начала посмотрим на доход в расчете на одного члена семьи.

Код для подсчета дохода на члена семьи
#decl_df — это dataframe с данными деклараций из JSON файла
#Тут и далее цифры в названии переменной обычно указывают на пункт декларации
#Чтобы избежать ошибок, когда суммарный доход подсчитывается неправильно, 
#суммируем все статьи личного дохода декларанта

decl_df$income.own<-decl_df$income.own.6+decl_df$income.own.7+decl_df$income.own.8+
decl_df$income.own.9+decl_df$income.own.10+decl_df$income.own.11+
decl_df$income.own.12+decl_df$income.own.13+decl_df$income.own.14+
decl_df$income.own.15+decl_df$income.own.16+decl_df$income.own.17+
decl_df$income.own.18+decl_df$income.own.19+decl_df$income.own.20+
decl_df$income.own.21

#Если декларант указал общую сумму, но не указал доход по статьям, считаем указанную общую сумму суммарным доходом
#В иных случах считаем суммарным доходом подсчитанную сумму по статьям

for (i in 1:nrow(decl_df))
{
  if (decl_df$income.own[i]==0 && decl_df$income.own.5[i]>0)  
  {decl_df$income.own[i]<-decl_df$income.own.5[i]}
}

#Аналогично считаем общий доход семьи

decl_df$income.family<-decl_df$income.family.6+decl_df$income.family.7+
decl_df$income.family.8+decl_df$income.family.9+decl_df$income.family.10+
decl_df$income.family.11+decl_df$income.family.12+
decl_df$income.family.13+decl_df$income.family.14+
decl_df$income.family.15+decl_df$income.family.16+
decl_df$income.family.17+decl_df$income.family.18+
decl_df$income.family.19+decl_df$income.family.20+
as.numeric(gsub(",", ".", decl_df$income.family.22))

for (i in 1:nrow(decl_df))
{
  if (decl_df$income.family[i]==0 && decl_df$income.family.5[i]>0)  
  {decl_df$income.family[i]<-decl_df$income.family.5[i]}
}

#Считаем доход на одного члена семьи

decl_df$income_per_member<-rowSums(cbind(decl_df$income.own,decl_df$income.family), na.rm=TRUE)
decl_df$income_per_member<-decl_df$income_per_member/decl_df$number_of_family_members_incl_decl

#Переводим его в тыс.грн.
decl_df$income_per_member_ths<-decl_df$income_per_member/1000


Беглый взгляд на 10%-процентили показывает, что в верхних 10% есть какие-то супер-богачи: средний доход для верхних 10% — 305,8 млн.грн. на члена семьи (около 12 млн.долларов), при этом на 90%-м процентиле значение всего 382 тыс.грн.

quantile(decl_df$income_per_member_ths, probs=seq(0,1,0.1))



В разрезе ведомств:

Код для графика
qplot(data=decl_df, x=office_g, y = income_per_member_ths, 
      geom="boxplot",
      xlab="Ведомство",
      ylab="Доход на члена семьи, тыс.грн.",
      main="Все декларанты")




Внезапно парламент. По всем остальным ведомствам доход на члена семьи не превышает 50 млн.грн. в год. Отсеем аутлаеров с очень высоким доходом и посмотрим на чиновников с доходом до 1 млн.грн. на члена семьи в год (таких 97%):

Код для графика
qplot(data=decl_df[decl_df$income_per_member_ths<1000,], 
      x=office_g, y = income_per_member_ths, geom="boxplot",
      xlab="Ведомство",
      ylab="Доход на члена семьи, тыс.грн.",
      main="Доход до 1 млн.грн.")




Видно, что средний доход выше в судах (231 тыс.) и в парламенте (209 тыс.). В остальных ведомствах средний доход около 75-100 тыс.грн. на члена семьи.

Доходы чиновников vs доходы семей


Посмотрим, как соотносится доход семьи и доход декларанта. Тут уже смотрим на абсолютные суммы без привязки к количеству членов семьи.

Код для графика
#Создаем dataframe только семейных чиновников
decl_family<-decl_df[decl_df$number_of_family_members_incl_decl>1,]

qplot(data=decl_family, y=income.own/1000, x=income.family/1000,
      xlim=c(0,800000), ylim=c(0,800000),
      xlab="Доход семьи, тыс.грн.", ylab="Доход декларанта, тыс.грн.")




Те же парламентарии-аутлаеры мешают восприятию. Посмотрим, как соотносится доход декларантов и членов семей для основной массы чиновников (ограничимся 1 млн.грн. годового дохода и для декларанта, и для членов семей — среди семейных декларантов таких 94%):

Код для графика
nrow(decl_family[decl_family$income.own<1000000 & decl_family$income.family<1000000,])/nrow(decl_family)

qplot(data=decl_family, y=income.own/1000, x=income.family/1000,
      xlim=c(0,1000), ylim=c(0,1000),
      xlab="Доход семьи, тыс.грн.", ylab="Доход декларанта, тыс.грн.",
      main="Доход до 1 млн.грн.")




Видно, что доход декларанта чаще выше дохода семьи (скопление точек вдоль вертикальной оси), но это можно объяснить и тем, что 77% семейных декларантов — мужчины, а доходы мужчин в Украине выше доходов женщин в среднем на 30% (по данным International Labour Organization)

В разных ведомствах соотношение примерно одинаковое (см.график ниже). В парламенте несколько больше людей, семьи которых зарабатывают больше. В судах — наоборот (возможно, из-за относительно высокой зарплатой судей).

Код для расчетов и графика
#Создаем переменную-фактор из 4 категорий:
#1.Нет дохода у семьи
#2.Доход семьи меньше 75% дохода декларанта
#3.Доход семьи соизмерим с доходом декларанта (составляет от 75% до 150% дохода декларанта)
#4.Доход семьи превышает доход декларанта в 1,5 и больше раза

decl_family$family.own.income.ratio<-""

for (i in 1:nrow(decl_family))
{
  if (decl_family$income.family[i]==0) 
  {decl_family$family.own.income.ratio[i]<-"1.Нет дохода у семьи"}  
  
  else
  {
    if (decl_family$income.family[i]<=0.75*decl_family$income.own[i]) 
    {decl_family$family.own.income.ratio[i]<-"2.Доход семьи меньше (<0.75x)"}
    
    else
    {
      if (decl_family$income.family[i]<=1.5*decl_family$income.own[i]) 
      {
        decl_family$family.own.income.ratio[i]<-"3.Доход семьи соизмерим (0.75-1.5х)"
      }
      if (decl_family$income.family[i]>1.5*decl_family$income.own[i]) 
      {
        decl_family$family.own.income.ratio[i]<-"4.Доход семьи больше, >1.5x"
      }
    }
  }
}

decl_family$family.own.income.ratio<-as.factor(decl_family$family.own.income.ratio)

#Создаем таблицу с % по каждому ведомству
y<-as.data.frame(100*prop.table(table(decl_family$family.own.income.ratio,decl_family$office_g), margin=2))

#Строим график
ggplot(y, aes(x = Var2, y = Freq, fill = Var1)) +
  geom_bar(stat="identity")+
  ylab("%") +
  xlab("")+
  theme(text = element_text(size=14), legend.title=element_blank(),axis.text.x = element_text(angle=90, size=12,vjust=1,hjust=1))+
  geom_text(aes(label = round(Freq,0),ymax=100),size=4,vjust=1.5,position="stack")+
  scale_fill_brewer()





Из каких источников получают доход семьи чиновников?




На первом месте дивиденды и проценты — но это только благодаря парламенту. Далее идут доходы от предпринимательской деятельности, причем этот тип более характерен для местной власти и прокуратуры, что навевает некоторые подозрения.

Зарплата в структуре доходов членов семьи чиновников только на третьем месте — хотя в целом по Украине она занимает первое место, составляя около 40% доходов населения (согласно Госкомстату).

Индекс подозрительности чиновника


Итак, краткий обзор доходов чиновников и их семей мы прошли.

Однако цель у нас другая — оценить вероятность того, что чиновник является коррупционером. Понятно, что только из данных деклараций этого сделать нельзя, даже несоответствие доходов и расходов не является доказательством взяточничества. Поэтому задача сейчас — определить некий индекс коррупционной подозрительности чиновника.

К сожалению, задача не может быть решена методами машинного обучения, так как информации о целевой переменной — является чиновник коррупционером или нет — у нас нет. Придется действовать экспертным путем.

Что может свидетельствовать о коррупции и может быть проверено на данных деклараций? Вот некоторые варианты. Для простоты расчетов за каждый пункт будет насчитываться 1 балл.

  • Крупные суммы на счетах в банках при низких доходах декларанта и членов семьи

Штрафной балл присваивается тем, у кого сумма на счетах в пять или более раз превышает общий семейный годовой доход. Таких 294 человека.

Код для расчетов
#Считаем суммарный доход (личный и семьи)
decl_df$income.own.and.family<-decl_df$income.own+decl_df$income.family

#Считаем суммы на счетах в банках (пп.45-53 декларации)
decl_df$banks<-decl_df$banks45+decl_df$banks47+decl_df$banks49+
              decl_df$banks51+decl_df$banks52+decl_df$banks53

#Делим суммы на счетах на доход
decl_df$banks.income.ratio<-decl_df$banks/(decl_df$income.own.and.family+1)

#Подсчитываем переменную подозрительности по этому пункту
#Присваиваем ее единице в тех случаях, когда сумма на счетах
#в 5 и более раз выше, чем суммарный годовой доход

decl_df$susp1<-0

for (i in 1:nrow(decl_df))
{
  if (decl_df$banks[i]>5*decl_df$income.own.and.family[i])
  {decl_df$susp1[i]<-1}
}


  • Нулевой доход семьи и декларанта. Он, конечно, может быть признаком неаккуратно заполненной декларации — но это, во-первых, тоже нехорошо, а во-вторых, может говорить о том, что чиновнику есть что скрывать.

Тут все просто. Таких оказалось 50 человек.

Код для расчетов
decl_df$susp2<-0

for (i in 1:nrow(decl_df))
{
  if (decl_df$income.own.and.family[i]==0)
  {decl_df$susp2[i]<-1}
}


  • Если имущество записано в основном на членов семьи, особенно если у них низкие доходы

Штрафной балл присваивался тем, у кого семья владеет недвижимостью площадью больше средней по выборке, и при этом у самого декларанта недвижимости меньше, чем у семьи.

Таких получилось 478 человек. Если при этом доход семьи находился в нижних 25% доходов семей, то балл умножался на 2 — таких 49 человек.

Здесь я учитывала квартиры, дома, дачи, гаражи и т.п. — но не учитывала земельные участки, потому что из-за запрета на продажу с/х земли многие выходцы из сел имеют во владении паи бывших колхозных земель, и по сути человек может обладать гектарами земли, не имея возможности получить с нее выгоду.

Код для расчетов
#Суммарная площадь недвижимости в собственности декларанта
decl_df$estate.own<-decl_df$estate24+decl_df$estate25+
                    decl_df$estate26+decl_df$estate27+decl_df$estate28
#Суммарная площадь недвижимости в собственности семьи
decl_df$estate.family<-decl_df$estate30+decl_df$estate31+
                    decl_df$estate32+decl_df$estate33+decl_df$estate34

#Считаем верхнюю границу первых 25% по семейному доходу
x<-quantile(decl_df[decl_df$number_of_family_members>0,]$income.family, probs=seq(0,1,0.25))[2]


#Считаем среднюю по выборке суммарную площадь недвижимости семьи
y<-mean(decl_df[decl_df$number_of_family_members>0,]$estate.family)

#Если недвижимости у семьи больше среднего по выборке и больше чем у декларанта
#присваиваем штрафной балл

decl_df$susp3<-0

for (i in 1:nrow(decl_df))
{
  if (decl_df$estate.family[i]>y & decl_df$estate.family[i]>decl_df$estate.own[i])
  {
    #Если при этом доход семьи находится в нижнем квартиле, умножаем балл на два
    if (decl_df$income.family[i]<x)
    {decl_df$susp3[i]<-2}
    else
    {decl_df$susp3[i]<-1}
  }
  
}


  • Крупные суммы доходов из-за границы (может свидетельствовать об отмывании средств)

Всего обнаружилось 128 человек, у которых были доходы из-за границы (личные или семейные). Из них у 44 человек эти доходы превышали доходы в Украине — их и признаем подозрительными.

Код для расчетов
#Доходы из-за границы (декларанта и семьи)
decl_df$income.from.abroad<-decl_df$income.own.21+as.double(decl_df$income.family.22)

decl_df$susp4<-0

for (i in 1:nrow(decl_df))
{
#Если доход из-за границы больше, чем доход внутри страны — присваиваем балл  
if (decl_df$income.from.abroad[i]> 
decl_df$income.own.and.family[i]-decl_df$income.from.abroad[i])
  {decl_df$susp4[i]<-1}
}


  • Наличие нескольких автомобилей при отсутствии жилья

Возьмем тех, у кого более двух авто и нет жилья. Таких 31 человек.

Код для расчетов
#Количество авто (легковых и грузовых) в семье
decl_df$vehicles<-decl_df$vehicle35+decl_df$vehicle36+
                  decl_df$vehicle40+decl_df$vehicle41

decl_df$susp5<-0

for (i in 1:nrow(decl_df))
{
 if (decl_df$vehicles[i]>2 &  decl_df$estate.own[i]==0 & decl_df$estate.family[i]==0)
 {decl_df$susp5[i]<-1}
}



  • Наличие автомобилей класса люкс

Я не нашла какой-либо утвержденной классификации автомобилей со списком марок и моделей, которые можно отнести к классу люкс. Поэтому пользовалась вики-статьей Luxury vehicle.

В итоге список получился таким: Acura, Alfa Romeo Giulia, Audi A4, Audi A6, Audi A7, Audi A8, Bentley, BMW 3, BMW 5, BMW 7, Cadillac, Ferrari, Hummer, Infinity, Jaguar, Lamborghini, Land Rover, Lexus, Maserati, Mercedes-Benz C, Mercedes-Benz E, Mercedes-Benz GL, Mercedes-Benz S, Porsche, Rolls-Royce, Saab 9-3, Saab 9-5, Volkswagen Phaeton, Volvo S60, Volvo S80.

Штраф начислялся тем, у кого есть хотя бы один из этих автомобилей, но не начислялся, если это единственное авто в семье (мало ли, вдруг копили всю жизнь). Всего таких 653 человека.

Код для расчетов
#Вектор с названиями авто
luxury_cars<-c('Acura',	'Lexus',	'Cadillac',	'Alfa Romeo Giulia',	'Jaguar',	'Volvo S60',	'Infinity',	'Saab 9-3',	'BMW 3',	'Audi A4',	'Mercedes-Benz C',	'Volvo S80',	'Audi A6',	'Audi A7',	'Mercedes-Benz E',	'Saab 9-5',	'Maserati',	'BMW 5',	'BMW 7',	'Audi A8',	'Mercedes-Benz S',	'Porsche',	'Volkswagen Phaeton',	'Rolls-Royce',	'Bentley',	'Ferrari',	'Lamborghini',	'Mercedes-Benz GL',	'Hummer',	'Land Rover')

for (j in (1:nrow(decl_df)))
{
  decl_df$susp5.1[j]<-0
  for (i in (1:length(luxury_cars)))
  {
    #Если в списке машин встречается название из вектора
    if (grepl(luxury_cars[i], decl_df$vehicle_names[j], 
                  ignore.case=TRUE)==TRUE)
        {
            #Считаем кол-во таких машин
            decl_df$susp5.1[j]<-decl_df$susp5.1[j]+
            length(gregexpr(luxury_cars[i], decl_df$vehicle_names[j],ignore.case=TRUE)[[1]])
        }
  }
}

decl_df$susp5.2<-0

#Если есть элитные авто - присваиваем штрафной балл
for (i in (1:nrow(decl_df))) {if (decl_df$susp5.1[i]>0) decl_df$susp5.2[i]<-1}

#Если это единственное авто - снимаем штрафной балл
for (i in (1:nrow(decl_df))) {if (decl_df$vehicles[i]==1) decl_df$susp5.2[i]<-0}


  • Высокие доходы членов семьи от предпринимательской деятельности.

Штрафной балл начислялся тем, у кого соотношение доходов семьи от предпринимательской деятельности к общему доходу было выше среднего по выборке. Таких оказалось 419 человек.

Код для расчетов
#Изначально присваиваем коэффициенту значение 0
decl_df$familyPE.own.income.ratio<-0

#Для тех, у кого не нулевой доход, считаем соотношение дохода 
#семьи от предпринимательской деятельности к общему доходу семьи и декларанта
decl_df[decl_df$income.own.and.family>0,]$familyPE.own.income.ratio<-
decl_df[decl_df$income.own.and.family>0,]$income.family.17/decl_df[decl_df$income.own.and.family>0,]$income.own.and.family

#Среднее по выборке соотношение дохода семьи от предпринимательской деятельности к общему доходу.Считаем только для тех, у кого в семье есть доход от предпринимательской деятельности
x<-mean(decl_df[decl_df$income.family.17>0,]$familyPE.own.income.ratio)

decl_df$susp6<-0

#Если соотношение больше среднего — присваиваем штрафной балл

for (i in 1:nrow(decl_df))
{
  if (decl_df$familyPE.own.income.ratio[i]>x)
  {decl_df$susp6[i]<-1}
}


  • Владение элитной недвижимостью (на основе данных garnahata)

Проект «ГарнаХата» собирает данные о собственниках дорогой недвижимости — это официальные данные на основе Государственного реестра имущественных прав.

Для наших целей я сравнила ФИО собственников с ФИО декларантов — при полном совпадении (таких было 80 человек) декларанту добавлялся 1 балл к подозрительности.

Кроме того, я сделала сверку только по фамилии (без имени и отчества) декларанта или фамилии родственников, которых он указал в декларациях. Поскольку фамилии бывают распространенные, то совпадений было много (более 2 тысяч), но и к показателю подозрительности добавлялось только 0,5 балла.

Сверка делалась в Excel, поэтому без кода

Результаты


Сложив вместе баллы по всем подозрительным пунктам, я получила общий показатель подозрительности.

Код для расчетов
decl_df$suspicious<-decl_df$susp1+decl_df$susp2+
                    decl_df$susp3+decl_df$susp4+decl_df$susp5+decl_df$susp5.2+
                    decl_df$susp6+decl_df$hata_own+decl_df$hata_family*0.5


Из 10 346 декларантов он был больше нуля для 3971, но это в основном за счет совпадения фамилии из реестра недвижимости — показатель выше 0,5 зафиксирован для 1461 декларанта. Максимальное значение показателя — 5 (из теоретически возможного максимума 9,5).

Распределение по ведомствам снова указывает на парламент:

Olga Makarova @pro100olga
карма
83,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (149)

  • +1
    Audi A4, Saab 9-3 и Volvo S60 — лакшери? Это же D-класс, средний.
    • +5
      Меня тоже немного гложет то, что это все основано на вики-статье. Но реально не знаю, где взять такие данные, чтобы к ним не придраться.

      Есть европейская категоризация автомобилей, и там есть класс люкс-авто и спорткаров, но я не нашла, какие марки и модели туда входят.

      Если у вас есть предположения, где можно взять такие данные — то я с удовольствием их использую.
      • +1
        Как вариант, можно из подобной выборки взять.
        • +1
          Спасибо, я посмотрю! Я думала о том, чтобы взять данные с какого-нибудь автосайта, но неясно, насколько там полный набор марок/ моделей. Конечно, на википедии он тоже может быть неполный )

          Вообще, у нас собираются ввести налог на роскошные авто, каким-то образом их определив (не по стоимости и не по объему двигателя). Можно будет этот список использовать.
          • +3
            В России для уплаты налога на роскошные автомобили используется список, публикуемый на сайте Минпромторга
            • 0
              Вот это то что надо! Спасибо, буду дальше его применять.
      • +2
        Мне кажется, новые авто дороже 1,5 млн. (то есть E-класс и далее) как раз есть штраф-фактор. Я бы исключил указанные авто из списка.
        Конечно, можно взять ту же А4 2009 года выпуска, отдать ее на «пересобрать» и в итоге получить около-люкс модель с кожаными сиденьями и инкрустацией драгметаллами. Но такие случаи будут тонуть в общей массе авто классом выше.
        • +2
          Проблема в том, что не все указывают год выпуска авто в декларации. По сути, ориентироваться можно только по марке+модели.
  • +25
    Алексей, вы?
    • +34
      Нет, я не Алексей :)
      • +8
        «Я не Ольга, я Антон».
    • 0
      Нет, это Денис.
  • +1
    да и древних трешек/пятерок БМВ как грязи… таже Паджера, новую еще можно полулюксом считать (под 2 ляма таки), то уже пятилетка ни фига не люкс точно…
    • 0
      Да, я думала насчет года выпуска. Вообще его должны указывать, но фактически часто не указывают, поэтому я не стала использовать этот параметр.
  • +27
    Согласно этим данным, куда порекомендуете в следующий раз нести покрышки — к парламенту, прокуратуре или судам?
    • +30
      Отличный вопрос ) Но не думаю, что Хабр это место для подобных обсуждений )
    • +6
      Это был риторический вопрос, я ни к чему не призываю :)
      • +4
        Но минуса уже пошли )
        • +12
          Это ерунда) Возможно журналистские расследования вроде вашего и общественный резонанс от них все таки будут делать свое дело, и покрышки больше никогда не понадобятся!
      • –18
        Своим вопросом вы призываете к срачу в комментах.
        • +27
          А по-моему это была просто шутка, и притом вполне удачная ;)
          А у людей тут же защёлкало в головах.
    • +46
      смотря для какого авто у вас покрышки
    • –3
      [шутка]
      А поможете нам, подбросив покрышки к Кремлю?
      [/шутка]
  • 0
    Датасет не смотрел, но судя по графикам действительно есть декларации с нулевыми доходами или это вероятные ошибки парсинга деклараций?
    • 0
      Вот пару сканов (реально пишут прочерки, не знаю, чем это можно объяснить):
      unshred.it/static/lustration/546cb31da7688.pdf
      unshred.it/static/lustration/54880f4f9c976.pdf
      unshred.it/static/lustration/5475abe9f3119.pdf

      Доходы — пункты 5-22
      • 0
        Вариант 1. Не знали что придумать.

        Вариант 2. Весь доход нелегальный.
        • 0
          Либо забили. Всё равно никто ни за что не сядет.
          • 0
            Я тоже думаю, что забили. Эти 11 тыс. — капля в море, основная часть деклараций лежит мертвым грузом на сайтах в виде скан-копий.
            Но уже приняты законы о заполнении в электронном виде, и как раз идет тендер на выбор поставщика для разработки ПО такой системы (деньги дает UNDP).
            Это я все к тому, что может когда поймут, что на их декларации смотрят, начнут аккуратнее заполнять.
            • 0
              Да. Open Data очень многим вправит мозги.
            • 0
              Ну станут аккуратнее заполнять, и что? Собственно я Вам по секрету скажу, что они и так в электронном виде уже давно есть.
              Они есть в базах налоговой. Они есть в каждом органе в электронном виде. Я уже этого не отслеживал, но помню что спускали какую-то постанову чтобы на местах оцифровывали коррупционные декларации (декларации которые сдаются по закону о коррупции, не только чиновниками, они почти повторяют обычные, но хранятся в отделе кадров, и лишь по запросам дергаются. У нас вплоть до дворников заполняли. Помню моим ребятам была задача оцифровки, не помню куда это всё шло. Не вникал.

              Суть в том, что всё всегда фикция если не знать что с этим делать. Вы вон софт финансируете, а оно уже есть)
              Даже если оно в базе и не всё, то форма то общая, девочки операторы в «центрах обслуживания платныкив» умеют их забивать. Всё всегда одинаково. Десятки дублирующихся данных, формальные ответы и реакции.
              • 0
                Я уже этого не отслеживал, но помню что спускали какую-то постанову чтобы на местах оцифровывали коррупционные декларации


                Слухи это прекрасно. Дайте пруфлинк, пожалуйста.

                Вы вон софт финансируете, а оно уже есть)


                Какой софт я финансирую? О.о Вы что-то знаете обо мне, чего не знаю я? :)
                • 0
                  Да, слухи, простите. Позвонил, коррупцию сканировали, а не забивали руками.
                  Плохой из меня нач.отдела, пусть и бывший)
                  На счет финансирования — ну не Вы лично конечно. Я про общий тренд.
                  Хороший или плохой, но софт для забивания деклараций есть. И база есть. И инфраструктура для их заполнения.
                  Черт, у на в стране информация дублируется по несколько раз даже в одной и той-же форме. И в разных базах одно и то-же забивают по десять раз.
                  • +1
                    Хороший или плохой, но софт для забивания деклараций есть.


                    У кого есть софт, который позволит всем чиновникам подавать декларации в электронном виде?
                    Сообщите, пожалуйста, может не нужен будет и тендер.
                    • 0
                      это надо искать. напомните что за форма вам надо? F01001 или F01002?
                      если не ошибаюсь то 001. Не помню есть ли в бесплатных, но в платных точно было.
                      Да и не в том дело. Написать вам формочку для заполнения этих XML?
                      Ключи вы всё равно будете покупать (или чиновники) у ацск или бесплатно. А все ацск у нас имеют свой софт для подписи.
                      Тендеры у нас до войны были от 100тыс гривен. Если бы не было хаьра и волонтеров, то всё равно там цена в 100тыс укладывается. Но опять таки, надо нормативку поднять. Насколько я помню чинуши свои декларации в налоговую тоже сдают. А там всё оцифровывают и так.
                      • 0
                        То есть готового софта нет.
                        • 0
                          Декларацию о доходах физлиц можно заполнять в ЛЮБОЙ программе электронной отчетости.
                          Антикоррупционную заполнять нельзя потому что в инструкции по ее заполнению написано «собственноручно шариковой ручкой». Позвонил одному из разработчиков софта по отчетности. Сказали как только будет разрешено заполнять — добавлят от одного дня, до недели. Бесплатно.
                          Так что буду с интересом следить за «тендером».
                          • 0
                            Дайте контакты разработчика.
                            • 0
                              Для этого есть гугл. Я позвонил по телефону из гугла.
                              • 0
                                И что, теперь не можете мне дать телефон, по которому звонили? ) Вы такой загадочный ))
                                • 0
                                  А зачем я буду давать Вам телефон, который вы не можете сами найти?
                                  Если у вас нет телефона из гугла, то вы не сможете им воспользоваться так как нужно.
                                  Строго говоря телефон нужен тут лишь чтобы проверить мои слова. Но если чуть погуглить на тему электронной отчетности, то не будет иметь смысла что-то проверять.
                                  Вы не обладаете достаточной компетенцией, чтобы решать этот вопрос.
                                  Но это возрастное (не о паспортном возрасте а о работе с государством, общим управлении проектами и т.п.). Рациональнее продолжить диалог здесь :)

                                  Итак чтобы сделал компетентный человек на Вашем месте?
                                  1 — нужно проверить нормативку. Важным в моих словах является не то как просто сделать эту форму, а слова о нормативке. Первое что нужно проверять это действительно ли нет нормативки о том, чтобы сдавать такую отчетность в электронной форме. (я могу и ошибаться, я не тратил достаточно времени на это). Второе что нужно проверить это нормативку по обычной декларации сдаваемой в налоговую.
                                  2 — убедившись в существовании такого документа и в необходимости рефакторинга нужно сравнить оба названных вида отчетности на предмет их сходства. Если они достаточно близки, то добавить недостающие таблицы, и пометку «публичная анкета» или что-то вроде.
                                  3 — продумать структуру самого процесса. Я бы советовал чтобы сдачу деклараций на основании мокрых бумажек делегировали работодателю декларанта а при отсутствии — бумажку в налоговую. Можно сразу в налоговую нести, там операторы всё умеют и софт у них уже есть, но в бухгалтерии каждого гос.органа тоже есть софт.
                                  4 — на основе полученного анализа подготовить соответствующие проекты постановы кабмина, и соответствующих постанов Насырова и т.п., подготовить сразу схемы для XML и PDF-ки., чтобы не отмазывались мол это всё надо делать, это время…
                                  5 — подготовить несколько вариантов постанов, на которые Вы согласны, ведь чинушам захочется что-то чуть подправить, показать свою важность…
                                  6 — брать за шкирку своих лоббистов и тащить это на Кабмин.

                                  Это не сложно. Это не страшно. Да, чуть поработать, но это регулярно делают каждый двадцатый юрист из мелких гос.органов. Если тебе надо чтобы что-то приняли — пиши сам, и неси наверх.

                                  Пользы от этого в рамках исследований будет не много. Но будет полезно иметь прецедент. Когда волонтеры работают за чиновников. Ну и шанс что хоть что-то будет сделано разумно. Что волонтеры узнают как устроен наш персональный ад с электронной отчетностью :)

                                  Но если я дам телефон… буду помогать на каждом этапе… то всё будет сделано через одно место. И толку с этого не будет никакого. Не мне нужны оцифрованные декларации — вам.
                                  • 0
                                    Слив засчитан :)
        • 0
          Вы даже не допускаете мысли что человек может прожить один год без доходов, на деньги которые из матраса достает?
          Ситуация конечно маловероятная, но не невозможная.
          • 0
            «Из матраса» это вариант 2.
            • 0
              То есть если я, чисто гипотетически, за последние 8 лет устраивал себе 3 отпуска продолжительностью в 6 мес-год каждый, не имея в этот промежуток никаких доходов, а тратя ранее накопленные в матрасе, то внезапно эти накопления превратятся в «доход нелегальный»?
              Я заплатил с них налоги в те года, когда фактически получил, задекларировал тогда же.
              • 0
                Автор рейтинга декларирует его как признак подозрительности, а не как приговор.
                В этом контексте она права. отсутствие доходов МОЖЕТ БЫТЬ ПРИЗНАКОМ подозрительности. Обычная экспертиза.
              • 0
                Вы, вероятно, можете. И то с большим трудом. Чиновник — нет.

                И то, думаю, что накопить за год еще на год жизни можно только с нелегального дохода.
                • 0
                  (ко второй части) Ну почему же? С зарплатой в 50'000 можно жить на 22000 и откладывать 28000, чтобы компенсировать возможную гиперинфляцию в течение второго года. Конечно, уровень жизни при этом будет далеко не таким, как при трате 100% зарплаты, но ведь всё относительно :)
      • +5
        Спасибо!
        Первый персонаж шикарный. Круглая сирота без семьи и доходов. С квартирой в Киеве и Лексусом.
      • 0
        Интересно, что в парламенте в принципе много официально небедных людей. А в прокуратуре — сплошные выбросы. Вообще ни разу не коррумпированная структура, да.
        Спасибо за интересные данные.
        • 0
          Выборосов в принципе везде много, но да, в прокуратуре самый узкий интервал часто встречающихся значений. Про парламент логично — их ведь выбирают, они должны как-то причесывать свои официальные доходы/ расходы. А прокуратуру никто не выбирает ))
  • +22
    Вот это настоящая аналитика и журналистика. Уверен что если бы человеку дали больше данных — результат был бы намного лучше. Не тот поток, который мы слышым ежедневно из олигархических СМИ.

    По этому я за прямую демократию, чтобы именно такие люди могли себя реализовать и повысить уровень развития общества. Сейчас же мы в основном деградируем и нищаем (я про свою страну, если что).
    • +2
      Спасибо большое! Очень хотелось бы что-то придумать с этими данными более изощренное, но ничего такого не придумалось. Если есть идеи — буду благодарна.
      • 0
        Подсказываю.

        Обратиться хотя бы к студентам которые как-то изучали матстатистику.

        Потому что ваш «экспертный» метод обнаружения «подозрительных из списка подозрительных» просто не рабочий.
        Что, кстати, парламент наглядно и продемонстрировал.

        Ещё полезно понимать кто, как, почему и зачем идет во власть.
        На текущий момент очень много богатых людей шли во власть с целью увеличить богатство и/или защитить его.

        Ну и расстаться с наивностью. Тоже будет полезно. Коррупция она начинается не с парламентов, а лично с вас.
        Победите её внизу — вверху её не станет автоматически. Потому что в противном случае верх очень быстро поменяют.

        Сейчас же это нездоровое подростковое (я видел ваш возраст и это ничего не меняет) в виде зависти, «они во всем виноваты» и нежелании меняться самим.
        • 0
          Почему не рабочий? Что продемонстрировал парламент? С чего вы взяли, что я считаю, что «они во всем виноваты»? Почему вы решили, что мне свойственно «нежелание меняться самим»?
          В целом, вы не могли бы как-то аргументировать свое мнение? ))
          • +1
            Потому что вам на это уже неоднократно указали — он даже «подозрительных» не может определить. Просто по факту — копать можно под любого чиновника (и впрочем под не чиновника тоже) поскольку у всех рыльце в пушку. Для чего тут ваши баллы?
            Чтобы указать на лысых когда кругом одни лысые?

            Или вы хотите наказать только тех, кто украл больше вас?

            А парламент продемонстрировал то, что он вам выборку ломает и вы его отбрасываете…
            Это как, пытаясь найти общие признаки по которым можно отличить людей от каких-то других животных, отбросить всех баскетболистов из-за их роста…
            Может методологию сменить?

            По каким критериям были выбраны коэффициенты? Где один, а где два?
            Высосали из пальца?
            По каким методикам было определено «высокие доходы из-за границы», «высокий доход от предпринимательской деятельности» и т.п. что именно подобное сочетание признак отмывания денег и/или коррупции?

            У вас весь расчёт построен на высосаных из непонятно откуда постулатах, которые вы потом использовали для какой-то там оценки.

            Латынину что ли почитайте, описанные ею в своих статьях в 90-х начале 2000-х схемы работают до сих пор, хотя и появились новые.

            Подсказка — для отмывания денег совершенно не требуется выводить их за границу. Достаточно создать благотворительный фонд, который построит пяток детских площадок по цене пятидесяти…
            И подобных вариантов масса.

            Как вы это учитываете? А никак.

            Что касается персонально вас, то вы отлично продемонстрировали свое нежелание учиться и работать над собой.
            Про электронные формы для заполнения деклараций вам сказали?
            Вы что сделали? Оторвали свою задницу от стула и нашли? Нет, вы начали выпрашивать телефон.
            http://business.vesti-ukr.com/storage/asset/image/2013/11/03/7/75/770/dee30eda5ddf03e7f7b99e9c3e.JPG

            http://acskidd.gov.ua/program_obespech
            • 0
              жестко. Но по делу.
            • +1
              Потому что вам на это уже неоднократно указали — он даже «подозрительных» не может определить.


              Покажите, пожалуйста, где мне неоднократно на это указали. Я не вижу ни одного аргументированного мнения на этот счет. То что у Кличко получился высокий показатель не означает, что модель не рабочая, потому что она определяет как раз подозрительных, а не дает вердикт.

              Просто по факту — копать можно под любого чиновника (и впрочем под не чиновника тоже) поскольку у всех рыльце в пушку. Для чего тут ваши баллы?


              Для того чтобы копать под тех, чью вину будет проще доказать.

              Или вы хотите наказать только тех, кто украл больше вас?


              Вы меня обвиняете в краже? На каком основании?

              А парламент продемонстрировал то, что он вам выборку ломает и вы его отбрасываете…


              Он мне ничего не ломает, и я его не отбрасываю.

              По каким критериям были выбраны коэффициенты? Где один, а где два? Высосали из пальца?


              Коэффициенты взяты для простоты, об этом указано в статье. У вас есть решения, как их оптимизировать — с удовольствием их приму.

              По каким методикам было определено «высокие доходы из-за границы», «высокий доход от предпринимательской деятельности» и т.п. что именно подобное сочетание признак отмывания денег и/или коррупции?


              А что вы можете предложить использовать из данных деклараций в качестве таких признаков?

              Подсказка — для отмывания денег совершенно не требуется выводить их за границу. Достаточно создать благотворительный фонд, который построит пяток детских площадок по цене пятидесяти…


              Я показываю, как можно использовать данные деклараций. Это один источник. Будут другие (с данными про благотворительные фонды) — буду использовать их.

              Про электронные формы для заполнения деклараций вам сказали?
              Вы что сделали? Оторвали свою задницу от стула и нашли? Нет, вы начали выпрашивать телефон.


              Потому что автор сообщения не раз сливался, поэтому я хотела получить от него реальные данные, а не очередное «блаблабла, ой я забыл». А то, что он телефон не дал, еще раз свидетельствует не в его пользу.
            • 0
              По вашим ссылкам — проконсультировалась у ребят, которые участвуют в организации тендера, вот их ответ:

              Это налоговая декларация, она серьезно отличается от декларации о доходах и имуществе. + согласно нормативке, оператором будущей системы подачи деклараций о доходах и имуществе будет НАЗК. Наконец–то, оба комментатора забывают, что заполнить и подписать декларацию при помощи ЭЦП — это примерно 20% всей задачи. Нам нужно хранить, анализировать, пробивать по реестрам, вести на основании них дела, сравнивать между годами, публиковать это всё и проч.проч.проч. И нужен BankID. Ну и еще очень не хочется связываться с налоговой.

              Ну и вот ссылка на тендер, кому интересно: procurement-notices.undp.org/view_notice.cfm?notice_id=25621
              • 0
                Как же я ненавижу говнокодеров.
                Больше сущностей, больше ада.
                В стране мало отчетов, таблиц, различных органов, разных программ, разных систем.
                Нужно плодить сущностей.
                отдельную базу, отдельную таблицу, отдельный орган. Отдельный формат данных…
                Всё свое.
                К черту. Варитесь сами.
                • +4
                  Нет, только не это! Вернитесь, напишите еще побольше огромных комментариев! )
              • 0
                У меня только маты…

                Вы это серьёзно?

                «нужен BankID» нахрена? Чтобы декларанта идентифицировать? Так у вас есть ИНН, что ещё вам не хватает?

                «Нам нужно хранить» — декларации уже хранятся.
                Причём в электронном виде. Не сканы…
                Берите и пользуйтесь!

                «согласно нормативке, оператором будущей системы подачи деклараций о доходах и имуществе будет НАЗК. » — правильно! Ещё больше чиновников хороших и разных… Ведь все хотят к кормушке…
                Но вы предпочтете искать лысых… А не страдать… ней, а реально подумать это же так сложно.
                Кто мешает собирать первичку там, где это уже налажено и ограничится анализом её (только не вашей профанацией, а реальным анализом)?
                Зачем дублировать функции и каналы?

                «Ну и еще очень не хочется связываться с налоговой.»
                А это вообще +5
                Марата и Ежова на вас не хватает… Ждём пришествия…
                • +1
                  Вы говорите о налоговой декларации.
                  А речь идет о декларации о доходах и имуществе.
                  Это разные формы.
                  Жду следующего витка истерики )
                  • –4
                    Вот поэтому и рождается миф, что большинство женщин — дуры :)

                    Ну вы хоть бланки деклараций сравните…
                    http://sfs.gov.ua/data/material/000/054/90753/Kopiya_Forma_Deklaratsii.xls

                    Внезапно?
                    • +3
                      Внезапно там нет:
                      1) данных о семье — никаких, ни имущества, ни доходов, ни счетов
                      2) данных о банковских счетах
                      3) данных про обязательства.

                      Какое теперь оскорбление придумаете? )
                      • –2
                        Данные о семье есть в органах загс.
                        Печально? Да?
                        Имущественное состояние членов семьи отлично помещается в этой же форме когда она будет заполнена для каждого из них.
                        Грустно? Да?

                        Вопрос с остатками по банковским счетам, наличию акций и паев — не в курсе.
                        Уверен, что подобные формы и данные уже есть и собираются.
                        Нужно их просто получить.

                        А оскорбить вас? Да полноте вам… У меня просто фантазии настолько нет, насколько вы сами уже подставились…
                        • +4
                          Ахаха )) То есть вас не смущает то, что члены семьи не обязаны подавать налоговые декларации? ))
                          И конечно, гораздо проще взять налоговую декларацию, а потом прикрутить к ней данные ЗАГСов — чем просто взять готовую декларацию о доходах и имуществе.
                          И вот это «уверен, что подобные формы и данные уже есть и собираются» — конечно, в декларации о доходах и имуществе )) Пойдите еще подружитесь тут с одним из комментаторов, который тоже уверен, что все данные есть, но где они неясно, а может их и нет ))

                          Знаете, надо как-то получше готовиться к дискуссии, чтобы не приходилось прибегать к оскорблениям как единственному аргументу
                          • –4
                            Ну вас же не смущает собственное профанство?

                            Но вы лезете и делаете вид, что что-то там анализируете…

                            Выше по текстам были вопросы, которые вы просто предпочли не заметить.
                            Потому что отвечая на них вы покажете себя как дуру.
                            Так вот не бойтесь, сильнее не будет.
                            И дураком человек не становится от того что он чего-то не знает и признается в этом.

                            А дураками становятся ровно тогда, когда абсолютно уверены и не готовы учиться…
                            Чем вы сейчас и занимаетесь.

                            И, да, намного проще и дешевле заниматься анализом уже собранных данных пусть и в рамках разных ведомств и источников.
                            Чем пытаться продублировать уже работающие решения, только потому что у них пуговицы не перламутровые…

                            К тому же уменьшая количество необходимых чиновников вы 100% боретесь с коррупцией.

                            Тогда как сейчас я вижу лишь детский максимализм и намерения попилить гранты и бюджеты удовлетворяя его…

                            P.S. «конечно, в декларации о доходах и имуществе» — если это уже реализовано онлайн, то по какому поводу вы и ваши «соратники» в вашем лице надуваете тут щеки?
                            Вы же декларировали что в планах это сделать?
                            • 0
                              P.S. «конечно, в декларации о доходах и имуществе» — если это уже реализовано онлайн, то по какому поводу вы и ваши «соратники» в вашем лице надуваете тут щеки?

                              ))) вас очень смешно троллить! Это не реализовано онлайн. Нынешний проект занимается оцифровкой скан-копий. Но это очень большая работа, которую проще изначально перевести в онлайн. Что и будет сделано. И не потому что кто-то там пилит гранты и бюджеты (я кстати ничего на этом не зарабатываю, равно как и волонтеры, занимающиеся оцифровкой), а потому что такие изменения приняты законодательно, согласованы с министерствами и с UNDP. Видимо, они все дураки, все кроме вас )
                              • 0
                                Почему согласовали чиновники мне понятно :)

                                Это же их хлеб и пачка новых рабочих мест да возможностей попилить денег…

                                А вот ваше «уже есть», относилось к контексту онлайн обработки. Про бумажки мы с вами речи не вели.
                                Получается вы нагло соврали?

                                P.S. Ну, если целью вашего троллинга была демонстрация вашего скудоумия, то наздоровье…
                                • +2
                                  Чиновники не получают за это денег. Это не государственные закупки.
                                  Нет, я не врала )

                                  Итак, подсуммируем наш диалог.
                                  Вы эмоционально высказались с несколькими обвинениями и предложили мне использовать другую формую деклараций.
                                  Я задала вопросы, на которые вы не ответили и указала, что это другая форма деклараций.
                                  Вы меня оскорбили и прислали другую форму деклараций, доказывая, что она то что нужно.
                                  Я вам еще раз указала, что это другая форма.
                                  Вы посоветовали вместо того чтобы использовать единый источник данных, использовать несколько, при этом вы не знаете, можно ли эти данные взять, и снова меня оскорбили.

                                  В общем, спасибо, повеселили, до свидания )
                                  • –2
                                    В общем, спасибо, повеселили, до свидания )

                                    Понимаете, Fortop, это не она дура, это мы с Вами идиоты.
                                    Нас троллят. С нас смеются.

                                    Вы знаете. А мне вот стыдно. Стыдно не за то, что перешел на темную сторону Силы. Стыдно не за то, что брал у них печеньки. Стыдно не за то, что вел себя тут так-же надменно как и те кого критикую.
                                    Не за то, что не увидел бревна…
                                    Стыдно мне за то, чем в свое время гордился.
                                    Я ведь был такой независимый. Я мог позволить себе повернуться и уехать в разгар выборов, потому что плевать я хотел на зарплату, и если меня не послушают (когда я был прав, и всё-таки не уехал), то я могу себе это позволить… Стыдно за то, что я «всё знал лучше всех»…
                                    Стыдно за то, что когда я бегал по лесочкам от ментов с материалами по фальсификациям выборов — мне было весело. Вот за это стыдно.
                                    Засунул бы свое ЧСВ и свое веселье себе куда подальше, может быть кому-то и не пришлось бы в этой войне погибать…
                                  • –2
                                    Вы серьезно верите, что это «нечто» окажется не в ведении чиновников?

                                    В отличии от вас, девочка, я застал оба майдана взрослым и прекрасно вижу каким пшиком заканчивается и тот и другой.

                                    И одна из проблем это такие как вы горе-специалисты велосипедостроители…

                                    Ваша аргументация в стиле «не хотелось бы связываться с налоговой» это просто верх практичности и рационализма.

                                    Вот это и есть сухой остаток.

                                    P.S. А список неудобных для вас вопросов, которые вы предпочли не заметить поищите сами, возможно хоть что-то у вас получится сделать качественно своими руками.
                                    • 0
                                      Вот где вы ее возраст видите?
                                      • 0
                                        Был когда-то в каком-то из профилей дамы.
                                        На хабре, или еще где…

                                        «мамой клянусь» (с) не мой
                            • +1
                              А кстати, какие вопросы я предпочла не заметить?
                            • –2
                              Вы тоже несколько заблуждаетесь в том «как это работает».
                              Дебилизм в государстве не от злого умысла и попилов.
                              Даже при януковиче по инструкции откат был 30%. Ну накинут на эту сумму еще 10%.
                              Ну накинет исполнитель еще 20%. Ничего страшного.
                              40% ведь дойдут до назначения? Нет.
                              Нет, они бы и рады были чтобы дошли. Они совершенно не хотят, чтобы всё рухнуло, и потом опять и снова нужно было бы распилить эти 60%.
                              Нет, честно.
                              Они искренне надеются что эти 40% выполнят свою задачу. Всегда будет «тема» для попила. А отвечать за проваленные результаты это дорого. Обычно это стоит половину от украденной суммы, а поскольку в процессе пришлось делиться, то лучше бы проект выгорел.
                              Но он не выгорит.
                              Потому что кто будет заниматься проектом?
                              Девочка с зарплатой 200 баксов (до войны, сейчас все 50)?
                              Она самая умная в своей сфере? или просто купила место?
                              Или у нее просто муж зарабатывает (или «зарабатывает») а ей надо хоть чем-то заниматься?
                              Какие решения она будет принимать?
                              Она может купить самое дорогое. Она может купить самое дешевое.
                              Она может обратиться к «куму/брату/свату/племяннику-третьей-жены-брата-невесты-сестры» или к специалисту которого посоветует этот кум/брат/сват… В любом случае это будет почти случайное, и по определению не самое лучшее решение. В проекте где таких решений принимается под сотню — результата не будет совсем.
                              Очень простой пример — я заказал три управляемых 24-портовых гигабитных свича. Ничего сложного. Цена была на 30% выше чем я предлагал (т.е. на 40% выше реальной), но другая модель и только у этой фирмы можно заказывать «папа так сказал». Ну ок, не вопрос… Мне же проще — не нужно заниматься выполнением невыполнимых условий, договариваться с бухгалтерией, казначейством, брать несколько вариантов документов у поставщика потому что одни подходят бухгалтерии другие казначейству а третьи соответствуют закону… В общем жизнь прекрасна. Да только приехали неуправляемые. Мальчик (племянник высокого начальника) не понимает разницу между управляемыми и неуправляемыми, а тут возможность купить «точно такие же» свичи — тоже 24, тоже гигабит, но заметно дешевле и «заработать».Куда мне эти свичи? Правильно. У меня как раз вышли изи строя два пятипортовых 100-мегабитных и один восьмипортовый 100-мегабитный.
                              Да, это и сейчас заметная разница в цене, но что поделать? В топологию сети неуправляемые там не лезли…

                              Как это относится к нашей визави? Она ведь не покупала место «волонтера»?
                              Нет конечно. Но кто занимается такой деятельностью? И главное зачем?
                              Тот у кого много свободного времени или тот кому важно ЧСВ.
                              Мотивация чуть другая, но принцип Питера тут соблюдается точно так-же.
                              Вы думаете Саше Боровику не говорили что он идиот, что не надо налегать на пиар, а больше внимания уделять явке? Говорили. Именно так и говорили. Именно такими же словами.
                              Да друзья мои, если вы вдруг это читаете — вы такие же идиоты как Саша.
                              Нельзя человеку который пришел позаниматься общественно полезным делом да покрасоваться собой говорить что он идиот. Нужно сказать «Сашенька, ты такой молодец, а пиарщики твои вообще умнички, но если бы займешься еще и явкой, то у тебя будет намного больше шансов на победу».

                              Вы знаете, я вот пишу это, и понимаю, что я тут тоже идиот. Кто мне мешал это сказать моим друзьям тогда. Когда было еще не поздно? Кто мешал мне в 2004, не матерится на этих клоунов что они в верховном суде пролюбили мои пленки и документы и я не смог их использовать на местах, а поулыбаться, посмеяться, похвалить их за сделанное, поподлизывать одно место и подняться повыше? Я же смог это сделать уже во вражеском лагере? смог… в чем разница? что там я был волонтером, да за идею, там у меня ЧСВ было, а у бандитов бабло платили? Ну вот теперь нефиг мне на зеркало пенять))))
                              • +2
                                > Дебилизм в государстве не от злого умысла и попилов.
                                Именно из за этого и «дебилизм» в государстве, как вы выразились.

                                Именно это и есть злой умысел, когда для получения бумажки тебе ставят палки в колеса с целью получения взятки. А законы выстроены таким образом, что спор можно выкрутить и так и эдак. И оба варианта будут законны. Вопрос в том за какое решение заплатят. А проверочных органов и правил такое количество, что без взятки не начнешь.
                                Это не злой умысел? Это дебилизм.
                                • +1
                                  Некомпетентность является причиной большинства проблем. А вовсе не злой умысел направленный на создание сложностей. Топам не нужно, чтобы каждый стрелочник мог «стричь» с каждой машины по 20 гривен. Топ хочет, чтобы ему лично заносили по 10 долларов за тонну, с каждого парохода.
                                  Но как это сделать он не способен понять.
                                  А ущерб от этих ущербных для страны — на порядки больше чем от того топа который миллионами таскает.
                                  • +1
                                    Некомпетентность, это когда не знает как сделать.
                                    А умышленное препятствование на всех уровнях от законодительной до исполнительной — это злой умысел, что мы и наблюдаем.
                        • –1
                          Я слышал в налоговой, что доступ к информации по счетам физиков они должны были получать еще в начале 2015, именно для проверки деклараций. С переходами на личности — я Вас понимаю, но…
                          Упоминайте лучше эффект Даннинга-Крюгера. Вроде и послали, но не далеко. Вроде и по делу (а тут именно оно, как в программировании, так и в математике, не говоря уже об организации и бюрократизме), а слова красивые :)

                          Вот давайте объективно:
                          1 — девочка кто? Прикладной программист. Ну или что-то вроде. Задача уменьшения сущностей и оптимизации структуры это нее ее уровень восприятия. Увеличение количества чиновников вместо дополнительных полей? Это всё равно что объяснять радугу слепому.
                          2 — нежелание работать с налоговой? На более простом уровне я их понимаю. Вы видели эти протоколы? У нас в ФИДО было всё в разы современнее.
                          3 — занимаются мелочью, игнорируя что-то важное? А чего вы хотите? Я общался с ребятами из нескольких антикоррупционных структур. Волонтерских. Майдановцами попавшими в органы. Все говорят мол «урежь форель на пару нулей», и давай конкретные случаи с именами, потому что на то чтобы менять законы для закрытия дыр мы даже не замахиваемся. Но «защиту свидетелей ни тебе, ни твоим знакомым ты сам понимаешь мы не дадим»… Чего вы хотите от детей? (И я не о возрасте).
                          4 — не воспринимают критику, зато радуются взлетевшей до небес карме и похвале? А кто не радуется? )) Похвалите меня — я тоже радоваться буду. Признавать ошибки? Я в 2004-ом был такой же дурачок. Да и потом — так как мы с вами говорим, так только святой сможет после этого признать свои ошибки)
  • 0
    все пробиваемся в парламент!
  • +2
    Очень круто! Собственно, а результаты где можно посмотреть?
  • +2
    Было бы неплохо еще хоть один пример с 5-ю баллами. Получил столько то, имеет авто такое то, дом столько то кв.м. Без конкретных фамилий.
    А то не очень понятно со стороны, насколько шкала соответствует результатам.
    • +2
      pro100olga, лучше с фамилиями, официальная же всё информация.
      И весь список с 3+ баллами, пожалуйста. Страна должна знать своих… чиновников.
    • +2
      забавно, но с пятью баллами Кличко :)
      unshred.it/static/declarations/chosen_ones/batch_14/klychko_vitalii_volodymyrovych.pdf
      У него доходы из-за границы, крупные суммы на счетах, дорогое авто, недвижимость больше на семье, при этом у них низкие доходы.

      А вот те, у кого 4,5 балла (ссылки на декларации):
      [1] «gapp.rada.gov.ua/declview/Home/Main/18096/2014»
      [2] «gapp.rada.gov.ua/declview/Home/Main/18096/2013»
      [3] «unshred.it/static/declarations/chosen_ones/batch_8/sh.pdf»
      [4] «gapp.rada.gov.ua/declview/Home/Main/15814/2014»
      [5] «unshred.it/static/declarations/chosen_ones/batch_8/244999315.pdf»
      • –2
        Ольга, это не забавно, это суть вашего рейтинга.
        У каждого есть какие-то нестандартные ситуации. Нелегален каждый, но такой рейтинг ничего не выявит. Только наличие особенности, а в плюс она или в минус — не понять. Миша не живет на официальные доходы и всё такое.

        Люстрируйте Кивалова, потом поговорим. Зачем вам сигнатуры на поиск криминала по открытым данным, если вы ничего не можете с этим сделать? Стрелочников гонять, для видимости. Контрпродуктивно. В общем будут фраги, будут вам сигнатуры, будут удобные апи для парсинга, схемы (без имен, все жить хотят) и т.п.

        Черт, ладно. Базу судов возьмите. Это конечно незаконно, там лицензия запрещает парсить, но… пошли они к черту, Конституция выше. Как и законы. В общем статистика по судам, по категориям дел и по решениям, и по некоторым ключевым словам даст много интересного. По решениям видно где судье платили. По сути или по форме. Немного посидеть, будет набор стандартных сигнатур формулировок… По АПИ, чтобы проще было, можете попробовать с Юконтрол пообщаться. Благо вы из Киева. Девочки там договороспособные, думаю если пообещаете на них ссылаться в своих анализах, то дадут бесплатное АПИ. Ну это так, по мелочи.
        Вообще если хотите хоть немного полезного сделать, а не одну видимость, то добейтесь чтобы базу судов выкладывали легально в паблик. Деньги бюджетные, решения — на государственные деньги, так что пошли они… Один аргумент у них может быть — нагрузка. Пусть тогда сами выложат дамп, в любом виде, мы сами раздачу сделаем, чтобы их не обижать.
        ЕДРПОУ опять таки обещали в паблик дать. Попинать надо Кабмин на эту тему. Тут будет хоть какая-то польза.
        А так — повесите Пидрахуя, начну что-то выкладывать интересное.
        • +7
          Люстрируйте Кивалова, потом поговорим.


          Я смотрю, вы высоко цените возможность с вами разговаривать ;)

          По сути — рейтинг и не должен определять коррупционеров наверняка. Он как раз дает особенности. Дальше — другая работа, расследования и т.п. Никто не утверждает, что все, у кого высокие значения получились — 100% коррупционеры.

          Про судебные решения — спасибо за идею, подумаю, что можно сделать.
          • –5
            Ну если рейтинг не должен показывать коррупционеров, то давайте я дам вам более простой алгоритм.
            Берем мд5 от ФИО чиновника, берем от него первые биты, переводим в десятичную систему, вот и готов рейтинг.
            Нет, конечно это не означает, что он коррупционер, но это повод провести расследования и т.п. Раз чиновник, значит надо расследовать. А рейтинг? Ну почему бы и нет? Выполняет ту же функцию — для одного человека всегда выдает один и тот-же результат, при этом для разных людей — разные.

            Кличко Вы уже сами обсудили.
            У меня есть доходы из других стран. Я езжу на машине которая оформлена не на меня. Обе мои квартиры не оформлены на меня. Точно также и по половине других критериев из Вашего списка. Но это всё никак не связано с моей незаконной деятельностью. С незаконной у меня всё красиво, и не подкапаешься. Я анализировал около 400 чиновников с которыми общался относительно близко. Никто из коррупционеров так не светится. Самое палевное что я видел это бизнес на тёщу. Тёщи в декларации нет. Пидрахуй живет в дворце построенном на украденном у государства участке, но в декларации этого нет. Мало того, дворца в декларации тоже нет. Как нет и всей той роскоши которой в этом домике пользуются «студенты и преподаватели».

            Ладно, я проще объясню. У Вашего рейтинга, и у реальной коррупции корреляция отсутствует, если не окажется что она вообще отрицательная. Года три-четыре назад я делал что-то подобное. Я работал с одной закрытой базой. Она имела ужасную структуру, жутко денормирована и т.п., но кое-что выжать можно было. Поскольку я всю эту шоблу знал в лицо, и некоторые дела знал абсолютно точно, то вышел на результат, что каждый десятый подозрительный случай был таки коррупционным.
            Но там были реальные факторы, там было на чем обучаться…

            Но дело даже не в том. Запрос этот был эффективным, он содержал кучу интересных мыслей и т.п. Но бесполезен. Начальство похвалило, поигралось и забило. Ни одного служебного расследования не было. Нет, одного выгнали, но его и так собирались.
            Так что у вас хорошая лабораторка для изучения языка, средств анализа, того как выглядят реальные данные на графиках и т.п.
            Вы повысили свой профессионализм, я повысил свой профессионализм, но всё это не дотягивает даже до классического случая с пожарными. Там была корреляция. Тут ее нет.
            • 0
              Поделитесь своей формулой?
              • 0
                Она очень специфична.
                Распределенная база. 65 подразделений.
                У каждого свое время на компьютере.
                Связность через фтп. :)
                Время документах естественно «местное» а не центральное.
                В каждом процессе фигурируют минимум два человека из разных подразделений.
                У подразделений большая специфика, так что профили поведения отличаются в разы по объективным причинам.
                Задача в том, чтобы по датам и времени выделить фиктивные документы.
                Основные сигнатуры были:
                последовательность документов по датам. Даты всегда проверялись и были верные.
                разница во времени у документов из одного подразделения. с учетом профиля. Тут фишка была в том, чтобы сравнивать не просто документы одного подразделения, а те которые являются основанием для документов и другого подразделения, которые в свою очередь являются основаниями для документов из нашего подразделения. Разница времени в одном подразделении не имеет значения потому что многие ребята делали все операции, а уже потом пачкой забивали все документы по конкретному делу. Профиль важен потому что например у меня было подразделение с которым мы синхронизировались по флешке, которую нам привозил курьер DHL. При этом все тайминги естественно жирно выбивались из общей картины.)

                Система пропускала 90% нарушений, но зато среди тех кого она отмечала подозрительным процент нарушителей был намного выше чем в среднем.
            • 0
              Судя по вашему подробному комментарию, мне уже не нужно люстрировать Кивалова, чтобы вы со мной поговорили? )

              Расчетный показатель определяет подозрительность чиновника с точки зрения коррупции, а не выносит приговор.
              Возможны ситуации, когда показатель высокий, а реально деньги нажиты честным трудом. И наоборот.
              Это не значит, что «корреляция отсутствует, если не окажется что она вообще отрицательная».
              Декларации — это только один массив данных, один из шагов в антикоррупционных расследованиях.
              • 0
                Нужно.
                Интересного я не скажу пока этим нельзя будет воспользоваться.
                Имена я и так не скажу, именно поэтому еще жив, но тем не менее.

                Декларации не работают никак. Черт. Вы делаете классическую ошибку. Мусора это делают осознанно, а вы попадаетесь.
                Меня мусора и менты часто дергали на одном и том-же вопросе -совмещение руководящей должности в частном секторе, и рядовая должность не на госслужбе, в органе гос.власти. Они стабильно пытались найти в этом криминал. Я то собственно читал закон, у меня на руках заготовленное возражение на трех страницах, где четко описано почему став у себя директором я ушел с нач.отдела на полставки рядового сис.админа… Но процент случаев когда люди не знают не только тонкостей, но и вообще о существовании такого закона высок. 14-15 ранг в деревне, который имеет свой надел на гектар, и зарегистрирован предпринимателем вместо того чтобы зарегистрировать на жену — частое явление. Собственно 90% протоколов о коррупции это такие вот недотепы. Скорее всего почти все они даже коррупционеры. Они почти все мутят, поэтому ошибиться сложно. Но это ничего не значит. Примерно как Луценко закрыли в свое время. Вроде и нарушения были. Но все его предшественники, и его преемник делали ровно тоже самое. Как и с Юлькой. Вроде нарушения были, но дела были политические. Так и здесь…
                Декларации полезны как вспомогательный инструмент. К примеру приехать на адрес прописки и посмотреть живет ли там кто-то. Посмотреть кто и на чем возит чиновника. Маму с тещей найти по база ЕДРПОУ будет проще, ну и т.п. НО всерьез считать цифры из декларации? Помилуйте.
  • 0
    Интересно, а почему отставка решает проблему нарушения закона?
    Т.е. если наш дазайнер или бухгалтер нарушит закон, то ему достаточно будет написать заявление об уходе с работы?
    • +9
      А я не говорила, что она решает. Но общество не может развиваться скачкообразно. Был период без отставок, сейчас с отставками, потом будет период судебного преследования ) Прогресс есть, хоть и медленный, но в Украине очень высокая толерантность к коррупции, другого и нельзя ожидать.
    • +2
      Если продолжить аналогию — если есть коррумпированный бухгалтер, то его лучше сначала уволить, и вместе с этим разбираться в деталях, идти в прокуратуру и т.п. Отставка решает проблему нечистого на руку человека на должности, это никак не освобождает его от отвественности перед законом при более детальных разбирательствах.
  • +1
    Спасибо за статью, очень интересно. Но если бы меня попросили реализовать классификатор, который отвечал бы на вопрос — коррупционер ли чиновник, я бы возвращал всегда 1. Конечно, false-positive случались бы, но редко.

    И еще интересно было бы построить регрессионную модель, чтобы по наличию всех этих предметов роскоши и.т.п. оценить примерный годовой расход, и сравнивать с задекларированным доходом.
    • 0
      Это интересная идея. Но как определить расходы на содержание? Допустим, для квартир можно прикинуть коммуналку. Но машина — нужен пробег. Дома могут использоваться как летние и не требовать расходов…
  • 0
    <%sarcasm%> Это что получается, Навального можно заменить кодом? Или он давно уже код?<%/sarcasm%>
    • +6
      В проекте занято много людей: журналисты, занимающиеся антикоррупционными расследованиями; волонтеры, оцифровывающие декларации; программисты, которые сделали сайт и поддерживают его. Их всех кодом не заменишь )
      • +2
        Ну я так и думал. Хорошая командная работа может горы свернуть. Молодцы!
  • +2
    Olga — отличная статья и подход!
    хотел бы добавить, что «коррупционер — никогда не ходит в одиночку», его объязательно кто-то «крышует».

    к Вашим симпатичным графикам надо добавить график «связей», что-то типа исследования связей в американском сенате — http://www.forbes.com/sites/ericaswallow/2013/11/17/senate-voting-relationships-data/ (то же еще та, мафиозная структура :-) )

    Не удивлюсь, если итоговая вершина окажется в суде или в анти-коррупционом бюро… как это было при предыдущих президентах, «комитет по борьбе с особо-опасными — крышевал самых опасных» :-)
    • +3
      Отличная идея! Подумаю, как это можно реализовать.
      А у Антикоррупционного бюро сейчас, кстати, есть Наблюдательный совет, в который входят как раз ребята из Канцелярской сотни ) Так что надеюсь это будет исключением из правил )
  • +2
    результате скандала из-за несоответствия задекларированных доходов и образа жизни семьи Ершов подал в отставку.
    Желаю успехов по пути движения к цивилизации и немного этому завидую… :( Нам до подобного ещё очень далеко…
    • 0
      Спасибо! Наш путь еще тоже очень далек )
  • +1
    Отличная работа. Спасибо. Вижу обилие циклов for. Как быстро этот скрипт работает?
    • 0
      Если вы намекаете на использование *apply, то ускорению это особо не поможет, т.к. функции семейства apply — всего лишь обертка для цикла for.
      • 0
        не только, там в некоторых местах можно и без прохода циклом обойтись,
        сразу векторами замены делать
      • +1
        не совсем так, они не только обертки, они вызывают внутренние функции, и выполняются в ядре R,
        а непосредственный цикл в интерпретаторе.
        Проверил 6 способами, просто циклы в лоб значительнее медленнее и функций apply семейства, и базовых функций, и функций dplyr.
        • 0
          Хорошо, что этот вопрос всплыл, у меня все руки не доходили разобраться с apply/dplyr, теперь точно возьмусь )
          • 0
            dplyr — он и работает в разы быстрее, потому что написан на C++
            Есть замечательные RStudio Cheatsheets. Обратите внимание на Data Wrangling Cheat Sheet — там очень много полезного.
            Ну и, конечно, очень полезно введение в dplyr

            А за статью большое спасибо! Превосходный пример прикладного использования открытых данных.

            dplyr: пример упрощения жизни на Ваших данных
            Исходный код

            decl_df$income.own<-decl_df$income.own.6+decl_df$income.own.7+decl_df$income.own.8+ decl_df$income.own.9+decl_df$income.own.10+decl_df$income.own.11+ decl_df$income.own.12+decl_df$income.own.13+decl_df$income.own.14+ decl_df$income.own.15+decl_df$income.own.16+decl_df$income.own.17+ decl_df$income.own.18+decl_df$income.own.19+decl_df$income.own.20+ decl_df$income.own.21

            dplyr

            decl_income.own <- decl_df %>% select(one_of(paste0('income.own.',6:21))) %>% transmute(income.own = rowSums(.))

            • 0
              Cheat Sheets просто мечта! Спасибо! )
        • 0
          dplyr — это отдельная и интересная тема (как и параллельные версии из пакетов типа snow). А вот насчет встроенных *apply есть интересная дискуссия.
          • 0
            ну так не удивительно,
            там используют свою функцию которая выполняется в интерпретаторе,
            она замедляет любые вычисления, и выгоды не будет.
            если же использовать системные функции — сумму (как здесь) или еще что системное,
            то apply значительно быстрее, чем просто сумма или сумма по циклам (сегодня я проверил на бриллиантах 6 способами).
            Также подобные примеры рассматриваются в книге Шипунова А.
          • 0
            А, да там самая функция фибоначчи некорректная,
            если использовать код функции fibonacchi из пакета numbers
            то apply выполняется менее чем за секунду,
            так что там причина не в векторизованной функции изначально
    • +1
      Ну на 10 тысячах записей быстро )
  • +1
    А все началось с фоточки в инстаграмме:)

    А где собственно рйтинг по подозрительнности чиновников?
    • 0
      Был в первой версии статьи, которую не пропустил модератор из-за несоответствия тематике сайта. Поэтому сейчас меньше политики, больше технических вопросов )
  • +10
    1. Как найти коррупционера среди чиновников высшего ранга?
    2. Берем первого попавшегося…
    3. Коррупционер найден!
    4. Profit ???
  • 0
    Все о политике, интересная статья. Но никто не сказал, не спросил про язык R. Почему был выбран он? Как давно пишите на нём? Какие впечатления?
    Мне синтаксис не понравился, трудно читаемый имхо.
    • +1
      Слушала курсы на корсере по анализу данных, а там в основном R используется. Впечатлений особо нет, язык как язык ) С Питоном только на базовом уровне сталкивалась, поэтому не могу сравнить.
      А по работе я в основном в SPSS все делаю, он конечно удобнее с точки зрения меню и всего такого, но там меньше возможностей, и главное — все платно, в отличие от R )
      И охотно верю, что синтаксис можно улучшить :)
      • 0
        Есть, кстати, GNU вариация на тему SPSS — PSPP
        • 0
          Ого, круто! Я не знала. А вы пользовались, как впечатления?
          • 0
            Смотрел только из любопытства — так-то я больше Python & R использую.
    • +1
      Достоинство R (а может и недостаток),
      что многие операции (даже базовыми возможностями) можно реализовать множеством способов,
      отличающихся как восприятием, так и производительностью.
      Так, например определение decl_df$income.own (сумма колонок)
      можно заменить всего одной строкой так: decl_df$income.own<-apply(decl_df[,c(6:20,22)], 1, sum)
      или вот так (используя dplyr) mutate(decl_df, income.own = income.family.6+income.family.8+...)
      или еще многими другими способами,
      каждый из вариантов будет отличаться производительностью,
      и наглядностью кода,
      поэтому там где производительность критична, можно проверять разные варианты,
      а если нет, то можно писать как удобнее, или красивее получается
      • 0
        еще так: decl_df$income.own<-rowSums(decl_df[,c(6:20,22)])
    • +1
      Тут скорее код далёк от эталона как надо писать на R, на самом деле R шикарный язык с очень сильной функциональной составляющей
      • 0
        Что посоветуете поменять? Про циклы поняла, буду изучать dplyr.
        Но сейчас я R использую просто как инструмент, во многом первым попавшимся способом, а конечно было бы классно более изящный код писать.
        • 0
          да, собственно, ничего.
          dplyr вынуждает писать красиво и понятно
  • +1
    Так и хочется сказать: «Yeah science, bitch!»
  • +2
    Спасибо за статью, очень интересно.
    Как идея, добавить побольше интерактивности,
    интегрировать с указанным вами сайтом,
    или же сделать отдельное shiny-приложение,
    которое будет отображать все ваши диаграммы,
    таблицы.
    И основное, так как у вас не так много категорий (6 — местные, власти, парламент и т.д.),
    то можно сделать диаграмму рассеяния с различными осями (его доход, доход семьи) сразу разбитые на панели (местные власти, парламент),
    и выбор конкретного чиновника в выпадающем списке,
    выбирая которого на диаграмме будет помечаться он цветом или размером,
    тем самым это позволить быстро увидеть, как конкретный человек выглядит относительно других.
    Полагаю многим будет интересно сразу выбрать «знакомого» человека,
    и увидеть, где он в этом «табеле о рангах» относительно других.
    Можно сделать еще и выбор осей (индекс, доход и т.д.) по выбору пользователей.
    Надеюсь, понятно объяснил.
    • +2
      Вы задаете высокую планку! ) Спасибо! Я пыталась сначала строить графики с цветовой индикацией по ведомству, но на мой взгляд, они плохо воспринимаются (все лепится в кучу).
      • +2
        да точек многовато, цвет здесь не очень поможет,
        а вот разбить на панели улучшит восприятие.

        Если хотите, могу помочь (сделать такой shiny сервис),
        выложите где-нибудь источники: decl_raw или decl_df
  • +1
    вам нужно с Навальным поработать… Вот там поле непаханное
  • +1
    Я надеялся на пофамильный список…
  • +2
    А вы не думали, как можно проверить достоверность модели? Развесить ярлыки просто, а понять, насколько они соответствуют жизни, куда сложнее.

    Мне первое, что приходит на ум — если чиновник коррупционер, то у него несколько признаков будет. Можно посчитать попарно корреляцию между метриками, кластеризовать их (метрики), найти ядро, и потом назначить всем метрикам веса, соответствующие их близости к ядру.

    А если ядро найти не удастся, у меня плохие новости про все исследование :)
    • 0
      Я не вешала ярлыки ) Это просто подход, условно говоря, для определения тех, кого надо проверять в первую очередь. Он собирает подозрительные штуки, а не присваивает кому-либо звание коррупционера )

      Идея про корреляцию между метриками очень интересная, спасибо!
      Только я не поняла, что вы имеете ввиду под ядром? То есть вы предлагаете сгруппировать метрики, а что значит ядро в смысле кластеризации?
      • 0
        Это не формальный математический термин. Я имел в виду разложить метрики по группам по принципу, что самые близкие (с высокой степенью корреляции) будут в одной группе. Тогда, если найдётся доминирующая огромная группа, то она, скорее всего, соберёт метрики, действительно описывающие коррупционера. Им можно будет доверять больше.
        • 0
          Ага, я поняла. Я подумаю, спасибо. Пока меня еще смущает, что метрик всего по сути 8, то есть есть ли смысл объединять их дополнительно? Но в любом случае, посмотреть на их взаимосвязь любопытно.
    • +1
      Не относитесь к этому исследованию слишком серьезно.
      Это неплохая статья о R. Я например узнал о том, что есть такой инструмент.
      Девушка поигралась с инструментом, повысила свои знания, показала другим интересный инструмент, завела интересную дискуссию, как об инструменте, так и о методиках анализа.

      Вот собственно о подходе. Вы затронули интересную тему проверки. Ваша идея о парном сравнении критериев интересна. Вы заставили меня задуматься… По моему скромному мнению такой подход отразит лишь корреляцию конкретного признака с общим вектором.
      Т.е. если общая идея о том, что странные люди коррелируют с жуликами верна, то данная проверка сработает. Если нет, то не сработает.
      Есть еще фактор внутренней целостности модели, т.е. мы можем убедиться, что этот вектор у нас вообще есть. Можно поиграться с нормировкой. Но эту же информацию можно предположить по распределению значения рейтинга. Высокие плотности вероятности низких и высоких значений, на фоне заметного понижения в середине — это было бы явным признаком что модель внутренне непротиворечива.
      В свою очередь Гаус с мат.ожиданием в середине будет жирным минусом ее внутренней целостности.

      Но вообще Ваша идея мне смутно что-то напомнила. Уж очень идея парной корреляции, и потом какой-то (непонятно какой) общей оценки этих корреляций напомнила мне фильтр Калмана. Конечно выделение фактора «странности» по предобученной Ольгой экспертной модели это не очень интересная задача, но общий вектор мысли по моему верный. Лично мне, как фанату нейронных сетей тут напрашивается пятислойный персептрон, но пойдет любой другой метод выделения факторов. Раскладываем анкету на множество бинарных признаков (т.е. поля с ответом да или нет, например мужчина, женщина, высшее образование, город Х, город У, доход больше 10тыс, доход меньше 10тыс и т.п.).
      Теоретически мы можем глазками потом (потом, а не сейчас) выбирать те кластеры которые наиболее коррумпированы.
      Но гораздо лучше сделать это заранее. Наш массив данных нужно дополнить другими открытыми данными. Есть сайт со статистикой обещаний политиков. Есть сайт верховной рады где есть много статистики по законопроектам и по голосованиям. Есть википедия по партиям, по наградам и т.п. (мне например КАЖЕТСЯ, что Киваловские награды от РПЦ и Дружбы народов от РФ являются подозрительными, но я не вешаю ярлыки, а просто предлагаю добавить их как фактор, а там видно будет).
      Да, это будет большая работа. Да, десятки тысяч факторов. Да, тут уже не выйдет «я не оптимизирую, потому что выборка маленькая и всё и так быстро». Но с этим уже можно будет работать. Тут уже можно внести и экспертные данные. Или от экспертов или просто исходя из законов времен Майдана, известных случаев коррупции и т.п. И уже по этим оценкам определять рейтинг…
      ПС: если чуть сумбурно, простите, я начал писать еще вчера и не перечитывал)
  • 0
    > Внезапно парламент. По всем остальным ведомствам доход на члена семьи не превышает 50 млн.грн. в год.
    нет слов
    как по мне, это ОЧЕНЬ много. очень приочень.
    Это около $150 000 в месяц. Скажите пожалуйста, зачем работать при таком доходе, да ещё и чиновником? Тут можно за свои деньги просто брать строить дороги, школы и садики в своем районе.
    • 0
      50 миллионов это размер средней взятки (одной) для «решения вопроса» на высоких уровнях, или за какое-то средненькое место чиновника (тоже не сторожа конечно). А строить дороги, садики и школы… Да, чтобы начать строить новострой (разумеется на инвесторские деньги) где-то столько собственного капитала и понадобится. Но где взять основную сумму? Квартиры то продают, в том числе и недостроенными, а тут?
      Такие деньги большие для жизни. Хотя тоже, только для психически здорового человека. Некоторые без золотых унитазов не могут. А вот для дела это немного…
      • 0
        Чтобы построить дом на 250кв.м. нужно:
        — коробка 40-50$ тыс
        — отделка внутр и наружная 40-50$ тыс
        итого 100 тыс дом на 250 кв.м. бюджет 100$ тыс.

        При доходе в 150$ тыс в месяц, даже дом в 500-1000 квадратов построить за год это не болшая нагрузка на бюджет семьи (у каждого 150$ тыс в месяц). Приблизительно такая часть бюджета как у многих на бензин + еду за месяц.
        • 0
          Это если самому всем этим заниматься.
          Вы забыли землю, забыли организацию всего этого, которая съест 200% вашего времени или не менее 30% бюджета.
          При этом вы еще заплатите налоги, кучу взяток, и кучу разрешительной документации.
          А потом — ваши школы и детские сады должны работать не так ли?
          Лицензия, персонал, зарплаты персоналу… Коммунальные, продукты для кормления детей…
          В реальном мире этого дохода хватит на запуск и функционирование одной школы или двух небольших садиков. И то не сразу.
          Это тоже не мало конечно, но… В мсштабе страны будет незаметно. И это далеко не главная проблема страны :)

          В реальности же я знаю несколько человек с таким доходом. В основном легальном. Тратят как и все 10% на благотворительность.
          А это уже совсем другие деньги.
    • 0
      Ну таких мало, речь ведь о максимуме. 97% — доход до 1 млн. грн. (что конечно тоже немало)

      Кроме того, высокий доход сам по себе — не порок ) Подозрительно, если уровень жизни не соответствует доходам. Поэтому я старалась больше сфокусироваться на имуществе. Особенно на элитном.

      Что же до того, что можно просто строить школы и садики — если отвлечься от темы коррупции, я не думаю, что это лучше делать извне (не будучи во власти), с точки зрения контроля. Если вы решили «строить дороги, школы и садики», вам так или иначе придется взаимодействовать с властью хотя бы на местном уровне. А если ты даешь свои деньги и хочешь, чтобы они не были разворованы, и при этом тебе нужно взаимодействовать со властью — разве не логично в конце концов туда попасть?

      И это если мы говорим о местном уровне. А представьте, если это представители бизнеса, которые хотят лоббировать (представим себе что даже честно лоббировать) свои интересы на государственном уровне. Точно также им нужно либо договариваться с какими-то чиновниками (и надеяться на них), либо самим становиться чиновниками (и контролировать больше).

      Я совершенно не хочу сказать, что богатые люди во власти — это благо, но даже если человек с деньгами реально хочет сделать что-то хорошее, наверняка ему эффективнее все же попасть во власть, чем пытаться сделать это самому.
  • 0
    Команда ФБК Навального сейчас занимается похожим делом — разбором деклараций российских депутатов — нет желания попробовать проверить ваши модели и сравнить с украинскими результатами? У них данные пока в работе, но обещают выложить CSV/XLS как закончат парсинг и проверку.
    20.navalny.com
    • 0
      Интересно, я могу заняться, как выложат.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.