rodion prokhortsev
All work

Cashback campaign analytics

Role
Product designer
Team
PM, designer, developer, analyst
Platform
Web
Year
2026

A dashboard where a brand tracks its cashback campaigns in banks on its own: sales, customers, budget spend and payback. Before, all of it arrived as Excel files from an account manager.

Context

The company runs brands' cashback campaigns in banks as performance advertising: the brand pays for a completed purchase, not for impressions.

The case is built on a real campaign: 25% cashback on Uvelka rice.

Problem

Results arrive in Excel: a weekly snapshot and a final report of 7 sheets.

There is no single picture: channels, segments, receipts and finance are spread across files.

The brand learns about overspend after the fact: the ₽3 million limit ran out on 27 January, and ₽86,299 went over it.

CAC (Customer Acquisition Cost), ROMI (Return on Marketing Investment) and ROAS (Return on Ad Spend) are calculated by hand; every report is a manager's work.

Users

Brand manager, the main user: keeps the campaign under control and reports to management.

Marketing analyst: slices, exports, details.

Brand finance: investment and payback.

The brand's agency: limited access.

Goals

Self-service: answers without asking a manager.

A transparent budget and alerts on the limit.

Proof of effect: new customers and payback.

Less manual reporting and repeat sales of campaigns.

Hypotheses

Hypothesis 1. A brand manager needs answers to three questions rather than a set of charts: how much has been spent, who bought, did it pay off. We build the sections around the questions, not around Excel sheets.

Metric: time to answer a question from management; the share of brands that open the dashboard on their own.

Hypothesis 2. Overspend can be prevented by showing the spend rate and the forecast of when the budget runs out, not just the total.

Metric: the share of campaigns that end without going over the limit.

Hypothesis 3. A brand will stop asking a manager for reports if it can check every metric by its formula and export the data in a familiar form.

Metric: the number of report requests to managers before and after launch.

Hypothesis 4. Receipt data — new customers, sales by retail chain and SKU — is the main argument for a repeat campaign.

Metric: the share of brands that request a new campaign from the dashboard.

Hypothesis 5. An honest negative ROMI next to the annual ROI via CLV earns more trust than picking convenient metrics.

Metric: we check trust qualitatively: questions and disputes about the finance report.

What we turned down

One long dashboard. Seven report sheets don't fit on one page without losing legibility. The overview answers the main question in 10 seconds, and mini-slices lead to the detailed sections.

Moving the Excel sheets over one to one. The screens are built around the brand's questions; the structure of the original files is kept only in the exports of the Reports section.

Only convenient metrics. We could have shown ROAS and hidden the negative ROMI for the period. We showed both, with the annual ROI via CLV next to them.

Open customer data. The customer ID is hashed: the brand sees the receipt and the chain, but not personal data.

An alert only at 100% of the limit. It reports overspend but leaves no time to act. We set thresholds at 80%, 95% and 100%.

Process

Took apart two reports: 7 sheets, 94,748 receipts.

Built a metric tree: volume → efficiency → structure → transactions.

Grouped the sections around the brand's questions: “how much has been spent?”, “who bought?”, “did it pay off?”.

Designed 11 screens on shadcn design system components.

Built a working coded prototype as the base for development.

Screens

01

All campaigns

The brand's home screen: every cashback campaign and how it performs, on one page

Design decisions

Checks hypotheses 1 and 4

  • Budget progress right in the row answers the brand's main question, “how much has been spent?”; overspend shows without opening the campaign
  • Statuses are pill labels, only one of them green: “Active”
  • The “Request a new campaign” CTA is where LOEE sells the next campaign

02

Campaign overview

The campaign's main screen answers “how did the campaign go?” in 10 seconds

What's on screen

  • An alert that the cashback limit has been exceeded
  • Volume KPIs: sales, customers, receipts, cashback
  • Efficiency KPIs: investment, CAC, ROAS, annual ROI
  • Customers by day and the budget card
  • Mini slices: channels, segments, top retail chains, each leading to its detailed section

Design decisions

Checks hypotheses 1, 2 and 3

  • Hierarchy: alert → result → efficiency → dynamics → structure
  • Every KPI has an explanation or formula under it (CAC = investment / customers), so the brand has no questions for the manager
  • Days after the limit ran out are highlighted, so overspend reads straight from the chart

03

Dynamics

How the campaign developed over time and when the budget will run out

What's on screen

  • A view switch: weekly / cumulative
  • Multi-select of metrics: customers, receipts, cashback, items
  • Cumulative cashback with the limit line
  • A “Spend rate” card: average daily spend, run-out date, peak day, pause
  • A weekly summary with % of the limit

Design decisions

Checks hypotheses 2 and 3

  • The cumulative chart with the limit line makes the budget run-out forecast visual
  • The weekly table replaces the Excel report the brand used to get by email
  • Active tabs and filters are dark pills, leaving the accent colour to the data

04

Channels and offers

Comparing partner banks and offers: where cashback works best

User task

Understand what each bank and targeting segment contributes, to reallocate the budget in the next campaign.

What's on screen

  • Funnel: audience → activations → customers → purchases
  • Totals by channel: customers, receipts, sales, cashback, cashback per receipt, share
  • Offers by wave and segment with the conversion rate (CR) from activation to purchase

Design decisions

Checks hypothesis 4

  • The funnel explains the performance cashback model: the brand pays for a purchase, not for reaching 50 million clients
  • CR has its own column: it is the key metric for targeting decisions

05

Audience

Who bought during the campaign and whether they will come back: proof of new customers

User task

Show management how many new customers the campaign brought, and assess their loyalty.

What's on screen

  • Segment KPIs: loyal, competitors' customers, new to the category, newly acquired
  • Segment structure in three cuts: customers, sales, cashback
  • A table of segment figures
  • Customers by number of receipts and loyalty by bank

Design decisions

Checks hypothesis 4

  • The main product message is a KPI: 55% of customers are new to the brand
  • Three share bars side by side show at once who the budget is spent on
  • Repeat purchases indicate retention and are the basis for calculating CLV

06

Chains and products

Where and what people buy: sell-out by retail chain and SKU from fiscal receipts

User task

Get data for trade marketing: which chains and SKUs drive sales, and when people buy.

What's on screen

  • KPIs: average item price, items per receipt, revenue leader, peak time
  • A table of retail chains: receipts and revenue with shares
  • Product groups: revenue by SKU
  • Purchases by hour of day

Design decisions

Checks hypothesis 4

  • Receipt data is the service's unique value: a brand usually cannot see sell-out by retail chain
  • The leader and the peak time are KPIs, so the answer is visible without reading the table
  • The hourly chart accents only the 17:00–19:00 peak

07

Finance and efficiency

A report for the finance team: how much went in, what came out and whether the campaign paid off

User task

Justify the budget to finance and management, and compare costs with results.

Design decisions

Checks hypotheses 3 and 5

  • Channel fees and LOEE's commission are shown openly: transparency builds trust
  • A formula under every metric, so the calculation can be checked
  • A negative ROMI for the period is shown honestly, with the annual ROI via CLV next to it: the campaign pays off over a year

08

Receipts

Down to a single transaction: 94,748 fiscal receipts with cashback

User task

Check the data at the purchase level, look into a disputed case, and reconcile accruals with the brand's own records.

Design decisions

Checks hypothesis 3

  • A master-detail pattern: details open alongside, without losing the table's context
  • The customer ID is hashed, so no personal data is disclosed to the brand
  • Verification with the Federal Tax Service proves the data is genuine

09

Reports

Self-service instead of emails with Excel: an archive, an export builder and scheduled delivery

User task

Get data in a familiar format for internal reports without waiting for a manager.

Design decisions

Checks hypotheses 2 and 3

  • The reports keep the structure of the original Excel files, so the brand has nothing to relearn
  • Alerts at 80%, 95% and 100% of the budget fix this campaign's pain: the overspend was found after the fact

Outcome

Impact

The dashboard has launched. There is no quantitative measurement yet, so the impact is shown on the campaign's own data: how the alerts would have worked had the brand had the dashboard from day one. The ₽3 million limit ran out on 27 January.

The weekly Excel from a manager has been replaced by self-service: 11 screens, exports in the format of the original reports and scheduled sending.

  • 19 JanThe 80% alert — 8 days before the limit ran out. Hypothesis 2
  • 24–25 JanThe 95% alert — 2–3 days before the limit ran out. Hypothesis 2
  • 94,748Receipts the brand can open down to the transaction without asking a manager. Hypothesis 3

How we'll measure

Hypothesis 2: the share of campaigns that end without going over the limit.

Hypothesis 3: the number of report requests to managers before and after launch.

Hypothesis 4: the share of brands that request a new campaign from the dashboard.

What to improve

Showing the dashboard to brands brought no feedback, so the first improvement is to collect it inside the product.

— A “Was this section useful?” rating and a short survey after a report export.

— Product analytics: which sections are opened, what is exported, where people drop off.

— An action right in the alert: “Request a higher limit” or “Pause the offers”.

— Comparison with the brand's past campaigns, so the decision on a repeat campaign rests on the trend.

— A weekly email digest for management, who don't open the dashboard.

— Hints on the CAC, ROAS and ROMI metrics on first visit.

This site uses cookies for analytics