Pricing a Digital Product When You Have No Comparables

With no comparables, you cannot look up the right price; you have to construct it. Four inputs do most of the work: the cost floor below which the product is a hobby, the value anchor the buyer is actually comparing against, the bundle that shifts that comparison, and the refund policy that backs the promise. The number you publish is also a positioning statement, which is why cutting it repeatedly costs more than it earns.

Build the cost floor, then treat it as a walk-away number

The floor has three parts. Amortized build time: the hours you spent writing, recording and editing, divided by a conservative sales estimate, multiplied by what your time earns elsewhere. Marginal delivery cost: hosting, storage, license keys and payment processing. Stripe’s published US card rate of 2.9% + $0.30 per successful charge eats a much larger share of $19 than of $199. Support per buyer: every email, refund request and comment-thread question, converted to minutes and priced at your hourly rate.

build_hours = 60          # hours to write, record, edit
support_minutes = 12      # expected support per buyer, all time
unit_sales = 40           # deliberately conservative first-year number
hourly = 75               # what your time earns elsewhere
fee_pct, fee_fixed = 0.029, 0.30

amortized_build = build_hours * hourly / unit_sales
support = support_minutes / 60 * hourly
target = amortized_build + support

floor = (target + fee_fixed) / (1 - fee_pct)
print(round(floor, 2))

The output is not a price. It is the number below which this product is a worse use of your hours than the consulting work you could have done instead. If the floor lands above anything your audience will plausibly pay, the problem is the product: it took too long to build, costs too much to support, or targets people who do not buy things. Raise unit_sales only with evidence.

Find the real value anchor

Buyers do not compare your product to nothing. They compare it to four things: doing nothing, assembling an answer from free material, hiring someone, or buying the obvious competitor. Free material is a real anchor and often good. A full framework like the AI automation guide answers many questions for $0, and a tool comparison such as Zapier vs n8n vs AI workflow builder saves a reader a week of trial and error. Your price has to explain what it adds on top of that: sequence, a finished artifact, and the removal of dead ends.

Write the anchor as one sentence on the page, in the buyer’s language:

The alternative to this is four evenings of reading free docs, guessing which parts apply to you, and rebuilding something that half-works.

That sentence does more pricing work than any paragraph about your effort. Effort justifies nothing; the alternative justifies everything. This is where the price stops being arithmetic and becomes positioning. $39 says “cheap experiment, low risk, getting started.” $390 says “this replaces a contractor engagement.” Both can be correct for the same content depending on what is in the box and who is holding it.

Bundle math changes the comparison set

Adding a component does not just add value. It moves the buyer into a different comparison, and each comparison has its own ceiling.

AdditionNew comparison setCeiling effectSupport cost
Prompt/template packFree scattered snippetsSmall liftLow, one-time
Live Q&A sessionsCheap coursesMedium liftScheduled, bounded
1:1 review of their buildConsultant hourly rateLarge liftPer-buyer, unbounded
Updates for twelve months“Will this rot?”Small liftRecurring, ongoing

Two rules keep this honest. First, only bundle things you already have or can produce at a fixed cost. A blanket “lifetime updates” promise is a recurring bill dressed as a feature. Second, price the bundle above the sum of its parts only when the parts are hard to buy separately. If the buyer can grab the template pack elsewhere for a few dollars, the bundle does not raise the ceiling; it just makes the page longer.

The refund policy sets the trust floor and the refund ceiling

Refund terms are not legal boilerplate; they are part of the price. A generous window raises conversion and raises refunds. A conditional policy lowers refunds and lowers conversion. Pick the strictest policy you can defend, then publish the conditions in plain language.

PolicyWhat it signalsRefund exposurePrice range it supports
All sales finalYou do not trust your own productNoneLow only
14 days, no questionsStandard software expectationModerateMid to high
30 days, conditional (show your work)Filters for serious buyersLowMid to high
30 days, no questionsStrongest confidence signalHigherHigh, with usage data to prove it works

If refunds run above what you can absorb, the fix is usually the page, not the policy. A request that says “this was not what I expected” is a description problem. One that says “I could not get it working” is an onboarding problem. Track the two separately or you will keep rewriting the wrong thing.

Discounting leaks the position, and price changes need a trigger

Every discount tells the buyer the list price was fiction. Discount twice in a quarter and you teach the audience to wait; the next launch converts worse at full price because everyone assumes a sale is coming. If you must move, move up and add rather than down and remove, and grandfather existing buyers at the price they paid.

Change the price when a structural input changed, not when a week was slow. The triggers belong in a file, not in your head:

product: automation-templates
price:
  list: 39
  currency: USD
  discounts:
    allowed: [launch, bundle]
    max_depth_pct: 20
    max_windows_per_year: 2
    stackable: false
refund:
  window_days: 14
  conditions: none
  revoke_license_on_refund: true
review:
  cadence: quarterly
  triggers:
    - anchor_shift        # a free or paid alternative got much better
    - bundle_changed      # you added or removed a component
    - support_cost_moved  # your own ticket log says so
    - refund_rate_high    # above tolerance two periods in a row

If none of those fired, hold the price through at least one full sales cycle. A weak launch is a distribution and offer problem far more often than a pricing problem, and cutting the number hides the real fault instead of fixing it.

What to do next

  1. Run the floor script with your own hours, your own support estimate and a deliberately low sales number. Write the result down as a number you will not go below.

  2. Write the anchor sentence and put it on the page above the buy button, naming the alternative and what it costs the buyer in time or money.

  3. Freeze the bundle for one sales cycle, and note the date you froze it, so “add a component” stays a decision instead of a reflex.

  4. Publish the refund window and its conditions as a short readable list. Split your tracking between “not what I expected” and “could not get it working.”

  5. Set a quarterly review against the four triggers above. Until one fires, no discount, no price cut, no apology.

For a reference point at the low end of the scale: Ship With AI is a $39 one-time, four-hour practical course that takes a non-coder from zero to a first working AI automation project. Low build cost, narrow anchor, no bundle, which is exactly why the price sits where it does.

Get Ship With AI

Ship With AI โ€” $39, one-time payment, instant download. See the full breakdown on the review page.

๐ŸŽ Want to try before you buy?

Both samples are 100% free. Enter your email to unlock the download links and get our 3-day AI toolkit drip in your inbox.

No spam. Unsubscribe anytime. We respect your privacy.

Or browse the full catalogue in the Slashman Tools storefront.

About the author
Published by slashman413 โ€” writing practical, evergreen guides on money, productivity, developer tooling and the web. More about this site โ†’

Frequently Asked Questions

How do I know if my price is too low?

If refunds are rare, support is light and buyers mention the price as a reason they bought, the floor is doing the work. In that case the missing piece is usually the anchor sentence, not the number.

Should I run a launch discount?

Once, framed as a launch, with a stated end date. Stacking it with bundles and repeating it every quarter turns the list price into decoration and trains buyers to wait.

When is it legitimate to raise the price?

When one of four inputs actually moved: the anchor, the bundle, your measured support cost, or a refund rate above your tolerance for two periods. Otherwise finish a full sales cycle first.

๐ŸŽ Recommended Tools

๐Ÿ“š Related Articles

๐Ÿ“ฌ Free Weekly AI Product Guides

New tools, templates and automation walkthroughs โ€” plus hands-on updates on the Slashman Tools catalogue. One email a week, zero fluff.

Free forever ยท No spam ยท Unsubscribe anytime ยท Sent instantly

๐ŸŽ Get Free Toolkit