This repository contains a testbed for automatic dialing algorithms. It provides a simulation where algorithms can be experimented with, without actually making any phone calls.
cd dialer
npm install
npm run dev
cd vis
npm install
npm run dev
The dialer exposes it's data in two formats. The console, and an API to which the visualization can connect. With both services running, go to https://localhost:3000 in your browser to see the visualization.
- Clone the repository and create a new branch
- Create a new
IDialer
implementation (e.g. copySerialDialer
orPredictiveDialer
) and give it a nice name. If you can't think of a better name, name it after yourself, e.g.ClaraDialer
. - Experiment with the algorithm and look at the KPIs in the visualizer.
- Once you're happy with the outcome, create a PR on this repository
- In your PR, include an explanation of the algorithm as well as the benchmark KPIs from one testrun.
You will need to change dialer/index.ts
to pick your dialer, and you might
want to change the number of callers and targets as well while experimenting.
But please do not commit those changes, and use the standard 10 callers, 1000
targets setting for the benchmark in the PR.
The primary objective is to achieve efficient calling, which translates to trying to find a good balance between the following (sometimes contradictory) KPIs.
- Dials per hour/caller as high as possible
- Drop rate as low as possible
- Average caller idle rate as low as possible
- Awkward silences (>1s) as low as possible
- Configurable "aggressiveness", e.g. by configuring accepted drop rate