Method
Methodology
A receipt is a scenario estimate, not a quote. It has a total only when every applicable bill line can be priced from public evidence.
Last materially reviewed
What the model covers
BackupStoragePrices compares public list prices for object storage used as a backup target. Each receipt is for one named product, storage class, region, currency and billing period. Offers with different regions, classes or billing units stay separate.
A normal-month receipt models the stored data and routine operations, retrieval and outbound transfer declared for that month. A disaster-month receipt adds the declared restore bytes and restore operations to that same monthly workload before monthly allowances are applied. It does not reset an allowance for the restore.
The included bill dimensions are storage, request or API operation groups, retrieval or rehydration processing, destination-specific egress, fixed monthly charges, minimum billable capacity, minimum billable object size, minimum storage duration and early-deletion treatment. A provider can bill fewer dimensions. A missing dimension is never added merely to make receipts look uniform.
Cloudflare R2 demonstrates why the dimensions remain separate: its official page lists storage, Class A operations, Class B operations, retrieval for Infrequent Access and egress as distinct billing treatments. Source: Cloudflare developer docs: R2 pricing; retrieved 2026-07-26.
How a bill is computed
The receipt total is storage plus operations plus retrieval plus billable egress plus scenario-triggered early-deletion charges plus fixed charges. Free quantities, account minimums, object minimums, tier boundaries and published billing increments are applied inside the relevant line before the lines are added.
Storage starts with billable GB-month or GiB-month for the selected class. The model applies the vendor's tier rule, any per-account capacity floor and any per-object minimum or metadata overhead for which the workload supplies enough information. If the input is one stored-capacity value, the stated assumption is that the capacity remains constant for the modeled month. A provider-specific daily average, peak measurement or hourly rate is used only when the source and workload support it.
Operations use the provider's own request groups. The workload's PUT, COPY, LIST, multipart, GET, HEAD, DELETE, transition or other calls are mapped to those groups, the applicable monthly free quantity is subtracted once, and the remainder is multiplied by the published rate and billing block. Class A and Class B are not assumed to contain the same operations at every provider.
Retrieval uses bytes read or rehydrated from the selected class and the selected retrieval priority. Internet egress uses outbound bytes to the stated destination after the offer's one monthly allowance is applied to routine and restore traffic together. Same-region, cross-region, partner or CDN paths are used only when that exact path has a sourced rule.
An allowance is not an overage rate. If a provider publishes a free quantity or fair-use boundary but no price beyond it, the receipt shows a policy or unpriced line and withholds the total once the workload crosses that boundary. Wasabi says monthly egress at or below active storage is within its free-egress guideline and reserves the right to limit or suspend service for regular excess; it publishes no metered overage rate on that page. Source: Wasabi: Faq; retrieved 2026-07-26.
A read-only restore does not itself create an early-deletion charge. A delete, overwrite, move or tier change can. The receipt adds such a charge only when the modeled action triggers the selected class's minimum-duration rule. Microsoft documents that copying an archived Azure blob to a new online blob avoids the early-deletion fee because the source remains unchanged, while retrieval reads, writes and selected priority still carry their own billing treatment. Source: Microsoft Learn: Archive rehydrate overview; retrieved 2026-07-26.
Line amounts are added at full precision and formatted for display after the sum. Vendor rounding is applied when the official rule publishes it. Cloudflare, for example, says it rounds usage up to the next billing unit for storage, operations and retrieval. Source: Cloudflare developer docs: R2 pricing; retrieved 2026-07-26.
What each price state means
Published means an official source gives a numeric rate for the exact meter, offer, class, region and currency. not charged means the source explicitly says that exact meter carries no charge. It contributes zero to that scenario, but it remains visible and sourced.
does not apply means the meter or rule does not apply to the selected offer or scenario. It is omitted from the arithmetic because there is no applicable line, not because the provider has published a zero rate. not published means the checked official material does not provide a numeric figure for an applicable meter.
Conditional means a number or treatment depends on a stated policy, workload, destination, account type or other condition that prevents an unconditional comparison. Allowance_only means the free quantity is known but the price or remedy beyond it is not. Neither state is converted to a free overage.
Published_non_usd means the vendor publishes a usable number in another currency but the site has not silently converted it into US dollars. Trial means the figure is introductory, time-limited or credit-limited and is not used as the recurring standard price.
Unknown is used when the evidence is missing, unavailable, malformed or too ambiguous to assign one of the verified states above. It produces no amount and cannot win a price ranking. Not comparable is a receipt outcome, not a cheap price: at least one applicable line cannot be aligned or priced without distortion.
Stale and unavailable describe freshness or dataset health, not money. Stale preserves the last known observation with its check time after its refresh deadline has passed. Unavailable means the current dataset or source could not be read. Neither state changes a prior number to zero. State meanings reviewed as site policy on 2026-07-26.
What counts as a source
A price enters the ledger only when it can be tied to a vendor, product, storage class, region, meter, unit, public source URL and retrieval timestamp. Vendor pricing pages, billing documentation and official machine-readable catalogs are primary evidence. A comparison article can identify a question, but it cannot replace the vendor's current source.
Retrieved at records when this site observed the source. Effective date records when the vendor says the rate began, if the vendor publishes one. Those dates answer different questions and are not substituted for each other.
A current public price can be restated manually with attribution and a timestamp. That does not automatically authorize recurring scraping, long-term caching or historical redistribution. The source record therefore distinguishes official APIs, official machine-readable documents and public-page manual observations. Source handling policy reviewed 2026-07-26.
Units and comparisons
The ledger records the unit system the vendor uses before any display conversion. GB means 1,000,000,000 bytes and GiB means 1,073,741,824 bytes. A comparison names any conversion rather than treating the units as synonyms. Source: NIST: Binary; retrieved 2026-07-26.
Wasabi publishes $7.99 per TB-month and divides that figure by 1024 to publish $0.0078 per GB-month. The ledger carries the vendor's published $0.0078 figure and records the divisor instead of silently producing a different rate. Source: Wasabi: Faq; retrieved 2026-07-26.
Tiered rates are applied according to the vendor's published aggregation rule. A graduated schedule prices each usage band separately; an all-units or volume schedule applies its stated rule to the qualifying quantity. If the source does not make the aggregation method clear, the result is conditional or unknown.
Currencies are not silently converted. Regions, storage classes, destinations and contract types are not treated as interchangeable. Retrieval is not merged into egress, and an account minimum is shown as a bill constraint rather than hidden inside an effective per-used-TB rate.
How often figures are refreshed
Each source record carries its own retrieval time and maximum age. The current cadence classes are official_feed_7d, which becomes stale after 7 days, and manual_30d, which becomes stale after 30 days. The public health endpoint reports dataset age. Source cadence policy and current source records reviewed 2026-07-26.
The cadence is a maximum age for calling a figure current, not a claim that a source is continuously monitored. A refresh checks the exact product, class, region, currency, meter and conditions again. A vendor page edit with no published effective date receives a new retrieval time but no invented effective date.
Once a figure passes its own deadline, it is shown with its age and stale state. A failed, blocked, empty or malformed refresh does not overwrite the last known good snapshot. If there is no valid prior observation, the field is unavailable or unknown rather than zero.
What is outside the model
The model uses public list prices only. It excludes negotiated contracts, committed-capacity discounts, account credits, taxes, silent currency conversion and support plans. Those amounts depend on buyer, jurisdiction, contract or exchange date, so folding them into one public ranking would imply precision the source material does not provide.
A vendor may publish list pricing alongside contract offers or optional services. The public price is modeled only for the exact offer and region named by its source. A private quote, reseller bundle or unpublished exception is not used to adjust another buyer's estimate.
The price model does not prove durability, support quality, restore speed, throughput, compliance or operational fit. A restore-time estimate needs a user-supplied or sourced throughput and remains separate from vendor price facts. BackupStoragePrices does not claim hands-on tests or benchmarks of the listed services.
Corrections and history
Snapshots are dated observations rather than retroactive claims. A revision records the affected provider, product, meter, old value, new value, source and capture date. Price history begins with this site's first observation; no earlier history is reconstructed from memory or an undated page.
When official sources conflict, the conflict is recorded and the affected figure remains conditional or unknown until its scope can be resolved. A failed, empty or malformed refresh does not supersede a valid snapshot. Method changes are dated so a reader can distinguish a vendor price change from a calculation change.
Send a correction to data@backupstorageprices.com with the provider, product, region, meter, source URL and the date you observed it. A correction is applied only after it can be traced to public evidence.