All Case Studies
Small BusinessForecastingOptimization10 min read

Gulf Coast Boat Sales

Pricing Intelligence & Inventory Optimization for a Family-Owned Marine Dealership

PythonXGBoostSHAPProphetPandasRecharts

23%

Faster Inventory Turnover

+23%

$2,800

Avg Pricing Uplift

per unit

91%

Forecast Accuracy

monthly

01The Challenge

A family-owned marine dealership on the South Texas Gulf Coast was pricing boats the way they always had — gut feel, competitor scanning, and a "what the market will bear" approach. The owner knew his inventory was sitting too long and margins were thinning, but couldn't pinpoint why.

Three specific problems drove the engagement:

  • Pricing blindness: No systematic way to set asking prices based on actual market drivers — length, engine, condition, and model year were weighted by intuition, not data.
  • Seasonal inventory pileup: Boats purchased for spring selling season sat unsold through summer, tying up capital and requiring costly storage.
  • No markdown timing: Price reductions were reactive (when the owner noticed a boat "had been there a while"), not proactive based on aging curves.

Data Landscape

The data landscape: 11 years of point-of-sale records (~3,000 transactions), hand-maintained inventory spreadsheets, and the owner's deep domain knowledge of the South Texas marine market. No existing analytics infrastructure.

02Our Approach

We approached this as four interconnected modeling problems: pricing optimization, demand forecasting, inventory aging analysis, and customer segmentation. Each model feeds into a unified dashboard the dealership team uses daily.

  • XGBoost + SHAP gradient-boosted pricing model with interpretable feature contributions
  • Prophet Facebook's time series library for monthly demand forecasting with seasonal decomposition
  • Survival Analysis (Lifelines) Kaplan-Meier curves modeling how long each boat type sits before sale
  • K-Means Clustering customer segmentation by purchase behavior, geography, and financing preference
  • Pandas + Recharts data pipeline and interactive dashboard for the dealership team

Raw Sales Data

3,000+ transactions

Feature Engineering

20+ derived features

XGBoost Pricing

R² = 0.83

Prophet Forecast

91% monthly accuracy

Dashboard

Real-time pricing tool

03Key Findings

Seasonal Sales Heatmap

Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Center Console
27
60
92
99
109
88
80
60
49
78
69
41
Bay Boat
32
41
71
81
85
82
49
40
37
67
59
16
Pontoon
24
33
65
58
80
73
47
35
29
46
53
19
Bass Boat
27
26
51
80
71
61
50
35
30
57
47
17
Deck Boat
20
11
37
51
59
31
26
25
27
38
37
12
Low
High

Monthly sales volume by boat type across all years. Peak demand is Mar–Jun for center consoles and bay boats, with a secondary Oct–Nov bump from tournament season.

What Drives Pricing? (SHAP Feature Importance)

Mean absolute SHAP values from the XGBoost pricing model. Condition and model year dominate — the owner had been underweighting condition in his mental model.

Inventory Survival Curves

Kaplan-Meier curves showing the probability a boat is still in inventory after N days. Pontoons and deck boats sell fastest; center consoles have the longest tail.

Interactive Pricing Calculator

22
1628
200
75400
2021
20102024
30
5180

Predicted Sale Price

$17,100

Linear model R² = 0.825 · For illustration only

Adjust boat features to see the model's predicted sale price. Based on a linear regression trained on 3,000 historical transactions.

04Business Impact

Inventory Turnover
68 days avg52 days avg
23% faster
Avg Margin per Unit
$1,900$4,700
+$2,800
Dead Inventory (>120 days)
18%7%
-61%

Projected Annual Value

$67,000 projected annual margin improvement

The dealership implemented data-driven pricing within the first month. The owner reported that the SHAP-based feature breakdown was the "aha moment" — seeing that condition grade had 2x the pricing impact of engine horsepower changed how he evaluated trade-ins and set asking prices.

The survival curves gave the team a concrete markdown policy: if a center console is still on the lot after 75 days, it's past the median sell-through point and should receive a 5% price reduction. Previously, that same boat might have sat 120+ days before anyone noticed.

05Technical Details

Pricing Model (XGBoost)

  • Features: length_ft, engine_hp, model_year, days_on_lot, boat_type, condition, trade_in
  • Hyperparameters: n_estimators=100, max_depth=4, learning_rate=0.1
  • Evaluation: R² = 0.83, MAE = $1,450 (5-fold CV)

Demand Forecast (Prophet)

  • Granularity: monthly, per boat type
  • Seasonality: yearly (multiplicative) + custom regressor for local events
  • Accuracy: MAPE = 9% on 12-month holdout

Survival Analysis

  • Library: lifelines KaplanMeierFitter
  • Stratified by: boat_type, condition, price_quartile
  • Used for: automated markdown trigger points

Facing similar challenges?

Let's discuss how data science can drive results for your business.