Meet Danielle Nelson, Rented's Senior Data Scientist from the product team that created Art! Danielle shares details about Art's seasonality model -- what goes into it, what math we use, and why it's so cool.
The seasonality model is represented by the graph of the rates you can view for each listing under Rate Settings. Log into Art and click on the rate settings for an individual listing, there are a few components to what goes into this graph.
First, there's the base rate, which is either suggested to you by the Art onboarding engine or that you set on your own. The seasonality model is a multiplier on the base rate to account for the day of the year, day of the week, and any holidays. So your daily rate actually ends up being the mathematical product of the base rate and the seasonality coefficient for that day, plus any overrides or market sensitivity adjustments. The data that are incorporated into the model comes from a predetermined set of listings called a geo market.
The geo market data represents listings within a certain, certain distance threshold from the listing in question, we only use forward-looking data and all our predictive models, and this is particularly important when it comes to the seasonality model by forward-looking. Our model for Art does not incorporate historical data. There are a few reasons for this. If the last two years have taught us anything, it's that what we thought of as normal can train can change drastically and quickly.
So the assumption that the future will look like the past isn't necessarily sound, and by using forward-looking data, we are able to base our model on what the market is doing right now, what times of high demand and low demand exist, and how pricing is following that, which updates. Every time we update the data for our models, which is often, using the current market data allows us to know very well, what that market will bear.
As far as pricing goes, it's also worth noting that the data that go into any of our models, including this seasonality model, is first cleaned to ensure that we are only using data from property managers who vary their prices and who have availability. So we're not incorporating those properties that are set at the same price year-round, or where everything is blocked off, or where everything is available.
So now we know that only forward-looking data goes into our model and we know why, but how does the model itself work?
The output you see on your graph actually comes from two different algorithms mashed together for approximately the first year of data. We use pure market data that has been scaled to center and has had its outliers removed, and is then averaged by outliers. Outliers could be listings of those property managers who have priced their properties so exorbitantly differently from the norm of the market that there's just no way that they represent the market at all. So on the pricing graph, what you're seeing is purely what the market is doing on average, no complicated modeling is required.
Year two is where things get interesting. We use a model called profit, which is what's called a generalized additive model, which is just a complicated way of saying that it breaks things down into component curves, and then puts those curves back together into the one result that you see on the chart.
Time series forecasting is really complicated and there are a lot of different algorithms out there. Profit is a great algorithm for this because it doesn't actually rely on time being well time. It's just part of the explanatory variables. Profit also allows us to break out our forecast into its component parts. These are the yearly seasonality, the weekly seasonality, and the holiday seasonality.
And I'll show you those now. So this is what those component parts look like. Not for this exact listing, but for another listing.
So you can see that for a year of data. We have some spikes for the holidays. We have a fairly periodic curve for weekly.
So, you know, weekends are higher and midweek is lower. And then we have a nice smooth curve that shows us the high season for a yearly seasonality curve.
So you won't see these in the graph on your end anywhere, but rest assured that they're in the model. And we look at these, uh, these graphs pretty often to make sure that our models are performing, how they should and to use it and any sort of debugging, because we have these component parts in the model, we can actually make really fine-scale modifications where we need to, for example, the market sensitivity slider over here, these two used to act on the rate as a whole, but we found that it was dropping lows far too low in order to get to the high points.
We need it. Now the market sensitivity slider works only on these two parts of the curve, the weekly and the holiday components of the model, leaving this yearly curve, untouched, even in the case of the market data in year one, because we have these components, we can combine the pure market data from year one with what the model estimates these components to be so that we can tweak only these two parts.
Another example is that we've decided that we really only care about holidays when they amplify the rate and not den that. Because of this, we've taken all of the points in the model where a holiday had a negative effect and just set those to zero to cancel them out. Then we're only seeing the places where holidays are bumping up our rates. So there's a lot of complicated math that has gone into our seasonality model, but the result is a robust representation of both what the market is actually doing for the next year.
I hope this helps you understand a little bit more of what goes into our seasonality model.