What this audit checks
Authentication & connectivity
- FTPS login on ftp.abebooks.com:21 succeeds (220 -> AUTH TLS -> 230)
- Explicit AUTH TLS upgrade negotiated correctly (no plain-FTP fallback)
- TLS server certificate verifies (verify_peer is on)
- Passive-mode data channel opens on the merchant’s egress
- Drop folders /inbox + /outbox readable / writable for the merchant’s username
- Time skew between merchant clock and AbeBooks server <5 min (TLS sanity)
Listing-feed health
- Last successful /outbox/listings upload <48h (any older = feed blind)
- Failed batches in /inbox/acks (any > 0 = rows AbeBooks rejected)
- Top error patterns clustered from inbound ack files (drives ‘fix once’ bug list)
- ISBN coverage <90% (untracked listings can’t cross-reference Alibris / Amazon)
- Stale listings >180d no update >10% of catalogue
- Suspended / pending listings >0 (direct revenue blocker)
Order-feed health
- Inbound /inbox/orders file lag >12h (probable upstream incident)
- Pending dispatch >2x 30D average (back-office backlog)
- Avg time to process >24h
- Late dispatches past dispatch_due_by >5% of 30D orders (account-standing risk)
- Cancellation rate >3%
- Return rate >5% (book-trade tolerates some, watch for grading drift on used stock)
Cost & efficiency
- Commission paid % of revenue drift vs prior 90D
- Avg dispatch hours rising trend (fulfilment cost creep)
- Per-condition margin: like_new / very_good vs acceptable mix shift
- AOV drop with no volume drop (mix shift to lower-condition stock)
Cross-channel: leak vs Alibris + Amazon (the killer area)
- ISBN drift - same ISBN, AbeBooks vs Alibris vs Amazon price delta >15%
- Top-50 Alibris / Amazon book-revenue ISBNs not listed on AbeBooks (cheapest revenue lift)
- AbeBooks price >15% below merchant’s own DTC list on like_new / very_good first editions (margin erosion)
- Channel mix anomaly: AbeBooks share of book-trade revenue dropping >25% WoW vs sibling book marketplaces
- Outbound feed cycle desync: same SKU updated on Alibris but no AbeBooks /outbox/listings upload in 7d
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
hours_since_last_successful_upload | 24 | 48 |
failed_batch_count_7d | 1 | 5 |
isbn_coverage_pct | 90 | 80 |
suspended_listings_count | 1 | 5 |
stale_listings_pct | 5 | 10 |
inbound_orders_file_lag_hours | 6 | 12 |
pending_dispatch_multiplier | 1.5 | 2 |
avg_time_to_process_hours | 18 | 24 |
late_dispatch_pct | 3 | 5 |
cancellation_rate_pct | 2 | 3 |
return_rate_pct | 4 | 5 |
isbn_drift_count | 5 | 10 |
missing_on_abebooks_count | 3 | 5 |
rare_book_floor_violation_count | 1 | 5 |
Data sources
GET ftps://ftp.abebooks.com:21/inbox/orders/- Download daily order files for SLA + revenue audits.GET ftps://ftp.abebooks.com:21/inbox/acks/- Read upload acks + processed-with-errors reports for feed-health audit.GET ftps://ftp.abebooks.com:21/inbox/returns/- Return + refund notifications for return-rate audit.PUT ftps://ftp.abebooks.com:21/outbox/listings/- Upload-cycle telemetry source - confirmed-vs-rejected counts drive feed health.PUT ftps://ftp.abebooks.com:21/outbox/price/- Price delta uploads - per-batch ack timing.PUT ftps://ftp.abebooks.com:21/outbox/quantity/- Quantity-only uploads - fast availability updates.