a Sagan program · currently in private beta

Competitor Pricing Sheet Agent

Your Retail Pricing Model sheet updates automatically with competitor pricing and sold status from Freezer Planet, Soft Serve Parts, and Turnkey's weekly email—deduplicated by year, brand, model, phase, and cooling.
before

You visit Freezer Planet and Soft Serve Parts websites, read Turnkey Parlor's weekly email, and manually type competitor prices into your Retail Pricing Model sheet by model-year, phase, and cooling. The sheet falls behind, prices get overwritten, and you can't track competitor pricing or inventory movement fast enough to spot when a competitor lists a machine at $22,970 while you're pricing yours at $18,000.

after

Your Retail Pricing Model sheet updates automatically every week with current competitor pricing and sold status. You view a dashboard showing competitor inventory, recent price changes, and days-on-market. You spot pricing gaps and inventory-movement signals; you stop visiting competitor sites and reading the newsletter.

equipment resale / food service equipment / machinery refurbishment / data enrichment / competitive intelligence / pricing optimization / freezerplanet.com / softserveparts.com / Google Sheets / Browserbase / Agent Mail / Railway /  equipment resale / food service equipment / machinery refurbishment / data enrichment / competitive intelligence / pricing optimization / freezerplanet.com / softserveparts.com / Google Sheets / Browserbase / Agent Mail / Railway / 
the problem

You're manually checking two competitor websites and reading a weekly email to price your soft-serve machines.

Every week you visit Freezer Planet and Soft Serve Parts, read Turnkey Parlor's inventory email, then type competitor prices into your Retail Pricing Model sheet by hand—model-by-model, year-by-year, phase and cooling.

01
Manual re-entry across three sources

Freezer Planet website, Soft Serve Parts website, and Turnkey's weekly email all require hand-copying into your sheet.

02
Stale pricing data

When you fall behind on updates, prices get overwritten and you lose the history you need to spot trends.

03
Pricing gaps you can't see

Without current competitor pricing, you can't identify where to raise your own prices or match aggressive undercuts.

the math, if you want to look

Competitor pricing updates automatically. You stop checking websites and reading emails.

proof 01
Automatic weekly updates

The system runs on a schedule and writes to your sheet without you opening a browser or reading an email.

proof 02
Deduplicated across all three sources

Same machine appearing in the website and the newsletter is counted once, keyed by year + brand + model + phase + cooling.

proof 03
Sold and velocity signals

Listings that flip to out-of-stock or strikethrough in the newsletter are marked sold, with time-on-market tracked so you see how fast inventory moves.

proof 04
Writes to your existing sheet structure

Competitor data lands in the Turnkey Parlor and Soft Serve Parts blocks you already maintain, in the same tab-per-model and column-per-year format.

proof 05
Dashboard for quick reference

View current competitor pricing, inventory counts, recent price changes, and days-on-market at a glance, with export.

This agent scrapes Freezer Planet and Soft Serve Parts, parses Turnkey's weekly newsletter for strikethrough-sold items and unit-count depletion, deduplicates every listing by year, brand, model, phase, and cooling, and writes current competitor pricing and sold status directly into your Retail Pricing Model sheet tabs—the exact format you already use. You get a dashboard view of current competitor inventory, recent price changes, and what's moving, plus an export. Your sheet stays current; you stop visiting competitor sites and reading the newsletter.

how it works

How the agent works

The system monitors your two main competitors continuously, extracts and normalizes every listing, deduplicates across sources, detects sold items and price changes, and updates your sheet and dashboard automatically.

step 01
Scrape both competitor websites

Freezer Planet (Shopify storefront) and Soft Serve Parts are scraped weekly for every active and sold listing, capturing year, brand, model, phase, cooling, price, and stock status.

step 02
Parse the Turnkey Parlor weekly email

The newsletter is monitored for new machines, price updates, strikethrough-sold items, and unit-count depletion (e.g., '4 units → 3 units'), which signals inventory movement.

step 03
Extract and normalize specs

Machine identity is parsed from listing titles and email prose into structured fields: year, brand, model, phase (1-phase or 3-phase), and cooling (air or water).

step 04
Deduplicate across sources

The same machine appearing in both the website and the newsletter, or listed by both competitors, is counted once and keyed by the full identity (year + brand + model + phase + cooling).

step 05
Detect sold items and velocity

Listings that flip to out-of-stock on the website or strikethrough in the newsletter are marked sold. Time-on-market is calculated from first-seen to sold date.

step 06
Write to your Retail Pricing Model sheet

Competitor pricing and sold status are written into the Turnkey Parlor and Soft Serve Parts blocks in your existing sheet, tab-per-model and column-per-model-year, preserving your current structure.

step 07
Update the dashboard

A portal shows current competitor inventory, median pricing by model, recent price changes with deltas, and days-on-market freshness. Export is available for further analysis.

ai agent · estimator console inputs transform outputs public preview
inputs
Freezer Planet website (Shopify storefront) +

Scraped weekly for active and sold listings, each with year, brand, model, phase, cooling, price, and stock badge.

Soft Serve Parts website (PARTEX storefront) +

Scraped weekly for listings productized by year, model, and spec, with price and stock status.

Turnkey Parlor weekly newsletter +

Parsed for new machines, price updates, strikethrough-sold items, and unit-count depletion signals.

Your Retail Pricing Model Google Sheet +

Read for structure (tabs per model, blocks per competitor, columns per model-year) and written to with competitor pricing and sold status.

transformation
Extract machine identity from titles and prose +

Parse year, brand, model, phase, and cooling from listing titles and newsletter text into structured fields.

Normalize specs across sources +

Standardize phase (1-phase vs 3-phase) and cooling (air vs water) so the same machine is recognized across Freezer Planet, Soft Serve Parts, and the newsletter.

Deduplicate by full identity +

Key on year + brand + model + phase + cooling to collapse the same machine across sources and avoid double-counting.

Detect sold items and price changes +

Compare current listings to historical snapshots to identify new listings, sold items (out-of-stock or strikethrough), and price deltas.

Calculate time-on-market +

Track when a machine was first seen and when it sold to compute velocity and identify slow movers.

Map to your sheet structure +

Organize competitor pricing by model (tab), competitor (block), phase/cooling (row), and model-year (column) to match your Retail Pricing Model format.

outputs
Updated Retail Pricing Model sheet +

Competitor pricing and sold status written to the Turnkey Parlor and Soft Serve Parts blocks in your existing sheet, preserving your tab-per-model and column-per-model-year structure.

Competitor inventory dashboard +

Portal showing active listings per competitor, median pricing by model, recent price changes with deltas, days-on-market freshness, and sold/velocity signals.

Export for further analysis +

Download current competitor pricing and inventory data for use in pricing strategy or sourcing decisions.

Historical snapshots +

Database of every listing across runs, enabling trend analysis and velocity calculation.

draft ready for estimator review _
tech used
Browserbase web scrapingAgent Mail email parsingGoogle Sheets APIRailway cron schedulingSQLite historical snapshots
tool alternatives
Alternative web scraping tools (Playwright, Zenrows) for BrowserbaseGmail forwarding rules as alternative to Agent Mail for newsletter ingestion
honest qualification

Is this for you?

built for you if
  • + Refurbished equipment resellers - You carry inventory by model-year and spec, and you set resale prices model-by-model to maximize profit per unit, not speed of sale.
  • + Operators with 2–3 main competitors - You track a small, known set of competitors and need to monitor their pricing and inventory movement continuously.
  • + Teams using Google Sheets for pricing - Your pricing model lives in a Google Sheet with a tab-per-model structure, and you want competitor data written directly into that workflow.
  • + Businesses where pricing gaps are material - You've seen cases where competitors under-price or over-price by thousands per unit, and spotting those gaps drives revenue.
not for you if
  • - High-volume, low-margin resellers - If you maximize speed of sale over profit per unit, competitor pricing intelligence is less critical.
  • - Operators with 10+ competitors - This build is custom to two named competitors; tracking a large, changing competitor set requires a different approach.
  • - Businesses that don't use Google Sheets - The primary output is a sheet write-back; if your pricing lives in a different system, the integration effort is higher.
  • - Teams that need real-time pricing updates - The system runs on a weekly schedule; if you need intra-week pricing changes, a more frequent cadence is a future option.
pricing

Pricing

to build

This is a scoped build custom to your two competitors and your Retail Pricing Model sheet structure. Pricing covers the initial build, integration, and testing. Usage is billed per weekly run.

then
  • Initial build includes Freezer Planet and Soft Serve Parts scraping, Turnkey newsletter parsing, deduplication, sheet write-back, and dashboard.
  • Weekly runs are usage-based; pricing scales with the number of listings monitored and the frequency of updates.
  • Future phases (pricing-strategy analysis, sourcing-recommendation agent) are separate builds.
FAQ
Will this automatically update my pricing sheet every week?

Yes. The agent scrapes Freezer Planet and Soft Serve Parts, parses Turnkey's weekly newsletter, deduplicates listings by year, brand, model, phase, and cooling, and writes competitor pricing and sold status directly into your Retail Pricing Model sheet tabs on a weekly schedule. You stop visiting competitor websites and reading the newsletter by hand.

How does the system know when a machine has sold?

The agent detects sold items using two signals: listings that flip to out-of-stock on the Freezer Planet website, and items that strikethrough or show unit-count depletion in Turnkey's weekly email (e.g., '4 units → 3 units'). Historical snapshots track when each machine was first seen and when it sold, so you can see how fast inventory moves.

What if the same machine appears in both the website and the newsletter?

The system deduplicates across all three sources—both websites plus the email—by keying on the full machine identity: year + brand + model + phase + cooling. The same machine is counted once, never double-counted, so your pricing data stays clean.

Does the agent write to my existing sheet structure, or do I need to reorganize?

The agent writes directly into your existing Retail Pricing Model format—tab per model, Turnkey Parlor and Soft Serve Parts blocks, phase and cooling rows, column per model-year. Your sheet structure stays exactly as it is; competitor data lands in the blocks you already maintain.

Can I see competitor pricing and inventory at a glance without opening my sheet?

Yes. The system includes a dashboard portal showing current competitor inventory counts, median pricing by model, recent price changes with deltas, and days-on-market freshness. You can filter by brand, model, phase, cooling, and competitor, and export the data for further analysis.

What happens if a new machine model appears that I don't have a tab for yet?

The system handles new models gracefully. If a competitor lists a machine you don't yet track, the agent captures it and queues it for your review rather than erroring out. You can then decide whether to add a new tab to your Retail Pricing Model.

Is this build limited to just Freezer Planet and Soft Serve Parts, or can I add more competitors later?

This build is custom to your two main competitors. Adding a third competitor is a future phase and would require a separate integration. The system is intentionally scoped to Freezer Planet and Soft Serve Parts to keep the initial build focused and reliable.

How often does the agent run, and can I change the schedule?

The agent runs on a weekly schedule by default, which matches how often Turnkey Parlor sends their inventory email. If you need more frequent updates in the future, that's a configuration change we can make, but weekly is the committed cadence for this build.

next step

Stop checking competitor websites by hand. Let the agent do it.

Your Retail Pricing Model sheet updates automatically every week with current competitor pricing, sold status, and inventory-movement signals. You spot pricing gaps; you stop visiting Freezer Planet and Soft Serve Parts and reading Turnkey's newsletter.