Выбытие за год: доля, причина и первотёлки отдельно
Отчёт называет долю выбывших, раскладывает по причинам и отдельно считает первотёлок. Разбираем, почему первотёлки вынесены отдельно, что доля выбытия говорит о стаде и почему её нельзя понижать напрямую.
Дмитрий Васин · 5 сентября 2026 г.
- Что разбирается
- Отчёт «Выбытие за год» в разделе «Стадо → Отчёты»
- Откуда числа
- lib/herd-analytics.ts, lib/movements.ts
- Рядом
- Структура по лактациям: тот же перекос с другой стороны
Что стоит в числителе и что в знаменателе
Доля выбытия — дробь, и обе её половины стоит назвать вслух, потому что ни одну из них нельзя угадать по подписи. Сверху — животные, у которых проставлена дата выбытия и она позже, чем год назад. Снизу — те же выбывшие плюс нынешнее живое поголовье. Ниже оба условия стоят так, как уходят в базу.
(a.disposal_date is not null and a.disposal_date > now() - interval '12 months')Сам кусок не смотрит ни на пол, ни на архив: он отвечает на один вопрос — стоит ли дата выбытия в последних двенадцати месяцах. Отбор по полу и архиву отчёт добавляет рядом, двумя соседними условиями, и они показаны ниже.
a.archived is not true and (a.sex = 'female' and a.state = 'alive')Отсюда берётся вторая половина знаменателя. Живая самка — это состояние «в стаде» и запись не в архиве: разные вещи, и нужны обе. Те же два условия стоят и над числителем, поэтому в дроби с обеих сторон только самки и только не архив.
(select count(*) from calvings k where k.animal_id = a.id and (k.event_type is null or k.event_type = 'calving'))Номер в отёле ставит человек и иногда ошибается; счёт строк ошибиться не может. По этому же выражению животное попадает в число первотёлок.
Складывается это так: выбывшие делятся на сумму «выбывшие плюс живые». Знаменатель выбран именно суммой, а не одним нынешним поголовьем, и довод записан прямо в запросе: взять только оставшихся значило бы делить на то, что осталось после потерь, — и занижать долю тем сильнее, чем хуже дела у хозяйства. Стадо, потерявшее половину, при делении на остаток показало бы сто процентов, а при делении на сумму — пятьдесят, и второе ближе к тому, что произошло.
Строго говоря, правильный знаменатель — среднегодовое поголовье: сумма остатков на каждый месяц, делённая на двенадцать. Его здесь нет, и это решение, а не пропуск. Среднегодовое считается по истории движения, а история движения в книге неполна: перемещения вносят задним числом, часть выбытий проведена без даты, и восстановленный по такой истории месячный остаток был бы вычислен точно из неточного. «Выбывшие плюс живые сейчас» — грубая, но честная оценка того же самого: она совпадает со среднегодовым при ровном выбытии и слегка занижает долю, если стадо за год выросло. Занижает, а не завышает, — и в отчёте о потерях ошибаться стоит в эту сторону.
Что важно знать до всякого сравнения: числитель и знаменатель посчитаны по разным множествам, хотя пол и архив у них общие. Сверху — выбывшие за год самки. Снизу — они же плюс живые самки, то есть вместе с тёлками и телятами. Это не «доля коров, выбывших за год»; это отношение потерь ко всему женскому поголовью вместе с ремонтом. Хозяйство, где тёлок держат много, получит долю ниже соседа при тех же потерях коров. Быки в дробь не входят ни сверху, ни снизу — прежде входили сверху, и продающее бычков хозяйство видело завышенную долю.
Почему окно ровно год
Выбытие — скорость, а не запас. Посчитанное за всё время, оно накапливается само по себе: у хозяйства, ведущего книгу десять лет, выбывших всегда больше, чем у соседа с трёхлетней историей, и сказать это число не может ничего ни о ком. Год отсекает накопление и оставляет темп, который можно поставить рядом с прошлым годом и с соседским.
Год выбран ещё и потому, что выбытие сезонно. Летом уходят по ногам и по жаре, зимой — после отёлов; квартал поймал бы сезон и выдал его за тенденцию. Двенадцать месяцев содержат каждый сезон ровно один раз, поэтому окно и не короче.
Окно скользящее, а не календарное: оно считается от сегодняшнего дня назад, а не от первого января. Отсюда свойство, о котором стоит помнить: число меняется каждый день, даже если в книгу ничего не вносили, — выбытия прошлого сентября из окна уже вышли. Сравнивать поэтому надо снимки, снятые в один и тот же день года, а не отчёт в марте с отчётом в ноябре.
Почему первотёлки вынесены отдельным числом
Корова окупает своё выращивание примерно ко второй лактации. До этого она расход: два года кормления, осеменение, отёл, ветеринария — всё это вложено и ещё не вернулось. Выбывшая первотёлка поэтому не «на одну голову меньше», а чистый убыток, сколько бы молока она ни успела дать. Взрослая корова, ушедшая после пятой лактации, себя оправдала; между этими двумя выбытиями разница не в количестве, а в знаке.
В общем итоге эта разница исчезает. «Выбыло сорок голов» выглядит одинаково и когда это сорок старых коров после долгой жизни, и когда это сорок первотёлок, не доживших до второго отёла. Первое — нормальная работа стада, второе — авария в выращивании или в подборе, и увидеть их надо порознь. Поэтому число первотёлок стоит отдельной плиткой и подсвечивается, как только становится больше нуля.
Второй довод — диагностический. Общая доля выбытия говорит о стаде в целом и меняется медленно: в ней смешаны старение, продажи, болезни. Выбытие первотёлок говорит об одном участке работы и меняется быстро, потому что первотёлки этого года — прямое следствие того, как их выращивали два года назад и от кого получили. Это самая быстрая обратная связь, какая есть в отчётах по стаду, — быстрее только отчёт по ремонтному молодняку, который смотрит на тех же тёлок ещё до отёла.
Что именно попадает в это число
Условие простое: у выбывшего животного не больше одного отёла. Значит, туда входят и те, у кого отёлов нет вовсе, — тёлки, выбывшие до первого отёла. Это сделано намеренно и защищено доводом: непокрытая стоимость выращивания у них не просто есть, она полная — животное не дало ни литра. Но подпись «из них первотёлок» этого не называет, и знать про неё стоит: в стаде, где падёж тёлок высок, плитка «первотёлки» покажет больше, чем отелившихся коров за ней стоит.
Рядом стоит средняя лактация выбытия — то же самое с другой стороны. Она считается только по выбывшим с хотя бы одним отёлом: включив нулевых, мы получили бы не «короткая продуктивная жизнь», а «много выбыло тёлок», и выдали бы второе за первое. Чем это число меньше, тем короче жизнь коровы в хозяйстве; ниже трёх это обычно означает, что стадо не доживает до своего лучшего возраста, а лучший возраст у молочной коровы — третья и четвёртая лактации.
Почему эту долю нельзя понижать напрямую
Это главное предостережение страницы, и оно стоит здесь, а не в конце. Доля выбытия принадлежит к тем показателям, которые улучшаются от бездействия. Перестаньте выбраковывать — число упадёт в следующем же месяце, а стадо наполнится коровами, которых вы держите вопреки собственному решению: хромыми, яловыми, с хроническим маститом. Отчёт покажет успех, зоотехния — обратное.
Различать надо два выбытия, которые в этом числе сложены. Добровольная выбраковка — решение хозяйства: корова доит мало, её место нужнее хорошей первотёлке. Вынужденная — не решение, а событие: болезнь, травма, бесплодие, падёж. Первое есть признак работающего отбора, и полное его отсутствие хуже, чем его избыток. Второе есть чистая потеря. Отчёт складывает их в одну долю, потому что различает их только причина, а причину проставляют не всегда, — и вот почему раскладка по причинам важнее самой доли.
Отсюда правило чтения: доля выбытия не имеет «хорошего» значения, к которому надо стремиться. У неё есть два подозрительных края. Высокая доля — вопрос «почему уходят», и на него отвечает таблица причин. Низкая — вопрос «а всё ли записано», и он не менее серьёзный: хозяйство, где падёж не регистрируют, а проданных на мясо коров просто перестают вести, неотличимо в этом отчёте от хозяйства с блестящим здоровьем стада. Проверяется это не долей, а тем, сходится ли число выбывших с числом поступивших: стадо, которое не растёт и не теряет, но каждый год принимает ремонт, куда-то этот ремонт девает.
Причины: откуда берутся и что делает пустая
Причина выбытия — не текст в карточке, а ссылка на справочник. Справочник общий на всю книгу, ведёт его Ассоциация, и у него есть предок: поле NPV в отраслевых программах, откуда хозяйства переносят историю. Общий список нужен ровно затем, чтобы «мастит», «Мастит» и «мастит хронич.» не разошлись тремя строками таблицы у одного хозяйства и десятью — у Ассоциации, которая сводит десятки книг.
Отсюда же ограничение: своей причины хозяйство не добавит. Это цена сводимости, и мы считаем её оправданной — раскладка причин имеет смысл только тогда, когда строки у разных хозяйств называются одинаково, — но признать её надо прямо. Если в справочнике нет вашего случая, он уйдёт в общую строку, а не заведёт свою.
Пустая причина не пропадает
Животное с датой выбытия и без ссылки на справочник попадает в таблицу строкой «Причина не указана». Оно не исчезает и не приписывается к «прочему». Это существенно: строка с пропусками стоит в таблице наравне с остальными и обычно оказывается в её начале, потому что сортировка идёт по числу голов. Отчёт таким образом сообщает не только состав потерь, но и качество их учёта, и делает это в одном месте.
Отсюда правило, важнее всех остальных на этой странице. Пока «Причина не указана» и общая строка вроде «прочего» вместе занимают заметную часть таблицы, раскладка не значит ничего — ни строка, ни порядок строк. Соотношение вынужденного и добровольного выбытия по ней не восстанавливается, а именно ради этого соотношения таблицу и смотрят. Хозяйство, у которого половина выбытий без причины, знает про своё стадо ровно то же, что хозяйство без всякой таблицы, — и первое при этом уверено, что знает больше.
Средняя лактация стоит в той же строке, что и причина, и это не украшение. Причина без возраста не даёт решения. «Болезни конечностей, сорок голов» — это либо полы и обрезка копыт, либо генетика ног, и различает их лактация: у первотёлок генетика ног проявиться ещё не успевает, значит дело в содержании. Та же сорокаголовая строка со средней лактацией четыре читается прямо наоборот.
Чего отчёт не видит: выбытие без даты выбытия
Весь отчёт стоит на одном поле — дате выбытия. Нет даты — нет строки, каким бы ни было состояние животного. А состояние в книге меняется четырьмя разными путями, и до недавнего времени не каждый из них эту дату проставлял.
Перемещение вида «Выбраковка» или «Падёж» переводит животное в выбывшее и ставит датой выбытия дату самого перемещения. Событие «выбытие» в ленте карточки делает то же самое и заодно записывает причину. Оба пути дату не перетирают: если она уже стоит, значит выбытие записали раньше, и первая запись честнее второй.
Третий путь — самый короткий и потому самый частый. Поле «Состояние» в карточке это обычный список, и человек, поставивший «Выбраковано» руками, ничего больше заполнить не был обязан. Такая корова уходила из знаменателя — она больше не живая — и не попадала в числитель: даты нет. Доля занижалась дважды, и заметить это было нечем: ошибки не возникало нигде, а отчёт показывал число, которое выглядело как хорошая новость. Теперь книга такую запись не сохраняет: состояние «выбыло» требует даты выбытия, и отказ объясняет, почему.
Четвёртый путь — загрузка файлом, и он исключение намеренное. В файле лежит история, и дата выбытия в ней бывает утеряна; запретить такую строку значило бы отказать хозяйству в переносе стада целиком ради поля, которое оно и собиралось восстановить. Поэтому в загрузке появилась своя колонка «Дата выбытия», а строка без неё принимается — и животное попадает в замечание «выбытие без даты выбытия» уровня «починить». Подставить сюда день загрузки было бы проще и не потребовало бы ни одного отказа, но корова, павшая в январе и записанная в марте, ушла бы в мартовский отчёт: пустое поле видно проверкой, а неверная дата не отличается от верной ничем.
Что делать с тем, что накопилось до этого. Ответ на вопрос «почему у меня выбытие три процента» начинается со сверки: прежде чем радоваться низкой доле, сравните её с числом животных, у которых состояние не «в стаде». Если выбывших в книге заметно больше, чем в отчёте, отчёт считает не стадо, а полноту заполнения одного поля, и разбор потерь до этого момента преждевременен. Само сравнение делает отдельный прогон по книге: он называет таких животных поимённо и ставит рядом с нынешней долей верхнюю оценку настоящей. Верхнюю, а не точную, — он считает так, будто все выбывшие без даты выбыли за последние двенадцать месяцев, а часть из них выбыла раньше. Точнее сказать нельзя ровно потому, что дат нет.
Структура по лактациям: тот же перекос с другой стороны
На том же экране, выше выбытия, стоит карточка со структурой стада по лактациям: сколько коров первого отёла, второго, третьего, четвёртого и старше. Своего разбора она не получила намеренно — объяснять в ней нечего, — но читать её отдельно от выбытия нельзя, потому что эти две карточки описывают одно событие.
Связь такая. Стадо с высокой долей первой лактации — «молодое» только на словах. Молодым его сделало то, что старых коров в нём не осталось, а не то, что оно быстро растёт. Сорок процентов первотёлок в стаде постоянного размера означают, что примерно столько же коров за год ушло, — иначе их место занять было бы некем. Доля первой лактации и доля выбытия сходятся к одному числу, и вопрос к ним общий: почему коровы не доживают до третьей лактации, то есть до возраста, в котором они доят больше всего.
Отсюда способ проверить одну карточку другой. Ровное распределение по четырём группам рядом с низким выбытием — согласованная картина. Провал в третьей и четвёртой группах рядом с низким выбытием — картина несогласованная: коровы куда-то делись, а отчёт о потерях их не показывает. Такое расхождение почти всегда означает незаполненные даты выбытия, а не долголетие.
Две оговорки к самой структуре, чтобы не заводить ради них страницу. Первая: номер лактации там считается по числу отёлов, а не берётся из записи, — и группы, начиная с четвёртой, слиты в одну, поэтому средняя лактация по стаду занижена: корова с семью отёлами весит в ней как корова с четырьмя. Вторая: коровы без единого отёла вынесены отдельным числом и в среднюю не входят вовсе. Это пробел в данных, а не молодость стада, и он честнее выглядит рядом, чем внутри.
Ещё одна карточка на том же экране связана с выбытием сильнее, чем кажется: удой за 305 дней по группам лактации. Строгая выбраковка поднимает средний удой сама по себе — корова, выбывшая посреди лактации, свою последнюю запись в среднее так и не отдаст. Рост удоя вместе с ростом выбытия поэтому не два успеха, а один и тот же факт, названный дважды.
Пределы, названные до вопроса
Продажа и вынужденный убой стоят в одном числе. Отчёт считает выбытие, а не его смысл. Проданный племенной молодняк — выручка и признак хорошей работы; вынужденный убой — потеря. Различает их только проставленная причина, и если причины нет, обе попадают в одну строку «Причина не указана» и в одну долю. Хозяйство, торгующее племенными нетелями, увидит долю выбытия выше соседа, который не торгует ничем.
Это скорость, а не приговор. Двенадцать месяцев — окно наблюдения, и одно значение в нём ничего не доказывает. Смысл появляется у ряда: та же доля год назад, позапрошлым летом, у соседа с тем же способом ведения книги. Одно число из окна — точка, а решение принимается по наклону.
Ферма и группа содержания. Отчёт считает по хозяйству целиком, без деления по площадкам. Хозяйство с двумя фермами увидит одну долю на обе, и разница между ними — а она обычно и есть самое интересное — в этой цифре сложится и исчезнет.
В маленьком стаде доли не считаются. Это общее правило книги, и здесь оно тоже уместно: проверки по стаду не считают долю, пока записей меньше 20. Сам отчёт такого ограничения не ставит, но читать его стоит с той же меркой: в стаде из пятнадцати голов две выбывшие — это 13 %, а на самом деле две коровы.
Чего этот разбор не доказывает
Что низкая доля выбытия — хорошо. Она бывает признаком здорового стада, бывает следствием остановленной выбраковки, бывает следствием незаполненной даты выбытия. Три причины с противоположным смыслом дают одно и то же число, и различить их можно только за пределами этой карточки.
Что доля первотёлок в выбытии измеряет качество быков. Она измеряет всё сразу: выращивание, отёл, раздой, ноги, кормление и подбор. Разделить это можно причинами и возрастом первого отёла, а не самой долей. Как возраст первого отёла связан с судьбой первотёлки — в отдельном разборе.
Что таблицу причин можно сравнить с чужой. Справочник общий, а привычка заполнять — нет. У одного хозяйства «бесплодие» стоит там, где у другого «прочее», и рейтинг по строкам таблицы сравнил бы не стада, а двух зоотехников. Сравнивать осмысленно только со своим прошлым годом, при неизменившемся порядке заполнения.
Что за высоким выбытием стоит болезнь стада. Оно бывает и решением: хозяйство, обновляющее стадо импортом, выбраковывает много и намеренно. Отличить обновление от беды помогает воспроизводство — если коров хватает на замену, отбор идёт добровольно. Четыре числа этого отчёта разобраны рядом.
Как отчёты по стаду устроены в самой книге и куда ведут переходы от числа к списку животных — на странице «Отчёты по стаду».
Слова этой страницы
Определения с нашими числами и с тем, чего каждое слово не означает.
| Возраст первого отёла | Сколько месяцев было тёлке при первом отёле. Ориентир — 22–25 месяцев при условии 400 кг живой массы к 14–15 месяцам. |
|---|---|
| Лактация за 305 дней | Удой за первые триста пять дней лактации. Число, которое делает лактации разной длины сравнимыми между собой. |
| Сервис-период | Дни от отёла до плодотворного осеменения — того, от которого корова стала стельной. |
Источники
- ICAR Glossary: Disposal reason
Кодированный список причин выбытия — тот, на который равняется наш справочник
- ICAR Guidelines, Section 22 — Sustainability recording traits
Долголетие и выбраковка как измеряемый признак, а не как следствие