← Back to Blog

Building a Hardware Sentiment Matrix for Steam

This post was originally posted on Vaporlens Patreon

Hey folks!

Sorry for being quiet for a bit.

I've been heads-down working on something much bigger related to game analysis. Not just "analyze one game better," but something closer to analysis at the scale of, well, all of Steam. It's still a bit too early to properly talk about it, but more info on that is coming in the near future.

While working on that, I noticed Valve added two new bits of review metadata to the Steam API, and for VaporLens this is the kind of update that makes my brain instantly go from "nice" to "oh no, now I need to build three new systems."

The two new fields are:

If you've ever read 500 performance complaints and thought "cool, but is this broken for everyone, or only for people running 6GB VRAM on older AMD cards?" then yeah, this is a very big deal.

Why this matters: "Performance is bad" is not specific enough

Right now, "performance" in review analysis is mostly flattened.

You can detect that players are angry about stuttering, crashes, memory leaks, shader compilation, or weird CPU spikes. But you usually can't reliably answer:

That distinction matters a lot.

"Runs badly" means one thing if the review came from a 7-year-old budget machine. It means something very different if the review came from a modern rig that should be chewing through the game without blinking.

The new hardware field gives me the missing context layer.

The first thing I want to build: a Hardware Sentiment Matrix

The obvious next step is a Hardware Sentiment Matrix.

I want VaporLens to break down sentiment by hardware slices instead of treating all performance complaints as one giant soup.

That means things like:

So instead of just showing:

"Some players report performance issues."

I want VaporLens to eventually say something more useful, like:

"Performance sentiment is strongly negative on 6GB AMD GPUs and mostly fine on 12GB+ NVIDIA cards."

That is a real buying decision input. Especially for PC players, where "Recommended Specs" are often just creative writing.

The second thing: refunded reviews are a goldmine

The new refunded field is arguably even more interesting.

Why? Because a refunded review is a much stronger signal than a regular negative review.

A normal negative review can mean:

A refunded negative review usually means:

That is a completely different severity class.

So now I can start separating:

That should make scans like performance, launch quality, pricing regret, and "time-to-fun" much sharper.

The cursed but useful idea: hardware pain-point extraction

The matrix is the clean part.

The more interesting part is Hardware Pain-Point Extraction.

What I want here is not just:

I want:

That is much more useful than a generic performance score, because it turns "this game has issues" into "this game has your issues."

If I can get this right, VaporLens stops being just a review summarizer and becomes something closer to a compatibility risk scanner.

The hard part: Steam review hardware data will be messy

Of course, now comes the annoying engineering part.

Just because Valve added a hardware property doesn't mean the data will be perfectly consistent. I still need to figure out:

So before I ship anything flashy, I need to answer a boring but important question:

Is the coverage good enough to build something honest, or only good enough to build something misleading?

If coverage is patchy, the UI needs to reflect that. I don't want to show fake precision just because the charts look cool.

Where this is going

Short term, I'm probably going to prototype:

  1. hardware normalization
  2. sentiment aggregation by vendor / VRAM / CPU / OS
  3. refunded-review weighting
  4. hardware-specific pain-point clustering

If the data quality is decent, this could become one of the most useful things on VaporLens for PC players.

Because "Mixed Reviews" is whatever.

But "Mixed Reviews, except people with your exact hardware are getting obliterated" is actionable.

← Back to Blog