There are so many parameters that it is impossible to figure out. They should probably load all params into a virtual model and have an AI try out everything.

Besides the obvious investments making tickets more expensive a different example would be if you accelerate faster you need more rails maintenance.

You can also leave carts behind and pick them up at stops so that people who need it have all the time to get in and out. If you do that (like with many options) it gets marvelously complicated really fast.

Even if you try fit an intercity (that doesn't stop everywhere) it will have to be at the right place at the right time to pass the other train(s)

You can also not make it fast and make the trip more enjoyable. You can just stop for 30 min or an hour at each station and have stores and museums at the station bring in more revenue than tickets.

If I had to guess the most successful trick for the US would be to have people bring their car on the train.