The Playbook

Seasonality and dynamic pricing in NZ

New Zealand does not have one rental market. It has a market that changes shape four or five times a year, and it changes shape differently depending on where your yard is and what you park in it. A flat daily rate treats all of that as if it were one thing. It is not.

We run Jimny Rentals and Dream Drives, so we have watched the same fleet swing from fully booked and turning customers away to sitting quiet enough that you start eyeing the finance bill. The daily rate that felt right in November is leaving money on the counter in January and scaring people off in May. This article is about reading the NZ demand calendar honestly, and pricing for it with a dynamic layer that rides the curve without gouging anyone. Seasonality is the backdrop. Dynamic pricing is how you move within it.

If you have not read How rental businesses actually make money in NZ yet, start there. This piece assumes you already see the hire rate as the ticket price rather than the business.

The NZ demand calendar, and why it is not one curve

The broad strokes are familiar to anyone who has operated here for a year. Summer, roughly December to February, is the national peak: domestic holidays, international arrivals, school out, everyone moving. Then the country splits.

In the lower South Island, Queenstown and Wanaka run a second peak through the ski winter, roughly June to September, when the rest of the country is in its quietest stretch. That counter-season is real money if you hold the right vehicles. An Auckland runabout and a Queenstown 4WD are not the same asset on the same calendar: the Auckland car is busiest in summer and slow in winter, while the 4WD can be busy at both ends and softer in the shoulders between.

Layered on top of the big seasons are the smaller, sharper spikes:

  • School holidays, four blocks a year, which lift family-segment demand hard and briefly.
  • Long weekends and public holidays, where a three-day window sells out well before the surrounding days.
  • Events, concerts, sports fixtures, festivals, and regional shows that pull demand into one town on specific dates.
  • Cruise ship days in the port towns, where a single arrival can empty the small-car line for a day.

The shoulders, roughly March to May and again in the spring, are where flat pricing hurts most. Demand is soft but not dead, and the operator who holds a summer rate through April watches the yard sit idle while a lower rate would have kept metal moving. Vehicle class changes the shape again: a camper or a 4WD has a longer, event-driven season than a compact hatchback that lives and dies by the school-holiday blocks.

The single most useful thing we ever did was stop thinking about an average month. There is no average month here. There is peak, ski, shoulder and the spikes, and every one of them wants a different number.

Why a flat rate leaves money on the table

A flat rate is a compromise with two bad ends. Set it to clear the yard in the troughs and you undercharge every hire in the peak, when customers would happily pay more and you have nothing left to sell them anyway. Set it to capture the peak and you sit half-empty through the shoulders, holding fixed costs against vehicles nobody is renting.

The costs underneath do not flex to match. Finance, insurance and depreciation run whether the car is out or parked. That is why an empty yard in April is so expensive and a sold-out yard in January is so valuable: the boring costs are already paid, so the marginal hire in peak is almost all contribution, and the marginal empty day in the shoulder is almost all loss. A flat rate ignores both facts at once.

Static rate rules versus a dynamic yield layer

You need both, and they do different jobs.

Static rate rules are your floor and your structure. Base daily rates by vehicle group, seasonal rate bands you set by hand, minimum hire lengths, weekend and long-weekend minimums, and any manual override you type in because you know something the system does not. Static rules are predictable, easy to explain, and correct for the large, known seasonal blocks. They are what you should reach for first, and they carry most of the year on their own.

A dynamic yield layer sits on top and handles the movement inside a season that a hand-set band cannot see: the week that is filling faster than usual, the last few cars left on a long weekend, the quiet Tuesday in a busy month. It nudges the price around your static base in response to live conditions. It does not replace your rate card. It rides it.

The distinction that keeps you sane: static rules encode what you already know about the calendar, and the dynamic layer reacts to what you cannot know in advance. Get the static bands right first. A dynamic layer on a lazy rate card just makes bad numbers move.

The three honest levers

Our dynamic layer is deterministic and explainable on purpose. It multiplies your base daily rate by a small set of independent factors, each one something you could work out on paper and defend to a customer. No black box, no learned model you cannot interrogate. Three levers do the work.

Fleet utilisation. How much of the relevant fleet is already booked for the window being quoted. We pivot around the halfway mark: above it, when the yard is filling, the multiplier surges gently; below it, when cars are sitting, it discounts to move metal. This is the lever that captures the sold-out long weekend and the dead shoulder Tuesday without you rewriting a band by hand.

Booking lead time. How far ahead of pickup the quote is. Last-minute bookings on a tight window carry a premium, because the person booking tomorrow has fewer options and you have fewer days to sell that car to anyone else. Early bookings, well ahead, earn a small discount to lock in certainty. It rewards the customer who commits early and prices the scarcity of the customer who left it late.

Booking pace, or demand momentum. How fast bookings are arriving for a group right now against that group's own trailing baseline. When a week is filling faster than normal, that is real demand you can see building, and the price firms. When pace is slow, it eases. This is the lever that catches the event you did not have in your calendar before your static bands would ever know.

Each lever is independent and each is legible. If a price moved, you can say exactly which of the three moved it and by how much.

Doing it without gouging

A dynamic layer is only worth running if customers and your own conscience can both live with it. That takes guardrails, and we build them in rather than hope for restraint.

First, bounds. You set a minimum and maximum multiplier, so the layer can never take a price below a floor you would accept or above a ceiling you would be embarrassed to charge. Whatever the levers say, the number stays inside a corridor you chose. Second, an aggressiveness setting: conservative, balanced or aggressive, which scales how hard the levers push. Most operators want balanced or gentler. Third, and most important, shadow mode. Before the layer touches a single live price, you run it in shadow: it logs the recommendation it would have made against every real quote, and changes nothing. You watch it for a season, or a month, and compare what it wanted to do against what actually happened. Only when you trust it do you switch it on. It is opt-in the whole way, and off until you say otherwise.

The honesty test is the same one we apply to everything else in the stack: a price you can explain is a price you can defend. If a customer asks why today costs more than last week, "it is a long weekend and the fleet is nearly full" is a fair answer they will accept. A number that moved for reasons you cannot articulate will eventually cost you a review, a chargeback, or a repeat customer. Explainable to the customer, and explainable to yourself, is the line. Ride the curve, do not fleece the peak.

Peak demand is not permission to gouge. It is permission to charge a fair price for genuine scarcity, and the difference between those two shows up in your reviews about six months later.

Seasons move your upsells and your turnaround too

Pricing the base rate for the season is only half of it. The season moves the rest of the stack with it.

The seasonal upsells swing hardest. Snow chains and ski gear are dead weight for most of the year and excellent revenue for the few months the demand exists, so you judge them on their in-season attach rate, not an annual average, and make sure they are actually offered when the season turns. We cover which add-ons earn their keep in The upsells worth the admin (and the ones that aren't).

Peak season also puts your operation under its heaviest turnaround pressure. The same days your dynamic layer is surging the price are the days a vehicle back late is most expensive, because the next hire is already booked and waiting. The value of a fast, clean turnaround is at its highest exactly when demand is. We work through that maths in Turnaround economics. Pricing for the peak and being able to turn the fleet fast enough to sell it are two sides of the same busy fortnight.

How Glovebox handles this

We built our own dynamic pricing as the layer described above, because it is the one we wanted for our own fleets: deterministic, explainable, and safe to switch on.

It sits on top of your static rate rules, never over a manual override you have typed in, and moves the price with the three levers, utilisation, lead time and pace, each clamped to the minimum and maximum bounds you set. It has the conservative, balanced and aggressive settings, and it starts in shadow mode, logging what it would have done without changing a cent, so you can watch it before you trust it. It is opt-in, and dormant until you turn it on. You can read how it is built on the dynamic pricing page.

Seasonality is the part of your year you cannot change. How well you price within it is the part you can. Start with the calendar and your static bands, and run your own numbers in the Revenue Stack calculator before you layer anything dynamic on top. The pillar, How rental businesses actually make money in NZ, ties the whole stack together.