We have created many, many custom wallboards. Let's discuss each of your requirements:
% of calls answered live vs % going to QCB
We currently track all calls that ring at the agent's desk and count the missed calls. Separately, we count the number of calls that came to the queue but were not answered by an agent. So, providing a percent of calls answered by an agent is straightforward. However, I don't think we have ever been asked to get the percentage of calls where the customer requested a callback (queue feature). I would have to look into whether we have visibility to whether a caller requested a call back. I've never seen an API for this specific need, but we can look at the real-time call events and see if there is information provided by 3CX for this.
Average time to return a call (QCB)
I assume this is a question about how quickly a caller, who asked for a queue callback, worked up to the 1st position in the queue and received a callback. To obtain the average, we would have to capture when the caller requested a callback, and their call-back number, and when the call-back was initiated by 3CX. But it gets even less straightforward because what if 3CX cannot complete the call because it was an international call and the call was blocked, or the person didn't answer, or the person that did answer is a child in the home? This could be a fairly messy calculation with several factors that would need to be considered.
Abandonment rate
We certainly can identify all calls that came into a queue but were never answered by an agent. We have provided that calculation for years. But we need to be careful about the definition of an abandoned call. For example, let us suppose that your 3CX is set up so that if the caller has been waiting too long in the queue they are automatically forwarded to a roll-over queue (another 3CX queue that contains all the same people in the first queue plus additional people). And what if the call is answered in the 2nd (roll-over) queue? Is that an abandoned call? For the purpose of 3CX reports, that IS an abandoned call. But for many organizations the term "abandoned" means nobody ever answered the call anywhere. We can provide the "abandoned" number based on either definition.
peak times (Ideally hour by hour inbound calls to specific queue)
I know it is a little hard to see, but this is an example of a wallboard we created that shows general summary statistics about the selected queue, then a section about agent performance, and a finally a graph that shows answered and abandoned calls by day or hour.
Hopefully I have given you some understanding of the complexity of what you are asking to capture. Depending on the situation, in some cases getting the information is straightforward, while other calculations are far more complicated and depend on a number of factors. I believe we can give you the information you seek, but I am certain some of the information you want would be far from straightforward.