MusicMaster Scheduling
Your viewing experience of the MusicMaster website, as well as the web as a whole, would be much improved if you upgraded your browser.

MusicMaster Blog

It’s About Time: Min Max Step Rule and Hour Target Rule for Song Year posted on October 3rd, 2022

It’s About Time: Min Max Step Rule and Hour Target Rule for Song Year

By Laurie Knapp

How do you control the balance and flow of musical eras on your station? Some people may use categories and clocks to position songs by era, while others might assign time periods as an attribute and then use rules to control their flow.

However, there are also a number of interesting rules you can use with the Song Year if you have it stored in a numeric field. MusicMaster’s numeric rules work mathematically with the values in the field, allowing you to do things like set things like the minimum, maximum, sum, or average value over time.

In this blog, we’ll look at two examples: the Min Max Step Rule and Hour Target.

Question 1: I want to control the flow of my music so that back-to-back songs are at least 5 years apart, but no more than 10 years apart.

Both of these things can be accomplished using the same rule: The Min/Max Step.

The “step” the rule name refers to the difference in the Numeric year value for each song. So the step between 1975 and 1980 would be five. (Note that when using this type of rule with an Attribute field, the “step” will refer to the difference in values you have set in the Attribute Code Editor.)

When you open the rule, you’ll see you can fill in the Min and the Max step. If you don’t want to set a Min or Max, you can leave the value set to the default of 0. In this case, I want to make use of both bounds, so I’ll set things up as follows:

Graphical user interface, application

Description automatically generated

Notice under the next dropdown, I’ve selected Test All Transitions. Alternatively, I could set it to look at the upward step only, or the downward step only. To understand what all these options mean, look at this example:

Scheduled Song 1: 1980

Testing Next Song 2: 1977

Song 1 and 2 are only three years apart, which is outside my acceptable bounds for the minimum step. If I had “Test All Transitions” on, Song 2 would not be able to play.

However, if I were to select “Test upward step only” then Song 2 would pass the rule, because MusicMaster will only be testing songs that are a step above the previous song. In order words, Song 2 would have to be between 1985 to 1990 (within 5-10 years later). But if the song being tested is from any time earlier than 1980, the rule won’t apply.

The same concept works in reverse for “downward step only”.

Typically, you’d want to use the “Test All Transitions” option but in some situations, you might want to have different minimum or maximum steps depending on if you’re looking in one direction or the other. For example, you might find that you’d prefer a stricter or more lenient rule when looking into the past versus the future.

To accomplish this, you’d set two separate Min Max Step rules with different settings. One would apply to the “upward step only” and one would apply to the “downward step only”, as follows:

Graphical user interface, application

Description automatically generated

Looking back at the Rule Settings, the next option you’ll see is the “Segue Search Properties” checkboxes. I’ve checked both on because I want MusicMaster to look both forward and backwards in the schedule when determining if that minimum or maximum step has been met. Since my hour doesn’t get scheduled in chronological order, I want to be sure it’s comparing songs that have already been scheduled directly before and ahead of the current song position.

I also want MusicMaster to compare consecutive songs even if they are on the other side of an hour, sweep marker, break, or piece of imaging. This means I would not check on any of the Rule Cutoff options on the right. If I did want to use any of these options, it would just mean the rule gets reset at either of these points, so it wouldn’t matter if the previous song was outside the minimum or maximum step range.

Finally, I’ve excluded my Non-Music, so their years don’t skew the results.

Now when I look through my schedule, I can see that there’s never a gap of fewer than 5 years between songs in any direction and also never a leap of more than 10 years in any direction.

Question 2: I want the average year in each hour to be somewhere around 1980, give or take 5 years.

The rule you’d want to use for this is called the Hour Target rule.

A picture containing graphical user interface

Description automatically generated

The gauge helps you visualize the years you are targeting. The values on the gauge are derived from the range of values you have set in that field for your songs, from lowest to highest value.

Important note! Before using this rule with a Numeric Field, you have to set an upper and lower range in the Database Field Editor. This rule is also available for Attribute fields, but here, MusicMaster uses the values that are set in the Attribute Code Editor.

To figure out the lowest and highest year you have for the songs in your library, choose all the categories you plan to use and click the Year header to sort from lowest to highest. The first entry has your lowest year. Now click the header again to sort from highest to lowest.

Next, go into Dataset > Library > Fields and find your Year field. You can also sort this list by clicking on the header. In the section on the right, type in the lowest year into Lower Bound and the highest year into Upper Bound. (Remember if you add new songs to your library that come before or after these years, you’ll want to adjust the bounds).

Graphical user interface, application, table, Excel

Description automatically generated

Back in the Rule Settings, note that as you adjust the pointer, you can see the targeted year change. With the second slider, you can also decrease or increase the tolerance to make the target range wider or narrower. You can also use your arrow keys to move the slider. Don’t worry about any decimal values. Since we’re working within broad averages, the range can be a little fuzzy.

So for example, if I want each hour to have an average song year of 1980, give or take 5 years on either side, I’ll adjust my hour target to somewhere around 1980 and adjust the tolerance until its plus and minus 5 years, or roughly 1975 to 1985.

A picture containing graphical user interface

Description automatically generated

Now, MusicMaster will try to schedule songs in such a way that the average across the hour is somewhere between 1975 and 1985.

Notice what happens if I move the slider closer to the edge and increase my tolerance. Now, the target window includes years that aren’t even in my database! A little red square appears as a warning. This just means you should adjust the gauge to make more sense for your data.

Graphical user interface

Description automatically generated

It’s important to note that the range of 1975-1985 does not refer to the song years that are allowed to schedule. Rather, it’s the acceptable range for the average of all the songs in the hour. This means roughly an equal spread of songs that also come before 1975 and after 1985.

Min/Max Hour Average

If you’re interested, there’s an earlier version of this rule called the Min/Max Hour Average. It’s the same rule, but with less options. Rather than use a target slider or tolerances, you simply type in the range of acceptable averages.

So remember, when I used the Hour Target rule, my target was 1980 but I was okay with five years on either side, in other words, an average of 1975-1985? If I were using the Min/Max Hour Average Rule, I would enter 1975 as the Min and 1985 as the Max. I also would have the same option to exclude Non-Music, but no Rule Cutoff choices.

Graphical user interface, application

Description automatically generated

You can use one or the other of these rules, it’s up to you. Just don’t use both!

Dayparting Considerations

As you think about the overall flow of eras across your station, you might also want to set different targets or min max steps at different times or day or different days of the week. To do this, you would use Rule Groups that have Time Restriction Filters set. You can then apply different variations of the Hour Target or Min Max Step rules within each Rule Group.

Graphical user interface, text, application

Description automatically generated

Library and Category Considerations

A general rule of thumb for rules is to make sure that the settings make sense within the context of your library.

For example, if you play a wide variety of music from the 60s through the 2000s, your step and target settings should be wide enough to accommodate a larger range of values.

That being said, you might also want to exclude certain categories from being tested by those rules. For example, most of my music comes from the 1970s to 1980s, but I have a few smaller categories containing 90s and 2000s music that I sprinkle in less often.

If I set my Hour Target or Min Max step narrowly to keep all my songs within the range of the 70s to 80s, those later category songs are going to have a hard time fitting in. If I broaden my ranges to include the 90s and 2000s too, then it’ll skew what I’m trying to accomplish with the vast majority of the music I play.

One way to remedy this is to only use the rule on the 70s-80s categories. The quickest way to do this is to create a Rule Group in the All Category folder that excludes the categories you don’t want to be affected by this rule. You can do this with a Category Filter set to Does Not Match the selected categories.

Graphical user interface, application

Description automatically generated

Now a 90s song can freely play next to a song from 1970, even if the Max Step was set to 10.

Keep in mind, the reverse is not true. Since the rule still applies to my 70s categories, a song from 1970 will be unable to play next to a song from 1990 that has already been scheduled.

This is where you have to think about Schedule Pass Order. To avoid this, I’d need to make sure my 90s music is scheduled after my other categories. That way, the 70s and 80s music can live wherever it needs to, even if a 90s song later moves in next door.

You may also choose to only use these rules for your non-priority categories, which schedule after your priority categories. That way, your priority songs can lay down first without as many restrictions on them. Then when you fill in the rest of your music around it, MusicMaster will work with those songs to try and achieve the target year you’ve set for the hour.


These are just two examples of rules you can use with song year, but it’s worth taking a look at all of the Numeric field rules available in MusicMaster and think about how you might use them creatively.

Remember, numeric fields are also useful for things like chart positions and research data. For example, you could set an Optimum Goal for your minimum burn score. That way, in a tie breaker between several perfect songs, MusicMaster will favor the song with the least burnout!

For more ideas, feel free to get in touch with your MusicMaster Scheduling Consultant and pick their brain about what you’re trying to accomplish!