_buildFreeMembersSubquery(options) {
        const knex = this.knex;
        let subquery = knex('members_created_events as mce')
            .select('mce.attribution_id as post_id')
            .countDistinct('mce.member_id as free_members')
            .leftJoin('members_subscription_created_events as msce', function () {
                this.on('mce.member_id', '=', 'msce.member_id')
                    .andOn('mce.attribution_id', '=', 'msce.attribution_id');
                // Add attribution_type condition based on post_type filter
                if (options.post_type === 'page') {
                    this.andOnVal('msce.attribution_type', '=', 'page');
                } else if (options.post_type === 'post') {
                    this.andOnVal('msce.attribution_type', '=', 'post');
                } else {
                    // If no post_type specified, include both
                    this.andOn(function () {
                        this.on('msce.attribution_type', '=', knex.raw('?', ['post']))
                            .orOn('msce.attribution_type', '=', knex.raw('?', ['page']));
                    });
                }
            })
            .whereNull('msce.id')
            .groupBy('mce.attribution_id');

        // Filter attribution_type based on post_type
        if (options.post_type === 'page') {
            subquery = subquery.where('mce.attribution_type', 'page');
        } else if (options.post_type === 'post') {
            subquery = subquery.where('mce.attribution_type', 'post');
        } else {
            // If no post_type specified, include both
            subquery = subquery.whereIn('mce.attribution_type', ['post', 'page']);
        }

        this._applyDateFilter(subquery, options, 'mce.created_at');
        return subquery;
    }
Build a subquery/CTE for free_members count (Post-level)
(Signed up on Post, Paid Elsewhere/Never)
@private
@param {StatsServiceOptions} options
@returns {import('knex').Knex.QueryBuilder}