Let's make an assumption, if we put it in one tablespace, then if multiple requests come in at the same time asking for access to different tables, and it happens that those parts to be accessed happen to be on a single datafile (which isn't impossible if they're all on a single tablespace) then the io's and reads for that one file will be very large and slow. If it's on a different tablespace then there's no problem reading the same file.
How to divide the tablespace, however, is also a problem and it is not simply a matter of separating the tables. If it's a data warehouse or so-called big data analytics, naturally you have to factor in tiering, but you also have to factor in access and data volume.
For example, if you put two tables with a large amount of incoming data together, it looks like you split the tablespace, but because the io of this tablespace is large, then it will naturally lead to slow incoming data. As for the access example, you're fine with the assumptions you made at the very beginning. So in general separating is a given, but how to do it, you have to figure it out, there are so many factors to consider.
For example: user factor, storage (volume/times) factor, access (volume/times) factor, computation volume factor, tier factor, management factor, and so on.