Steem uses an open source algorithm to determine what posts to put on the trending page. The same algorithm is used for both the trending and hot pages, with some minor differences I’ll detail below.
The algorithm considers two things — the age of the post, and the Steem Power value of the post. The algorithm is quite similar to the algorithm Reddit uses, however it ignores the number of votes, and only cares about the value of a post. It starts with the value of the post, and takes away points for the post being older. This means that older posts need to have more upvotes to stay on the trending or hot page.
The weights given to the age of the post are different for the trending and hot page. The hot page weights post value the same, but cares 48 times more about the age of the post. This means that the hot page will contain more of posts that received a surge of upvotes close to it’s creation, while the trending page will contain more posts that received upvotes later on.
You can read the source code for the algorithm, for more details. The calculate_score function is the generic base algorithm, and calculate_hot, and calculate_trending are functions that pass calculate_score specific parameters for the trending, or hot page.