Documentation · Troubleshooting

Market Insights Issues

This document covers problems with the Market Hub and Market Insights features of the ADP Car Market Hub plugin, including the Market Hub admin tab, price score display, days-on-lot calculation, and the daily pricing analysis.

When to use this document

Read this document when:

  • The Market Hub admin tab shows no data, displays dashes, or shows unexpected price scores.
  • All vehicles show no_data status in the Market Score column on the vehicle list table.
  • Days on Lot values are missing, zero, or show unexpectedly large numbers.
  • The Market Hub target market setting is not saving correctly.
  • The daily pricing analysis does not appear to be running.
  • The Market Hub tab shows a "Market Insights is not included in this license" message.

Overview

The Market Insights feature has two components:

Market Hub tab (admin page as24ci-market-hub): Provides a filterable, paginated price comparison table. For each vehicle it shows a status badge (good_price, fair_price, overpriced, or no_data), a market median price, a price deviation percentage, and a sample size (number of comparable listings). It also shows aggregate cards for average price deviation and counts of competitive, fair, and overpriced vehicles.

Pricing Engine: A daily background analysis that runs via WP-Cron. For each published as24ci_car post it computes:

  • Days on Lot — the number of calendar days since the vehicle was published, stored in the _as24ci_days_on_lot post meta field.
  • Market Median price — fetched from the Hub API and stored in _as24ci_market_price_median.
  • Price Score — a 0–100 competitiveness score stored in _as24ci_price_score.

Important: In the current plugin version, market data returned by the Hub API is generated as a realistic simulation. Real market data requires a connection to the Market Hub backend service, which is provisioned through your plugin license rather than a key you enter manually.

Configuration reference

The Market Hub admin tab has a single setting — the Target Market selector. There is no customer-managed API key to enter. Access to Market Insights is governed entirely by your plugin license (the market_insights_allowed feature right); when it is included in your license, market comparison data is available with no further configuration.

SettingOption keyDefaultDescription
Target Marketas24ci_hub_target_marketDEISO country code for the target market used in price comparisons. Supported values: CH, DE, AT, IT, FR, BE, NL, ES.

Note: Earlier plugin versions exposed a "Hub API Key" field on this tab. That field has been removed. Market Insights access is now managed through the plugin license, so you no longer enter or store any key here.

Market data is cached per vehicle for 15 minutes using a WordPress transient with the key as24ci_hub_data_{post_id}. The aggregate analytics cache uses the transient as24ci_analytics_market_intel.

Diagnostic steps

Step 1: Check that the Pricing Engine cron is scheduled

  1. In the WordPress admin, go to the plugin's System & Help tab.
  2. Look for the as24ci_pricing_analysis_cron event in the cron schedule display.
  3. If the cron event is not listed, the daily analysis is not scheduled.

To reschedule it:

  1. Deactivate and reactivate the plugin. The activation hook calls Pricing_Engine::schedule().
  2. Alternatively, trigger a manual import run from the plugin Importer tab. This also fires the as24ci_vehicle_imported action, which computes and stores pricing data for each vehicle immediately.

Step 2: Check the Market Score column on the vehicle list table

  1. Go to the Vehicles post list table in the WordPress admin (/wp-admin/edit.php?post_type=as24ci_car).
  2. Look at the Market Score column (added by the Pricing Engine).
  3. If all rows show a dash (), either no vehicles have pricing data yet or the Hub API returned no_data for all vehicles.

A no_data status badge means the vehicle has no price stored in _as24ci_price. Vehicles imported without a price value will always show no_data.

Step 3: Check Days on Lot values

Days on Lot is calculated from the vehicle post's post_date_gmt (preferred) or post_date (fallback for draft posts). The plugin validates the date and discards any value that:

  • Is a zero-date (0000-00-00 00:00:00).
  • Is in the future (scheduled posts show 0).
  • Exceeds approximately 20 years (treated as a corrupt date source).

If Days on Lot shows 0 for all vehicles:

  1. Verify that the vehicles have a valid publish date in the WordPress post list table.
  2. Check whether vehicles were imported with default_post_status set to draft. Draft posts may not have a UTC publish date until they are first published. Days on Lot is recomputed automatically when a vehicle transitions to publish status.

Step 4: Verify the target market setting

  1. Open the plugin's Market Hub admin tab.
  2. Confirm the Target Market is set to one of the supported values: CH, DE, AT, IT, FR, BE, NL, ES.
  3. Save the settings if you make any changes.

An invalid or empty target market defaults to DE.

Step 5: Clear the market data cache

If data appears stale or frozen:

  1. Use a WordPress transient management tool (for example a plugin or WP-CLI) to delete all transients with the prefix as24ci_hub_data_.
  2. Delete the aggregate analytics transient as24ci_analytics_market_intel.
  3. Reload the Market Hub tab. Fresh data will be generated on the next page load.

You can also use WP-CLI:

wp transient delete --search=as24ci_hub_data_
wp transient delete as24ci_analytics_market_intel

Step 6: Check the plugin log

Open the plugin log (from the Logs tab or at wp-content/uploads/as24ci-logs/adp-car-market-hub.log) and search for:

  • [PricingEngine] — entries from the daily analysis.
  • has been on the lot for … days (threshold: 45) — staleness warnings for vehicles that have been listed longer than 45 days.
  • Any errors from the Hub API request.

Operational notes

  • Staleness threshold: Vehicles on the lot for more than 45 days generate a warning log entry during the daily analysis. Vehicles on the lot for more than 30 days are highlighted in the "Top Stale Vehicles" dashboard widget.
  • Price score calculation: The score is 100 when the vehicle's price is at or below the market median. It decreases linearly to 0 when the vehicle's price is 20% above the median. A score of 0 is also returned when there is no market data or when the vehicle has no price.
  • Cache invalidation: The per-vehicle Hub API cache is invalidated automatically when a vehicle is hard-deleted. The analytics aggregate cache is invalidated whenever any vehicle is imported, updated, or deleted.
  • Pricing Engine and importer: Each time a vehicle is imported or updated, the Pricing Engine computes its score immediately via the as24ci_vehicle_imported action. You do not need to wait for the next daily cron run.
  • Cron dependency: The Pricing Engine daily cron (as24ci_pricing_analysis_cron) relies on WP-Cron. On sites where DISABLE_WP_CRON is set to true, this cron will not fire unless an external cron trigger is configured. See Cron Errors for more detail.
  • Hub API backend: The Market Hub API base URL is https://api.car-market-hub.ad-promotion.ch/v1. Connection to this service is authorized through your plugin license, not a key you enter on the Market Hub tab. While the backend is not yet live, the plugin returns realistic simulated values.
  • License gate: Market Insights is a licensed feature. When the plugin license is not operational, the Market Hub tab is replaced by a lock screen and the daily pricing analysis is skipped (no pricing meta is written), but no existing data is deleted. When the license is operational but does not include Market Insights, the tab shows a "Market Insights is not included in this license" card and refresh actions are not performed.

Troubleshooting

SymptomLikely causeCheck
All vehicles show no_dataVehicles have no price storedVerify _as24ci_price meta is populated; check import settings
Market Score column shows Status badge is no_data or emptySee "no_data" row above
Days on Lot shows 0 for all vehiclesVehicles were published very recently or have no valid publish dateRe-import or manually publish draft vehicles
Days on Lot shows very large numbersPost date was corrupted (e.g., epoch or zero-date fallback)Check post dates; re-import affected vehicles
Market Hub tab shows no vehiclesNo published as24ci_car posts existImport vehicles and publish them
Price deviation shows unexpected valuesMarket data is simulated with random varianceExpected behavior in current version; real data requires Hub backend
Daily analysis not runningPricing Engine cron not scheduledDeactivate/reactivate plugin; check WP-Cron configuration
Analytics aggregate cards show stale dataAnalytics transient is cachedDelete as24ci_analytics_market_intel transient
Target market setting not savingUser lacks the plugin management capabilityConfirm user is an Administrator with the manage_as24_imports capability
Tab shows "Market Insights is not included in this license"The active license does not include the Market Insights featureContact ADP Car Market Hub support to enable it
Whole tab replaced by a license lock screenThe plugin license is not operationalSee the licensing documentation and reactivate the license