Review & Probation Date Scheduler
Check-in and probation dates for a whole roster, with the ones that have already gone by counted, and a calendar file at the end of it.
Reads .xlsx and .csv inside your browser. Nothing is uploaded.
The roster
Drop a spreadsheet here
A list with a start date for each person. Hire date, probation start, whatever the milestones run from.
The 31st of January plus one month
There is no 31st of February, so something has to give, and what gives is usually silent. Ask a date library and the 31st of January plus one month comes back as the 3rd of March: it tries the 31st of February, overflows by three days, and reports the result without comment. Ask a spreadsheet and you get the 28th.
Four days apart, on a probation date somebody may be relying on, and nothing anywhere says a choice was made. This clamps to the end of the short month and then names every row it happened to, along with what the other answer would have been. The people it happens to are the people hired at the end of a month, which in most places is most of an intake.
The number you did not ask for
Run this against a real roster for the first time and some of the dates it produces are in the past. Usually quite a few. Those are reviews that were due and never happened, and they do not appear anywhere until somebody generates the dates and looks backwards as well as forwards.
It is the most useful thing on the page and it is the thing a scheduler normally cannot tell you, because a scheduler normally only looks ahead.
Thirty reviews on one Tuesday
Everybody who started in the same intake reaches the same milestone on the same day. That is obvious once it is said and completely invisible in a list sorted by person, which is how a date arrives with thirty reviews attached to it and no way to do them.
So the dates are counted per day as well as per person, and the busiest days are shown against the average. A day carrying four times what the next busiest carries is not a schedule, it is a wish.
A date nobody can act on is wrong when it is written
A 90-day review that lands on a Saturday gets moved later by whoever notices, one at a time. You can have each milestone move forward, move back, or stay where it fell, set separately, because the direction is not always housekeeping.
For a check-in it does not matter. For a probation end date it does: moving it forward extends the probation and moving it back shortens it. That should be a decision somebody made rather than whichever default a tool happened to ship with, so this one does not pick for you and says which way each date went.
Months, days, and working days are three different things
Ninety days and three months are not the same interval, and neither is ninety working days, which is closer to four and a half months. Each milestone carries its own unit so the file can say what your policy actually says, rather than what was easiest to calculate.
The calendar file
The dates still ahead download as a standard calendar file that Outlook, Google Calendar and Apple Calendar all import. All-day events, because a review on the 3rd of March is on the 3rd of March in every office, and the moment a time is attached somebody has to decide whose nine o’clock it is.
Each event carries an identifier built from the person and the milestone, which means importing a regenerated file updates the events already in your calendar rather than creating a second copy of every one. It is written in your browser from the file you loaded, and like everything else here it is never uploaded.
What this does not do
It produces dates from a start date and an interval you chose. It knows nothing about what a probation period may or must be, what notice anything requires, or what any of these dates mean where you are, and it is not advice about any of that. The dates are an input to a decision somebody else makes with information this tool does not have.
It shares its calendar with the Working Days Calculator, which is the tool for counting the days rather than placing them. For the start dates themselves being in three formats in one column, start with the Employee Data Cleaner.