Margin x Seasonality Bid Strategy

KTM Twins | Seasonality rebuilt from Google Ads conversions, Aug 2024 - Jul 2026 | Margins carried over from ShipHero + Shopify (Feb 4, 2026) | Refresh of the Mar 24, 2026 strategy

33
Product Types Analyzed
10
Calendar-Grade Categories
38.1%
Rev-Wtd Avg Margin
$106K
Avg Monthly Revenue
21
Not Calendar-Usable

How This Report Works

1. Margin Calculation

Unchanged from March. 27,230 SKUs matched between ShipHero (cost) and Shopify (price): margin = (price - cost) / price, weighted by sales volume. These figures are from Feb 4, 2026 - no fresh cost export was available for this refresh.

2. Seasonality Indexes

Fully rebuilt on Aug 2024 - Jul 2026, a balanced 24-month window with two observations per calendar month. Index 1.0x = that category's average month. Basis is Google Ads conversions, the same as March.

3. Bid Priority Score

Seasonal index x margin weight. Same normaliser as the March matrix, so scores are directly comparable. >1.40 push hard, >1.10 increase, >0.90 maintain, >0.70 reduce, else minimize.

4. Reliability Guard (new)

Any category averaging under 10 conversions/month is marked INSUFFICIENT DATA and excluded from the quadrants and calendar. Its "seasonality" is order lumpiness, not demand.

Reliability Tiers

How each category should be managed, and why. Only the first tier gets a monthly bid calendar.

TierCategoriesShare of revenueTest failedHow to manage
Calendar-grade1062.0%-Apply the monthly bid calendar below
Volume, unstable curve425.5%Replication < 0.30Bid on margin. Hold bids flat year-round
Insufficient data1710.5%Under 10 conv/moOne catch-all asset group on blended ROAS
Investigate22.0%Negative marginDo not spend until cost data is verified

Volume But Unstable - Bid On Margin, Not Calendar

These have enough conversions to trust their totals, but their month-to-month shape did not survive a change of window. Treat them as aseasonal: set a target ROAS from the margin tier and leave bids flat.

Product TypeMarginAvg Mo RevConv/moMarch index replication
Footwear57.4%$10,90320.4-0.27
Ergonomics28.1%$10,00945.4-0.12
Helmets41.1%$3,09611.8-0.08
Tools32.2%$3,03914.2+0.25
This tier is 25.5% of revenue - more than the insufficient-data tier - so it is not a rounding error. Ergonomics and Footwear in particular have been getting monthly bid instructions built on curves that do not replicate.

Strategy Quadrant: Margin vs Seasonal Volatility

Each bubble = a product type. Size = 12-month revenue. X = seasonal range (wider = more seasonal). Y = weighted margin. Faded bubbles are the insufficient-data categories - their X position is unreliable by construction.

Cash Cows - Always Push

High margin (40%+) and steady year-round demand. Safest possible ad spend.

  • None in this quadrant

Stars - Push At Peak

High margin (40%+) with a reliable seasonal pattern. Increase bids into peaks, pull back in troughs.

  • Exhaust45% margin · $7,681/mo
  • OEM Microfiche40% margin · $2,658/mo

Opportunistic - Bid At Peak Only

Margins under 40% with a reliable pattern. Concentrate budget at peak; you need the conversion-rate lift to profit.

  • Protection36% margin · $11,945/mo
  • Seat33% margin · $10,413/mo
  • Engine & Maintenance39% margin · $9,821/mo
  • Body38% margin · $9,002/mo
  • Bags & Luggage32% margin · $7,643/mo
  • Apparel37% margin · $2,308/mo
  • Chain & Sprocket39% margin · $2,241/mo
  • Electrical34% margin · $1,949/mo

Question Marks - Cautious Maintenance

Workable margins, flat demand. Bid conservatively and hold a higher ROAS target.

  • None in this quadrant

Insufficient Data - Manage On Blended ROAS

Under 10 conversions/month. The final column is how well their March seasonality curve reproduced on the refreshed window - near zero or negative means the "season" was never there.

Product TypeMarginAvg Mo RevConv/moMarch index replication
Wheels28.9%$2,3508.3-0.11
Brakes34.6%$1,4885.7+0.08
Suspension31.2%$1,4585.0-0.07
Lighting27.6%$1,3407.2+0.05
Rider Accessories47.5%$1,0334.6+0.83
Mounts & Cradles34.3%$7494.6+0.25
Clutches47.6%$4582.2-0.16
Gloves34.3%$4133.8+0.50
Filters39.4%$3702.2+0.56
Rider Protection35.5%$3523.0+0.32
Pants32.0%$3171.8-0.06
Fuel Management33.5%$2881.9+0.34
Jerseys40.8%$1460.9+0.19
Batteries30.0%$1220.8+0.02
GPS30.0%$1091.2-0.14
Security25.7%$920.5+0.58
Tires33.7%$250.2+0.36
How to handle these: roll them into a single catch-all asset group managed on blended ROAS. Do not set monthly bid modifiers from their curves. Together they are 10.5% of revenue, so a category-by-category calendar for them costs more management time than it can return.

Investigate Before Advertising

Product TypeWtd MarginAvg Mo RevenueIssue
Jackets-39.4%$1,404Negative margin, unverified since Feb 4 2026
Fluids-56.8%$676Negative margin, unverified since Feb 4 2026
Five months open. Jackets and Fluids were flagged on 2026-03-24 and the cost data has still not been checked. Between them they have absorbed ad spend every month since while showing negative gross profit. Verify the Shopify cost fields or pause them - the freeze is not holding.

Monthly Bid Priority Heatmap

Cell = that category's seasonal index for the month, coloured by combined margin x seasonality score. Faded rows are insufficient-data categories, shown for completeness only.

Product TypeMarginAvg Mo RevConv/moJanFebMarAprMayJunJulAugSepOctNovDec
Protection36.4%$11,94554.80.980.841.361.251.161.300.921.150.870.830.720.63
Seat33.4%$10,41337.00.640.981.441.001.251.120.961.641.030.680.640.62
Engine & Maintenance39.0%$9,82152.00.510.941.541.521.421.281.201.150.650.750.570.47
Body38.3%$9,00252.20.780.651.131.421.701.141.111.220.790.670.610.78
Exhaust44.7%$7,68118.70.540.851.341.341.461.050.921.311.300.980.350.57
Bags & Luggage32.4%$7,64328.90.650.761.241.411.471.170.911.220.930.720.850.66
OEM Microfiche40.1%$2,65812.70.850.631.821.371.271.051.320.980.610.870.460.78
Apparel36.9%$2,30820.71.490.901.421.010.630.510.441.140.420.921.062.06
Chain & Sprocket38.7%$2,24111.40.830.411.331.251.270.911.011.141.220.860.910.85
Electrical34.1%$1,94911.70.520.871.371.391.510.880.701.420.731.040.920.65
Footwear unstable57.4%$10,90320.40.671.851.541.521.201.200.690.840.560.460.700.79
Ergonomics unstable28.1%$10,00945.40.960.821.161.251.191.011.051.031.150.770.840.78
Helmets unstable41.1%$3,09611.80.820.590.691.001.280.730.591.550.851.501.371.03
Tools unstable32.2%$3,03914.20.790.931.021.091.170.850.881.341.220.611.320.79
Wheels n/a28.9%$2,3508.31.161.381.960.910.890.230.661.310.950.741.100.70
Brakes n/a34.6%$1,4885.70.600.241.142.031.131.011.710.941.180.480.930.62
Suspension n/a31.2%$1,4585.00.481.591.081.621.290.891.200.700.691.190.610.69
Lighting n/a27.6%$1,3407.21.211.220.850.861.491.200.971.180.710.790.920.59
Rider Accessories n/a47.5%$1,0334.60.510.670.910.150.540.570.531.040.650.891.753.80
Mounts & Cradles n/a34.3%$7494.61.040.731.450.741.420.921.221.610.750.940.710.46
Clutches n/a47.6%$4582.21.480.530.461.221.360.970.960.652.360.690.450.86
Gloves n/a34.3%$4133.80.640.740.961.901.470.560.720.590.900.881.621.01
Filters n/a39.4%$3702.20.410.680.991.351.850.991.280.722.070.031.170.46
Rider Protection n/a35.5%$3523.00.320.331.521.131.761.120.562.361.450.660.430.35
Pants n/a32.0%$3171.80.940.830.471.151.431.182.041.550.990.221.050.14
Fuel Management n/a33.5%$2881.91.090.580.810.421.251.371.660.791.191.110.451.27
Jerseys n/a40.8%$1460.91.071.271.621.231.551.010.562.990.150.000.000.54
Batteries n/a30.0%$1220.80.601.290.960.550.430.201.580.000.752.621.201.82
GPS n/a30.0%$1091.20.651.761.040.840.801.230.522.081.510.550.700.33
Security n/a25.7%$920.50.001.060.191.493.170.050.131.190.530.001.033.17
Tires n/a33.7%$250.20.000.004.920.000.000.002.460.000.003.670.950.00

Top 10 Categories by Gross Profit Contribution

Reliable categories ranked by revenue x margin - where the profit actually is, rather than where the biggest seasonal multiples are.

1
Protection
36.4% margin · Seasonal · peaks Mar (1.4x), Jun (1.3x)
$52,174
Est. GP 12mo
$143,336
Revenue
55
Conv/mo
2
Engine & Maintenance
39.0% margin · Highly Seasonal · peaks Mar (1.5x), Apr (1.5x)
$45,964
Est. GP 12mo
$117,857
Revenue
52
Conv/mo
3
Seat
33.4% margin · Highly Seasonal · peaks Aug (1.6x), Mar (1.4x)
$41,734
Est. GP 12mo
$124,952
Revenue
37
Conv/mo
4
Body
38.3% margin · Highly Seasonal · peaks May (1.7x), Apr (1.4x)
$41,372
Est. GP 12mo
$108,021
Revenue
52
Conv/mo
5
Exhaust
44.7% margin · Highly Seasonal · peaks May (1.5x), Mar (1.3x)
$41,203
Est. GP 12mo
$92,176
Revenue
19
Conv/mo
6
Bags & Luggage
32.4% margin · Seasonal · peaks May (1.5x), Apr (1.4x)
$29,714
Est. GP 12mo
$91,711
Revenue
29
Conv/mo
7
OEM Microfiche
40.1% margin · Highly Seasonal · peaks Mar (1.8x), Apr (1.4x)
$12,792
Est. GP 12mo
$31,901
Revenue
13
Conv/mo
8
Chain & Sprocket
38.7% margin · Seasonal · peaks Mar (1.3x), May (1.3x)
$10,409
Est. GP 12mo
$26,898
Revenue
11
Conv/mo
9
Apparel
36.9% margin · Highly Seasonal · peaks Dec (2.1x), Jan (1.5x)
$10,218
Est. GP 12mo
$27,692
Revenue
21
Conv/mo
10
Electrical
34.1% margin · Seasonal · peaks May (1.5x), Aug (1.4x)
$7,974
Est. GP 12mo
$23,385
Revenue
12
Conv/mo
AUGUST 2026

What to Push This Month

PUSH HARD Exhaust (1.31x · 45%m · +16%)
INCREASE Seat (1.64x · 33%m · +9%), Electrical (1.42x · 34%m · +4%), Body (1.22x · 38%m · +3%)
MAINTAIN Engine & Maintenance (1.15x · 39%m · 0%), Chain & Sprocket (1.14x · 39%m · 0%), Protection (1.15x · 36%m · 0%), Apparel (1.14x · 37%m · 0%), Bags & Luggage (1.22x · 32%m · 0%), OEM Microfiche (0.98x · 40%m · 0%)
Both March August pushes are gone. March called Clutches (+124%) and Footwear (+50%). Clutches is now insufficient-data and drops out; Footwear has volume but an unstable curve, and its refreshed August index is 0.84x - below its own average month. August's genuine push is Exhaust (1.31x index, 44.7% margin, +0.57 replication), which March had only at MAINTAIN.

Monthly Bid Calendar

Reliable categories only, ordered by combined score within each action.

Jan

INCREASE:Apparel (1.5x)REDUCE:Protection, OEM Microfiche, Chain & Sprocket, BodyMINIMIZE/PAUSE:Exhaust, Seat, Bags & Luggage, Engine & Maintenance, Electrical

Feb

MAINTAIN:ExhaustREDUCE:Engine & Maintenance, Apparel, Seat, Protection, ElectricalMINIMIZE/PAUSE:OEM Microfiche, Body, Bags & Luggage, Chain & Sprocket

Mar

PUSH HARD:OEM Microfiche (1.8x), Engine & Maintenance (1.5x), Exhaust (1.3x)INCREASE:Apparel (1.4x), Chain & Sprocket (1.3x), Protection (1.4x), Seat (1.4x), Electrical (1.4x)MAINTAIN:Body, Bags & Luggage

Apr

PUSH HARD:Exhaust (1.3x), Engine & Maintenance (1.5x)INCREASE:OEM Microfiche (1.4x), Body (1.4x), Chain & Sprocket (1.2x), Electrical (1.4x)MAINTAIN:Bags & Luggage, ProtectionREDUCE:Apparel, Seat

May

PUSH HARD:Body (1.7x), Exhaust (1.5x)INCREASE:Engine & Maintenance (1.4x), Electrical (1.5x), OEM Microfiche (1.3x), Chain & Sprocket (1.3x), Bags & Luggage (1.5x)MAINTAIN:Protection, SeatMINIMIZE/PAUSE:Apparel

Jun

INCREASE:Engine & Maintenance (1.3x), Protection (1.3x), Exhaust (1.1x)MAINTAIN:Body, OEM Microfiche, Bags & LuggageREDUCE:Seat, Chain & Sprocket, ElectricalMINIMIZE/PAUSE:Apparel

Jul

INCREASE:OEM Microfiche (1.3x), Engine & Maintenance (1.2x)MAINTAIN:Body, Exhaust, Chain & SprocketREDUCE:Protection, Seat, Bags & LuggageMINIMIZE/PAUSE:Electrical, Apparel

Aug NOW

PUSH HARD:Exhaust (1.3x)INCREASE:Seat (1.6x), Electrical (1.4x), Body (1.2x)MAINTAIN:Engine & Maintenance, Chain & Sprocket, Protection, Apparel, Bags & Luggage, OEM Microfiche

Sep

INCREASE:Exhaust (1.3x), Chain & Sprocket (1.2x)REDUCE:Seat, Protection, Body, Bags & LuggageMINIMIZE/PAUSE:Engine & Maintenance, Electrical, OEM Microfiche, Apparel

Oct

MAINTAIN:ExhaustREDUCE:Electrical, OEM Microfiche, Apparel, Chain & Sprocket, ProtectionMINIMIZE/PAUSE:Engine & Maintenance, Body, Bags & Luggage, Seat

Nov

MAINTAIN:ApparelREDUCE:Chain & Sprocket, ElectricalMINIMIZE/PAUSE:Bags & Luggage, Protection, Body, Engine & Maintenance, Seat, OEM Microfiche, Exhaust

Dec

PUSH HARD:Apparel (2.1x)REDUCE:Chain & Sprocket, OEM Microfiche, BodyMINIMIZE/PAUSE:Exhaust, Protection, Electrical, Bags & Luggage, Seat, Engine & Maintenance

Implementation Guide

PMax / Shopping structure

  • Separate asset groups for Stars, Opportunistic and Question Marks
  • One catch-all group for all 17 insufficient-data categories, managed on blended ROAS
  • Jackets and Fluids excluded until cost data is verified

Target ROAS by margin tier

  • HIGH margin (40%+): 300-400% ROAS
  • MEDIUM margin (30-40%): 400-600% ROAS
  • LOW margin (under 30%): 600%+ ROAS or pause

Product feed custom labels

  • Label 0: Margin tier (HIGH / MEDIUM / LOW / INVESTIGATE)
  • Label 1: Season type (STEADY / SEASONAL / HIGHLY_SEASONAL / INSUFFICIENT_DATA)
  • Label 2: Current month action
  • Label 3: Product type

Refresh next

  • Margins are the oldest input (Feb 4, 2026) - pull a fresh ShipHero Sales by SKU + Shopify export
  • Re-verify Jackets and Fluids cost data first
  • Seasonality is good until roughly Feb 2027