Currently core uses a mempool based fee estimation algorithm, however it would be desirable to be able to fall back on a (more manipulable) block-based algorithm alternative for situations where the node has not maintained a large mempool over time to be able to do this.
This would generally apply to circumstances when the node has just come online, running -blocksonly or trying to save memory with a small mempool (which tends to lead to garbage fee estimation results)