Коммерческий директор просит к пятнице: кто из клиентов упал сильнее всех, почему — потеряли точки или продаём меньше на точку, и одну страницу к встрече с самым проблемным клиентом. Делаем это с Claude за 20 минут на учебной выгрузке — и обходим две ловушки, на которых ошибаются почти все.
The sales director wants by Friday: which customers fell the most, why — lost outlets or selling less per outlet — and one page for a meeting with the most troubled customer. We do it with Claude in 20 minutes on a training export — and avoid two traps almost everyone falls into.
Клиенты с наибольшим падением к прошлому году: в тыс. литров и в %.
Customers with the biggest decline vs last year: in thousand litres and in %.
Для каждого: сколько потеряли из-за точек, сколько — из-за объёма на точку.
For each: how much was lost due to outlets, how much due to volume per outlet.
Факты, гипотезы, вопросы клиенту, предложение — на одну страницу.
Facts, hypotheses, questions for the customer, an offer — on one page.
Выгрузка продаж «Долины напитков»: 15 клиентов (сети, дистрибьюторы, HoReCa), январь–октябрь 2025 и 2026 года, тыс. литров. Одна строка — клиент за год. Последняя колонка — среднее число точек, куда клиент берёт наш товар.
A "Valley Beverages" sales export: 15 customers (chains, distributors, HoReCa), January–October 2025 and 2026, thousand litres. One row is a customer for a year. The last column is the average number of outlets where the customer stocks our products.
Показаны первые 6 строк из 30. Остальные — в файле.
The first 6 of 30 rows are shown. The rest are in the file.
| ИнструментTool | КогдаWhen |
|---|---|
| Чат + файл (урок 15-11)Chat + file (lesson 15-11) | Разовый анализ к встрече. Наш случай: Claude считает кодом по файлу и даёт таблицуA one-off analysis for a meeting. Our case: Claude computes from the file with code and returns a table |
| Claude в Excel (урок 15-13)Claude in Excel (lesson 15-13) | Если выгрузка уже открыта в Excel и нужен результат в той же книгеIf the export is already open in Excel and you want the result in the same workbook |
| Claude Code (модуль 7)Claude Code (module 7) | Если это нужно каждый месяц — уровень 2, раздел 9If you need it every month — level 2, section 9 |
Новый чат → приложите CSV → отправляйте запросы по очереди. После каждого шага — контрольная точка: сверьте цифру, прежде чем идти дальше.
New chat → attach the CSV → send the requests one by one. After each step there is a checkpoint: verify the number before moving on.
Я менеджер по продажам. В файле — продажи по клиентам за январь–октябрь 2025 и 2026 года в тыс. литров, одна строка = клиент за год, последняя колонка — среднее число точек. Опиши файл: сколько клиентов, какие годы и месяцы. Проверь странности: есть ли клиенты, которые встречаются только в одном году; совпадают ли коды у разных названий; не выглядит ли какой-то месяц неполным. Ничего пока не считай, только перечисли находки.
I am a sales manager. The file has sales by customer for January–October 2025 and 2026 in thousand litres; one row = a customer for a year; the last column is the average number of outlets. Describe the file: how many customers, which years and months. Check for oddities: are there customers that appear in only one year; do different names share a code; does any month look incomplete. Don't calculate anything yet, just list the findings.
✔ Контрольная точка: Claude должен заметить код K03 у двух названий и «провал» октября 2026 у всех клиентов сразу. Не заметил — подскажите: «посмотри на код K03 и на октябрь».
✔ Checkpoint: Claude should notice code K03 on two names and the October 2026 "dip" for all customers at once. If not, hint: "look at code K03 and at October".
Октябрь 2026 неполный (20 дней), поэтому сравнивай только январь–сентябрь обоих лет. Клиентов склей по коду: одно название в 2025 и другое в 2026 с одним кодом — это один клиент, назови его последним названием. Дай таблицу всех клиентов: код, клиент, январь–сентябрь 2025, январь–сентябрь 2026, изменение в тыс. л и в %, отсортируй по изменению в тыс. л от самого большого падения. Строкой «Итого» покажи сумму, чтобы я сверил с файлом. Считай кодом по файлу, не в уме.
October 2026 is incomplete (20 days), so compare only January–September of both years. Merge customers by code: one name in 2025 and another in 2026 with the same code is one customer — use the latest name. Give a table of all customers: code, customer, Jan–Sep 2025, Jan–Sep 2026, change in thousand litres and in %, sorted by change in thousand litres from the biggest decline. Add a "Total" row so I can reconcile with the file. Compute with code from the file, not in your head.
✔ Контрольная точка: «Итого» январь–сентябрь — 6 110 → 5 736 тыс. л, −374 (−6,1 %). Другая сумма — значит, попал октябрь или потерялась строка.
✔ Checkpoint: the Jan–Sep "Total" is 6,110 → 5,736 thousand litres, −374 (−6.1%). A different total means October slipped in or a row got lost.
Для пяти клиентов с наибольшим падением разложи изменение на две части. Эффект точек = (точек 2026 − точек 2025) × литров на точку 2025. Эффект «на точку» = точек 2026 × (литров на точку 2026 − литров на точку 2025). Литры на точку = январь–сентябрь ÷ точек. Проверь, что две части в сумме дают всё изменение. Таблица: клиент, изменение, эффект точек, эффект «на точку», что главное — одним словом.
For the five customers with the biggest decline, split the change into two parts. Outlet effect = (outlets 2026 − outlets 2025) × litres per outlet 2025. Per-outlet effect = outlets 2026 × (litres per outlet 2026 − litres per outlet 2025). Litres per outlet = Jan–Sep ÷ outlets. Check that the two parts add up to the whole change. Table: customer, change, outlet effect, per-outlet effect, the main driver in one word.
✔ Контрольная точка: у каждого клиента две части в сумме равны изменению из шага 2. Не равны — формула применена не так.
✔ Checkpoint: for each customer the two parts add up to the change from step 2. If not, the formula was applied wrongly.
Подготовь одну страницу к встрече с клиентом с самым большим падением в тыс. л. Четыре блока: 1) Факты — только цифры из наших расчётов; 2) Гипотезы причин — каждую пометь «проверить» и напиши, какими данными её проверить; 3) Вопросы клиенту — 5 штук, открытые; 4) Что можем предложить — 3 варианта. Не выдумывай факты о клиенте, которых нет в файле. Тон — деловой, для коммерческого директора.
Prepare one page for a meeting with the customer with the biggest decline in thousand litres. Four blocks: 1) Facts — only numbers from our calculations; 2) Hypotheses about the causes — mark each "to check" and say which data would check it; 3) Questions for the customer — 5 open questions; 4) What we can offer — 3 options. Don't invent facts about the customer that are not in the file. Business tone, for the sales director.
| КлиентCustomer | 2025 | 2026 | Изм., тыс. лChg, k L | % | ТочкиOutlets | Эфф. точекOutlet eff. | Эфф. «на точку»Per-outlet eff. |
|---|---|---|---|---|---|---|---|
| Каменск-ОптKamensk-Opt | 900 | 738 | −162 | −18,0 | 120 → 118 | −15 | −147 |
| Сеть «Горизонт»Gorizont chain | 640 | 512 | −128 | −20,0 | 32 → 26 | −120 | −8 |
| Степь-ТрейдStep-Trade | 480 | 384 | −96 | −20,0 | 70 → 56 | −96 | 0 |
| Рестораны «Очаг»Ochag restaurants | 200 | 150 | −50 | −25,0 | 10 → 10 | 0 | −50 |
| Опт-ВостокOpt-Vostok | 380 | 355 | −25 | −6,6 | 50 → 48 | −15,2 | −9,8 |
| Итого, все 15 клиентовTotal, all 15 customers | 6 110 | 5 736 | −374 | −6,1 |
Январь–сентябрь, тыс. литров. Вывод: у «Горизонта» и «Степь-Трейда» ушли точки — это вопрос дистрибуции. У «Каменск-Опта» и «Очага» точки на месте, а берут меньше — это вопрос полки, цены, конкурента. Разговор на встрече будет разный.
January–September, thousand litres. Conclusion: Gorizont and Step-Trade lost outlets — a distribution issue. Kamensk-Opt and Ochag kept their outlets but buy less — a shelf, price or competitor issue. The meeting conversation will differ.
Без склейки «Сеть «Береговая»» — первая в списке: −560, −100 %. А «Береговая Ритейл» — «новый клиент» +574. На деле это один клиент (код K03), и он вырос на 2,5 %. Директор получил бы ложную тревогу и ложную победу сразу.
Without merging, "Beregovaya chain" tops the list: −560, −100%. And "Beregovaya Retail" is a "new customer" +574. In fact it is one customer (code K03), and it grew 2.5%. The director would get a false alarm and a false win at once.
Если сравнить январь–октябрь «как есть», итог −625 (−9,3 %) вместо −374 (−6,1 %). Растущие «Ветер», «Горный-Дистрибуция», «У дома», «Дорога» вдруг «падают». Каждый третий клиент — ложное падение.
Comparing January–October "as is" gives −625 (−9.3%) instead of −374 (−6.1%). Growing Veter, Gorny Distribution, U Doma and Doroga suddenly "fall". One in three customers shows a false decline.
Так может выглядеть ответ на запрос 4. Обратите внимание: гипотезы помечены, а факты — только из расчёта.
This is what the answer to request 4 might look like. Note: hypotheses are flagged, and facts come only from the calculation.
Если отчёт нужен ежемесячно, правила не стоит объяснять каждый раз. Два пути:
If you need the report monthly, don't explain the rules every time. Two ways:
В инструкции проекта: «сравнивай только полные месяцы», «склеивай клиентов по коду», «раскладывай падение на точки и на точку». Каждый месяц — новый чат, новый файл, запрос в одну строку.
In the project instructions: "compare only full months", "merge customers by code", "split the decline into outlets and per outlet". Every month — new chat, new file, a one-line request.
Скрипт и .bat: кладёте выгрузку в папку, дважды щёлкаете — получаете Excel с топ-10 и разложением. Правила живут в коде и не забываются.
A script and a .bat: drop the export in the folder, double-click — get an Excel with the top 10 and the split. The rules live in the code and are never forgotten.
В папке input лежит выгрузка продаж по клиентам (как Продажи_по_клиентам_2025_2026.csv). Напиши скрипт report.py: склеивает клиентов по коду, сам определяет последний полный месяц и сравнивает с прошлым годом только полные месяцы, считает изменение и разложение «точки / на точку», пишет в output Excel с датой в имени: лист «Топ-10 падений» и лист «Все клиенты», строка «Итого». Исходный файл не менять. В конце выведи в консоль итог обоих лет для сверки. Потом сделай RUN_report.bat (только латиница, cd /d "%~dp0", pause в конце).
The input folder holds a customer sales export (like Sales_by_customer_2025_2026.csv). Write a report.py script: merge customers by code, detect the last full month and compare with last year over full months only, compute the change and the "outlets / per outlet" split, write an Excel with the date in its name to output: a "Top 10 declines" sheet and an "All customers" sheet, with a "Total" row. Do not change the source file. At the end print both years' totals to the console for reconciling. Then make RUN_report.bat (Latin characters only, cd /d "%~dp0", pause at the end).
| ОшибкаMistake | Как правильноDo this instead |
|---|---|
| Сравнивают текущий неполный месяц с полным прошлогоднимComparing the current incomplete month with last year's full month | Только полные месяцы или одинаковое число днейOnly full months or the same number of days |
| Группируют по названию клиентаGrouping by customer name | По коду клиента; названия меняютсяBy customer code; names change |
| Смотрят только на %Looking only at % | Сначала тыс. литров: −25 % у маленького клиента весит меньше −18 % у большогоThousand litres first: −25% at a small customer weighs less than −18% at a big one |
| Несут на встречу гипотезы Claude как фактыBringing Claude's hypotheses to the meeting as facts | Пометить «проверить» и проверить даннымиFlag "to check" and check with data |
| Не сверяют «Итого» с файломNot reconciling the "Total" with the file | Итог январь–сентябрь: 6 110 и 5 736 — совпало, идём дальшеJan–Sep total: 6,110 and 5,736 — matches, move on |