Sergey Berezyuk, Designer, Portfolio

From spreadsheets to real-time pricing decisions

Redesigned how airlines manage capacity, overbooking, and promotions - cutting manual work from hours to minutes and recovering millions in lost revenue

Client

  • FLYR

My role

  • UX Researcher
  • Interaction Designer

My responsibilities

  • Data analysis
  • Information architecture
  • User flows
  • Wireframes
  • Prototypes
  • Usability testing

Team

  • UX Designer, x2
  • Front-End Engineer, x8
  • Back-End Engineer, x8
  • Full-Stack Engineer, x4
  • Q&A Engineer, x2
  • Product Owner, x4
  • Delivery Manager, x2

Date, duration

2021–2023, 24 months

On this page

Confidential work
This case study describes design solutions for a B2B SaaS platform. Detailed UI mockups and user data are protected under NDA and available to discuss in person or via secure channels.

Capacity and Overbooking

The Problem

Airlines were losing money on every flight. Not because of bad pricing – because nobody knew how many seats they actually had to sell.

Three different capacity numbers lived in three different systems. Physical seats (what the plane has), restricted seats (regulatory limits), virtual seats (what you can sell). Revenue analysts spent 4+ hours every day trying to reconcile them in Excel.

Worse: the overbooking system had a 30% variance. Analysts would set "115% target" and the system would actually book 108% or 121%. Completely random. That gap cost airlines regulatory fines and missed revenue every quarter.

The Goal

Real-time capacity visibility. Predictable overbooking. Zero manual errors.

What I built

I designed an overbooking wizard that shows how adjustments affect sellable capacity in real time. You could see: "This flight currently sells 300 seats, but with 3.5% overbooking, we can book 311 – an increase of 11 seats."

For overbooking adjustments, I added a simple wizard:

  1. Filter flights (JFK-LAX, next 30 days)
  2. Select rows you want to change
  3. Enter target percentage (115%)
  4. Preview rounded capacity (+12 seats per flight)
  5. Add mandatory comment ("Summer peak demand")
  6. Confirm

The system logs everything to an Influence History audit trail.

Research process

I shadowed 5 revenue analysts for a week. Watched them work. Counted clicks. Timed tasks. Asked questions.

Key finding: They didn't trust the system. They would set an overbooking target, then manually check 10-15 flights in another tool to verify it actually applied. Because it usually didn't.

The problem wasn't the algorithm – it was that the UI never showed them what actually happened after they hit "Submit."

See detailed Object-Oriented research

Results *

83%
Overbooking precision
variance reduction
$1M+
Revenue recovered
per airline quarterly
+50%
Analyst productivity gain
time saved daily from 4+ to 2 hours
-75%
Empty seat loss
Reduction

* All since Q1 2022, across 5 airlines.

Revenue analysts went from "I hope this worked" to "I know exactly what changed."

Our Revenue Operating System provides a singular platform to support the entire customer journey while optimizing price and revenue performance throughout.

FLYR x Avianca

Network Origin-Destination

The Problem

Revenue teams were analyzing the wrong thing. They'd look at individual flights: Oslo-Rome direct, 78% full - looks good, and miss the bigger picture: that route was bleeding money across five connecting options.

Eery team worked at the leg level (single flights), not the market level (regions level, network). Data lived in three separate systems. Pulling an OD report? Four days, if you were lucky. By the time analysts got their spreadsheets, the market had already shifted.

Network planners couldn't answer basic questions like "Should we fly Barcelona-Frankfurt?" without spending a day reconciling booking data, competitor fares, and last year's numbers. 15-20% of that data was wrong.

Why OD vs Leg matters

Here's the thing airlines got wrong for years.

Leg thinking
You optimize one plane: flight SK123 has 78% load factor
Network thinking
You optimize a market: Oslo-Rome makes $2.3M across 8 flight options.

One's tactical. One's strategic. We needed to give teams the network view.

What I built

An OD analytics platform that finally showed the full picture. Pick a city pair-say, Barcelona-Frankfurt, and see:

Total demand
Across direct AND connecting flights
Revenue trends
That 90-day sparkline showing -15%? That's your cue
Market routing
Which legs serve this market (2 direct, 3 via Munich)

The filter + aggregation pattern

After multiple design iterations, we killed the drill-down idea. Why? It trapped people in hierarchies. Supporting multiple cascades is not the right thing to do in tables. Instead:

Aggregation selector
Pick your level: region, city-pair, or flight
Filters
Slice by date, competitor count, profitability
Table updates
In-place: no navigation, no lost context

Same pattern we used for Advanced Filters. Same mental model across products.

Making it work on iPads

Network planners don't sit at desks all day. They're in airport meetings, staring at tablets. So we made the table responsive: collapsible columns, horizontal scroll for details, tap-to-expand sparklines.

One-click export? CSV with your exact view-filters, sorts, aggregation level-baked in. Filename even includes the date and criteria. No more manual cleanup before sending to stakeholders.

Results *

96%
Report speed
4 days → 2 hours
Decision velocity
same-day, pricing action
+85%
Data accuracy
15-20% errors → 2-3%

* Measured across 5 airlines, 2021-2023.

Network planners stopped managing individual flights and started optimizing markets. That's how Cyprus Airways went from reactive scheduling to strategic capacity allocation.

In press

We are helping reshape Cyprus Airways into the leading airline of the Mediterranean, for and by the people of Cyprus.

Paul Sies, CEO of Cyprus Airways

Promotion Management

Work in progress
This section of the case study is currently being developed and will be available soon.

Results *

79%
Campaign launch speed
8 hours → 90 minutes
12%
Promo uptake
lift in conversion
0
Post-launch corrections
down from 30% error rate
5 → 1
Tools consolidated
eliminated 4 handoffs

* 18 promotional campaigns, 2021-2023.

The new workflow eliminated IT dependencies, reduced campaign setup from a full workday to under 2 hours, and gave marketing teams confidence through real-time validation. Airlines reported 12% higher promotional uptake due to faster time-to-market during demand windows.

In press

This unique advantage provides valuable insight to help best allocate marketing dollars for high-yielding returns.

FLYR

Advanced Filters

Work in progress
This section of the case study is currently being developed and will be available soon.
2025 101 40
Filter panel

Results *

1 min
Filter setup time
Before: ~10 minutes
5 min
Average decision making time
Before: ~25 minutes
Query complexity
2.1 → 6.4 avg filters/analysis

* All since Q1 2022, across 5 airlines.

The new filter system transformed analyst workflow from a frustrating bottleneck into a fluid, keyboard-first experience. Teams now create 3× more complex analyses in 80% less time, with saved filter sets becoming institutional knowledge shared across departments.

FLYR's platform filters detailed information instantly through the Cirrus dashboard and user interface, enabling airlines to conduct greater analyses and generate reports for informed decision-making.

Frost and Sullivan

What I learned

Talk to users early

I wasted 3 weeks building a promotion preview feature that showed "estimated revenue impact." Users ignored it. Why? They didn't trust forecasts. They wanted to see affected flights-actual inventory they could verify. I redesigned it to show flight lists instead of projections.

Validation is a feature, not a bug

Analysts initially complained that the system "blocked" them too much. I explained: "Would you rather find out about conflicts now or after the promo goes live?" They got it. Validation went from "annoying" to "life-saving."

Performance matters

A beautiful dashboard that takes 15 seconds to load is useless. I spent as much time optimizing render speed as I did on visual design.

Documentation scales

I built filter patterns once, documented them, and saw them reused across 4 other product teams. Good design work compounds.

Appendix

Capacity and Overbooking

User Pain Points

Revenue analysts spent 4+ hours/day reconciling spreadsheets
Three capacity types (physical, restricted, virtual) lived in separate systems
Manual adjustments arrived too late to prevent revenue loss
30% variance between intended and actual overbooking meant regulatory risk

Use Case

High-Demand Route Adjustment
  1. Filter flights: JFK-LAX, next 30 days
  2. Select aggregated row (20 flights)
  3. Click "Adjust Overbooking"
  4. Enter 115% target
  5. Preview: system shows rounded capacity (+12 seats/flight)
  6. Add comment: "Summer peak demand"
  7. Confirm → system logs to Influence History
Actor
Revenue Analyst
Goal
Increase sellable capacity without regulatory risk

Objects and Actions

Primary Objects
Flight
  • market
  • cabin
  • date
  • load factor
Capacity Layer
  • physical
  • restricted
  • virtual
Overbooking Rule
  • target %
  • affected flights
  • analyst comment
Key Actions
Overbooking
  • Adjust target
  • Preview impact
  • Apply with comment
Capacity View
  • Filter flights
  • View capacity
  • Export CSV
Sergey Berezyuk
Sergey Berezyuk

Thanks for reading. Questions? Challenges? Let's talk.

You can reach me via Email or on LinkedIn.

See more projects