A Cost of Zero Can Mean Free, or Mean Nobody Priced It
A resource that shows a cost of zero is telling you one of two very different things.
Either it is genuinely free, or its price was never resolved and zero is standing in for unknown.
A recommendation engine that cannot tell those apart has to guess, and either guess costs you something.
Two resources behind one misleading number
Recommendations run on price. To say “this resource is oversized and switching it would save money,” the engine has to know what the resource costs. When that cost reads zero, the number is ambiguous in a way that matters.
One resource is genuinely free, and there is nothing to recommend. Another has a real, meaningful cost that simply was not resolved, so it also reads zero. Same number, opposite meaning. Faced with that, an engine that treats every zero the same is forced into a bad trade. Suppress them all and it hides valid recommendations on real, priced resources. Surface them all and it spams noise on things that genuinely cost nothing. ZopNight had been suppressing them, so correct findings on correctly-priced resources were quietly dropped.
Telling free from unpriced
ZopNight now distinguishes a resource that is genuinely free from one that is simply missing a price, instead of collapsing both into zero. That one distinction fixes the trade in both directions at once.
Recommendations on correctly-priced resources are no longer suppressed, so findings that used to vanish now appear. At the same time, genuinely-free resources stay quiet, because the fix does not simply surface every zero, it identifies which zeros are real. You get the dropped recommendations back without inheriting a wave of noise on things that cost nothing.
What comes back, and what stays quiet
The behavior now matches what each resource actually is, rather than what its cost field happened to read.
| Resource | Cost field | Before | Now |
|---|---|---|---|
| Genuinely free | Zero | Suppressed | Stays quiet, correctly |
| Priced, price unresolved | Zero | Suppressed, finding lost | Priced and surfaced |
| Priced normally | Real number | Surfaced | Surfaced |
Alongside this, a batch of correctness fixes from the recommendation rule-verification program tightens when rules fire and how their savings are computed. Fewer recommendations that should not have fired, and more trustworthy numbers on the ones that do.
When it matters
If your resources are all normally priced, you never hit the ambiguous zero, and nothing about your recommendations changes.
It matters when your inventory includes resources whose price does not always resolve cleanly, which is common across managed services and newer resource types. There, “suppress every zero” was quietly costing you real recommendations, and “surface every zero” would have buried you in noise. Telling free from unpriced is what lets the engine do neither.
