I feel like flat price should just be part of the score. I'd really only consider this a single feature, categorical. Here is kind of how it would look:

```ruby
categorical_match_score = 0.65 # <what you currently have
price_score = price / 5.0 # or however many $ there potentially are
scores = [categorical_match_score, price_score]
total_score = scores.sum / scores.length
```