Brief

2026-09-05 · M360 Reports (NPS)

Source: Teams call, Vsevolod Gavrilyuk → Oleg Zybailov, 2026-09-05 08:21, 34 min screencast. Transcript: transcript.txt (327 segments, Whisper large-v3). Timecodes below are positions in the recording — the Teams call timer runs 15 s ahead of them.

Written brief that came with it (Teams chat, shown at 12:40): two slides from a classic research deck and one line — "Если коротко, нужно будет этот секси репорт сделать в М360 стиле."

Teams chat with the two reference slides
Teams chat with the two reference slides

The two slides, full screen — the visual target for the whole exercise. Left of the second slide, the promoter-level row reads 2024 / 2023 / 2022, which is the detail he works out mid-call and then asks us to keep.

The reference slides at full size
The reference slides at full size

1. The ask in one paragraph

SemanticForce already computes everything a Net Promoter Score report needs: it reads reviews from four channels, classifies each author as promoter or detractor, and extracts the aspects they praise or attack. That data currently lives in an internal analytics dashboard that Vsevolod calls cheap-looking. The job is to re-present it as a new Report section inside the Market360 product — its look and feel, its filters, its cards — with charts modelled on the research deck he sent. Deadline pressure is a Monday meeting with MasterCard Ukraine, where he wants to show it to a top-7 audience.

"Информация крутая, но выглядит сейчас очень дешево." — 10:15

"У меня есть вот такой кумулятивный репорт, сейчас он уродливый, он некрасивый, но он есть… она не секс." — 11:08

The cumulative report he calls ugly — promoters and detractors as ranked lists
The cumulative report he calls ugly — promoters and detractors as ranked lists

2. What exists today, and what is wrong with it

2.1 The data is real and already segmented

Reviews come from four channels, and he was explicit that the report must eventually cover all of them (13:00):

Channel Sources named on the call
Bank reviews MinFin, Vidhuk, Banki.ua
Branch / location reviews Google Maps
Bank app reviews App Store
Social the existing social pipeline

A fifth is queued but not for this round: "за что ИИшка рекомендует банк" — LLM-sourced recommendations (11:03).

Coverage is partial and he flagged it himself: roughly 3 % of Ukraine's branches, against a market above 10 000 (08:01). He does not consider this a blocker — "концептуально от этого ничего не поменяется" — because the top branches already carry enough volume, some 700 messages a year.

SemanticForce branch reviews — 263 locations, 7 993 reviews, 23 banks
SemanticForce branch reviews — 263 locations, 7 993 reviews, 23 banks

2.2 Promoters and detractors are already there

The system separates people who recommend from people who warn others off, and also surfaces the staff members named in reviews — which he called a useful array for HR (09:15).

Promoters and detractors in the current dashboard
Promoters and detractors in the current dashboard

2.3 The three concrete defects

No neutrals. The current UI has only red and green.

"Тут нету динамики, тут есть сегрегация… у нас есть только красненькое и только зелёное, у нас нету оранжевого." — 09:55

Only red and green, no orange band
Only red and green, no orange band

No two-level view. To compare brands on one aspect he has to apply a filter, read, reset, apply the opposite filter, read again.

"Но она долго, нудно, боль. Если я экзекьютив, я хочу видеть картину по больнице, я не буду нажимать." — 17:48

Manual drill-down through filters
Manual drill-down through filters

Too many aspects. The aspect map surfaces 28 to 57 groups where a reader can hold about five.

"Слишком мало аспектов — они не информативные; слишком много аспектов — тоже плохо, немножко теряешь." — 19:19

The aspect map as it stands
The aspect map as it stands

3. The target: what to build

A new section named Report, opening with NPS, inside the Market360 banking product. He stated a floor and a ceiling (23:15):

The look and feel is the existing Banks360 pages — filters on the left, hero strip with counters, the same card language.

The target look and feel — banks.market360.ai
The target look and feel — banks.market360.ai

3.1 Chart specification

Modelled on the two reference slides, with deliberate differences:

Property Research deck Ours
Bands per bar Promoters 9–10 / Neutrals 7–8 / Detractors 0–6 Same three bands
Bars per aspect Three, one per year Two, current period vs previous
Degree of sentiment Graded — they phone people and ask how strongly None — we read what was written
Aspects shown Five Five positive and five negative per bank
Brands per chart Eight Up to seven, enforced in the filter

On the missing gradation (15:24):

"У них есть степень, они физически опрашивают. У меня степени нет — я прочитал."

On the year axis, after he worked out that the deck's three bars are years (24:13):

"Давай его делать, потому что для меня это мега важно — какая у меня динамика. Если меня не любят уже последние лет пять на уровне нелюбви — окей. А если она стабильно растёт — лучше, чтобы она не росла."

Period rule (25:04): always two periods, current against previous. Pick a quarter and you compare with the previous quarter; pick a year and you compare with the previous year. The architecture is real-time, so there is no fixed year concept to lean on.

Seven brands (25:48): the current table stops scaling past a handful, so the cap goes into the left filter rail — Vova wires the logic, the interface simply refuses more than seven.

"Чанку сложно запомнить сущностей больше чем 7… обычно банк сравнивает себя и 4–6 конкурентов." — 27:04

The per-bank rating strip that stops scaling past a handful of brands
The per-bank rating strip that stops scaling past a handful of brands

3.2 Filters

Filtering must survive the redesign — he gave Lviv-as-a-location as the case he would not give up (21:22). The rail belongs on the left, matching Banks360, and the same rail shape should be reused everywhere rather than living on the right in one product and the left in another.

"Пускай фильтр адаптируется под раздел, но везде один look and feel. Хочу фильтр слева, и могу клацать прямо на сущности." — 23:03

Filters on the left in Banks360 — the shape to reuse
Filters on the left in Banks360 — the shape to reuse

3.3 Four charts, not one

Because there are three review classes plus a summary (13:00), the section carries four instances of the same component: one per channel, plus a combined view. He parked the methodological question of whether summing App Store, Google Maps and review-site authors is legitimate — "по логике это всё равно всё люди" — and does not want it solved this round.


4. Adjacent asks from the same call

These came up around the main task and are recorded so they are not lost. None of them is the Monday deliverable.

Brands are missing from the redesigned Influencers cards. The old Watch360 influencer view showed which brands each author writes about, with counts. The redesign dropped it, and he wants it back — not urgently, but the ability to ask "who wrote about PrivatBank, and how often" is the point of the section.

"Если я хочу видеть тех, кто писал про PrivatBank… это уже живая система." — 00:48

Watch360 influencers after the redesign
Watch360 influencers after the redesign

Watches moves to the new look. "Часики хочу полностью перевести на вот этот лук" (01:35) — the same grid-and-card language, no radical change.

Books360 comes next week. A section for books built on the same skeleton — same filters, same cards, book categories where brands are today (02:04).

The banking Media section is under-loved and will need reworking, but he explicitly rated it not critical for this call (03:16).

Competitor sets need somewhere to live. For the report to know who to compare you against, the product has to store an identity and its rivals — "например, Монобанк, и вот твои 7 ключевых конкурентов, вот твои 2 вторичных" (03:46).

Two data-hygiene defects, spotted live at 19:45: a Russian review site sits in the source mix and should probably be pulled out, and Alfa-Bank appears twice in the brand list. He noted the awkward part — Ukrainian banks do get reviewed on that site, because "интернет плоский".

Embedding into the SemanticForce navigator. He wants Market360 reachable from the SF dashboard, lightly, as a first step rather than a full integration (28:35).

The M360 data-layer board he wants reachable from the SF navigator
The M360 data-layer board he wants reachable from the SF navigator

5. The security item

At 29:29 he raised something separate and urgent. He had found that many repositories under the studio account were public, that GitHub Pages was serving them, and that our own call transcripts were readable in them. He recorded visits from people who were not him.

"Я вчера с ужасом понял, что там даже наше интервью с тобой записано… это лёгкий пиздец."

Two decisions were taken on the call, both already carried out on our side the same day:

  1. Everything goes private, immediately.
  2. The chife-mod name disappears from client-facing URLs. Hosting moves to Cloudflare Pages under SemanticForce naming. Asked whether changing every link was a problem, his answer was "не проблема вообще".

6. Priorities as he stated them

The closing exchange (33:20) sets the split without ambiguity:

"Пять процентов времени на вот эту херню — просто отдал исходники, показал, отдал, спрятал, забыл. И наоборот, всё остальное время — давай родим хоть какую-то альфа-версию этого NPS-репорта."

Order Item Owner
1 Alpha of the NPS report mock us
2 Hand the M360 sources to Vova us — he asked for the repo link on 09-04
3 Everything else on this page later

He asked whether an alpha was realistic within the day, and pointed at the shortcut himself: the section skeleton and cards already exist, so the work is swapping the card grid for the chart.

"У нас здесь сделана большая работа, у нас есть эти карточки. Просто вместо этих карточек сделай вот эту динамику." — 32:18

The existing Banks360 cards that become the chart
The existing Banks360 cards that become the chart

The data-layer tile board — "яйца Малевича" — is explicitly not wanted in this section for now. His reasoning: that board speaks to programmers, while this report carries value for the buyer.


7. Open questions

  1. Which four charts ship in the alpha? One combined view is enough to demo; four is the stated target. Not resolved on the call.
  2. Aspect shortlist. Five positive and five negative per bank is the rule, but who picks the five — a volume cut, a curated list, or the model — was not decided.
  3. Neutral band definition. The research deck uses the 0–6 / 7–8 / 9–10 split of a 0–10 survey question. Our inputs are star ratings and free text, so the boundary between neutral and promoter has to be defined before the chart can be computed.
  4. Summing across channels. He parked it deliberately; it returns the moment the combined chart is real.
  5. The dashboard link he promised to send has not arrived.
Back to briefs