\section{Introduction}
Uplift modeling involves a set of methods for estimating the expected causal impact of taking an action or a treatment at an individual or subgroup level, which could lead to an increase in their conversion probability \cite{Zhao2019UpliftMF}.
Typically for financial services and commercial companies looking to provide additional value-added services and products to their customers, marketers may be interested in evaluating the effectiveness of numerous marketing techniques, such as sending promotional coupons.
With the change in customer conversion possibilities, marketers are able to efficiently target prospects.
More than marketing campaigns, uplift modeling can be applied to a variety of real-world scenarios related to personalization, such as online advertising, insurance, or healthcare, where patients with varying levels of response to a new drug are identified, including the discovery of adverse effects on specific subgroups \cite{Jaskowski2012UpliftMF}.

In essence, uplift modeling is a problem that combines causal inference and machine learning. For the former, it is mutually exclusive to estimate the change between two outcomes for the same individual. To overcome this counterfactual problem, samples are randomly assigned to a treatment group (receiving online advertisement or marketing campaign) and a control group (not receiving online advertisement nor marketing campaign). For the latter, the task is to train a model that predicts the difference in the probability of belonging to a given class on the two groups.
At present, two major categories of estimation techniques have been proposed in the literature, namely meta-learners and tailored methods \cite{Zhang2022AUS}. The first includes the Two-Model approach \cite{Radcliffe2007UsingCG}, the X-learner \cite{Knzel2017MetalearnersFE} and the transformed outcome methods \cite{Athey2015MachineLM} which extend classical machine learning techniques. The second refers to direct uplift modeling such as uplift trees \cite{5693998} and various neural network based methods \cite{ Louizos2017CausalEI,Yoon2018GANITEEO}, which modify the existing machine learning algorithms to estimate treatment effects.
Also, uplift trees can be extended to more general ensemble tree models, such as causal forests \cite{doi:10.1080/01621459.2017.1319839,10.1214/18-AOS1709}, at the cost of losing true interpretability.

In order to take advantage of decision trees and the ensemble approach, we propose causal inference based single-branch ensemble trees for uplift modeling (CIET) with two completely different partition criteria that directly maximizes the difference between outcome distributions of the treatment and control groups. When building a single-branch tree, we employ lift gain and lift gain ratio as loss functions or partition criteria for node splitting in a recursive manner.
Since our proposed splitting criteria are highly related to the incremental impact, the performance of CIET is thus expected to be reflected in the uplift estimation. Meanwhile,
the splitting logic of all nodes along the path from root to leaf is combined to form a single rule to ensure the interpretability of CIET. Moreover, the dataset not covered by the rule is then censored and the above tree-building process continue to repeat on the censored data.
Due to this divide and conquer learning strategy, the dependencies between the formed rules can be effectively avoided. It leads to the formation of single-branch ensemble trees and a set of decorrelated inference rules.

Note that our CIET is essentially different from decision trees for uplift modeling and causal forests. There are three major differences: (1) single-branch tree $vs$ standard binary tree; (2) lift gain and its ratio as loss function or splitting criterion $vs$ Kullback-Leibler divergence and squared Euclidean distance; and (3) decorrelated inference rules $vs$ correlated inference rules or even no inference rules.
It is demonstrated through empirical experiments that CIET can achieve better uplift estimation compared with the existing models. Extensive experimental results on synthetic data and the public credit card data show the success of CIET in uplift modeling. We also train an ensemble model and evaluate its performance on a large real-world online loan application dataset from a national financial holdings group in China. As expected, the corresponding results show a significant improvement in the evaluation metrics in terms of both AUUC and Qini coefficient.

The rest of this ms is organized as follows. First, causal inference based single-branch ensemble trees for uplift modeling is introduced. Next, full details of our experimental results on synthetic data, credit card data and real-world online loan application data are given.
It is demonstrated that CIET performs well in estimating causal effects compared to decision trees for uplift modeling. Finally, conclusions are presented.

\section{Causal Inference Based Single-Branch Ensemble Trees (CIET) for Uplift Modeling}\label{sec:Alg}
This section consists of three parts. We first present two splitting criteria, single-branch ensemble approach and pruning strategy specially designed for the uplift estimation problem. Evaluation metrics for uplift modeling are then discoursed. Three key algorithms of CIET are further described in detail.

\subsection{Splitting Criteria, Single-Branch Ensemble Method and Pruning Strategy}
Two distinguishing characteristics of CIET are splitting criteria for tree generation and the single-branch ensemble method, respectively.

As for splitting criteria in estimating uplift, it is motivated by our expectation to achieve the maximum difference between the distributions of the treatment and control groups.
Given a class-labeled dataset with $N$ samples, $N^{T}$ and $N^{C}$ are sample size of the treatment and control groups (recall that $N = N^{T} + N^{C}$, $T$ and $C$ represent the treatment and control groups).
Formally, in the case of a balanced randomized experiment, the estimator of the difference in sample average outcomes between the two groups is given by:
\begin{align}
    \label{tau} \tau = (P^{T} - P^{C})(N^{T} + N^{C})
\end{align}
where $P^{T}$ and $P^{C}$ are the probability distribution of the outcome for the two groups. Motivated by Eq. (\ref{tau}), the divergence measures for uplift modeling we propose are lift gain and its ratio, namely LG and LGR for short. The corresponding mathematical forms of LG and LGR can be thus expressed as
\begin{align}
    \label{LG} LG &=(P_{R}^{T} - P_{R}^{C})N_{R} - \tau_{0} = \tau_{R} - \tau_{0}\\
    \label{LGR} LGR  &=\frac{(P_{R}^{T} - P_{R}^{C})}{(P_{0}^{T} - P_{0}^{C})} \propto (P_{R}^{T} - P_{R}^{C}) = \frac{\tau_{R}}{N_{R}}
\end{align}
where $P_{0}^{T}$ and $P_{0}^{C}$ are the initial probability distribution of the outcome for the two groups, $\tau_{0} = (P_{0}^{T} - P_{0}^{C})N_{R}$. And $N_{R}$ and $Y_{R}$ for a node logic $R$ represent coverage and correction classification,
while $P_{R}^{T}$ and $P_{R}^{C}$ are the corresponding probability distribution of the outcome for both groups, respectively. Evidently, both Eq. (\ref{LG}) and Eq. (\ref{LGR}) represent the estimator for uplift, which are proposed as two criteria in our ms. Compared to the standard binary tree with left and right branches, only one branch is created after each node splitting in this ms. It is characterized by the fact that both LG and LGR are calculated using the single-branch observations that present following a node split. Accordingly, subscript $k$ indicating binary branches doesn't exist in the above equation. Furthermore, the second term of LG makes every node partition better than randomization, while LGR has the identical advantages to information gain ratio.

The proposed splitting criterion for a test attribute A is then defined for any divergence measure $D$ as
\begin{equation}\label{CRITERION}
    \Delta = D(P^T(Y):P^C(Y)|A) - D(P^T(Y):P^C(Y))
\end{equation}
where $D(P^T(Y):P^C(Y)|A)$ is the conditional divergence measure. Apparently, $\Delta$ is the incremental gain in divergence following a node splitting. Substituting for $D$ the $LG$ and $LGR$,
we obtain our proposed splitting criteria $\Delta_{LG}$ and $\Delta_{LGR}$.
The intuition behind these splitting criteria is as follows: we want to build a single-branch tree such that the distribution divergence between the treatment and control groups before and after splitting an attribute differ as much as possible.
Thus, an attribute with the highest $\Delta$ is chosen as the best splitting one. In order to achieve it, we need to calculate and find the best splitting point for each attribute. In particular, an attribute is sorted in descending order by value when it is numerical.
For categorical attributes, some encoding methods are adopted for numerical type conversion. The average of each pair of adjacent values in an attribute with $n$ value, forms $n-1$ splitting points or values.
As for this attribute, the point of the highest $\Delta$ can be seen as the best partition one.
Furthermore, the best splitting attribute with the highest $\Delta$ can be achieved by traversing all attributes.
As for the best splitting attribute, the instances are thus divided into two subsets at the best splitting point. One feeds into a single-branch node, while the other is censored.
Note that the top–down, recursive partition will continue unless there is no attribute that explains the incremental estimation with statistical significance. Also, histogram-based method can be employed to select the best splitting for each feature, which can reduce the time complexity effectively.

Due to noise and outliers in the dataset, a node may merely represent these abnormal points, resulting in model overfitting. Pruning can often effectively deal with this problem. That is, using statistics to cut off unreliable branches. Since none of the pruning methods is essentially better than others, we use a relatively simple pre-pruning strategy. If $\Delta$ gain is less than a certain threshold, node partition would stop. Thus, a smaller and simpler tree is constructed after pruning. Naturally, decision-makers prefer less complex inference rules, since they are considered to be more comprehensible and robust from business perspective.

\subsection{Evaluation Metrics for Uplift Modeling}
As noted above, it is impossible to observe both the control and treatment outcomes for an individual, which makes it difficult to find measure of loss for each observation.
It leads that uplift evaluation should differ drastically from the traditional machine learning model evaluation.
That is, improving the predictive accuracy of the outcome
does not necessarily indicate that the models will have better performance in identifying targets with higher uplift. In practice, most of the uplift literature resort to aggregated
measures such as uplift bins or curves. Two key metrics involved are area under uplift curve (AUUC) and Qini coefficient \cite{Gutierrez2016CausalIA}, respectively. In order to define AUUC, binned uplift predictions are sorted from largest to smallest. For each $t$, the cumulative sum of the observations statistic is formulated as below,
\begin{equation}\label{AUUC}
    f(t) = (\frac{Y_t^{T}}{N_t^{T}} - \frac{Y_t^{C}}{N_t^{C}})(N_t^{T} + N_t^{C})
\end{equation}
where the $t$ subscript implies that the quantity is calculated on the first or top $t$ observations.
The higher this value, the better the uplift model. The continuity of the uplift curves makes it
possible to calculate AUUC, i.e. area under the real uplift curve, which can be used to evaluate and compare different models. As for Qini coefficient, it represents a natural generalization of
Gini coefficient to uplift modeling. Qini curve is introduced with the following equation,
\begin{equation}\label{QINI_Curve}
   g(t) = {Y_t^{T}} - \frac{Y_t^{C}N_t^{T}}{N_t^{C}}
\end{equation}
There is an obvious parallelism with the uplift curve since $f(t)=g(t)(N_t^{T}+N_t^{C})/N_t^{T}$.
The difference between the area under the actual Qini curve and that under the diagonal corresponding to random targeting can be obtained.
It is further normalized by the area between the random and the optimal targeting curves, which is defined as Qini coefficient.

\subsection{Algorithm Modules}
The following representation of three algorithms includes: selecting the best split for each feature using the splitting criteria described above, learning a top-down induced single-branch tree and forming ensemble trees with each resulting tree progressively.

Algorithm \ref{single1:algorithm} depicts how to find the best split of a single feature $F$ on a given dataset $D[group\_key, feature,$ $ target]$ using a histogram-based method with the proposed two splitting criteria. Gain\_left and Gain\_right are the uplift gains for the child nodes after each node partition. If the maximum value of Gain\_left is greater than that of Gain\_right, the right branch is censored and vice versa. Thus, the best split with its corresponding splitting logic, threshold and uplift gain is found, which is denoted by Best$\_$Direction, Best$\_$Threshold and Best$\_\Delta$. Besides, there are several thresholds to be initialized before training a CIET model, including minimum number of samples at a inner node $min\_samples$, minimum recall $min\_recall$ and minimum uplift gain required for splitting $min\_\Delta$. The top-down process would continue only when the restrictions are satisfied.

\begin{algorithm}[htbp]
\caption{Selecting the Best Split for One Feature}
\label{single1:algorithm}
\textbf{Input}: D, the given class-labeled dataset, including the group key (treatment/control);\\
\textbf{Parameter}: feature $F$, min$\_$samples, min$\_$recall, min$\_\Delta$\\
\textbf{Output}: the best split that maximizes the lift gain or lift gain ratio on a feature

\begin{algorithmic}[1]
\STATE \textbf{Set} Best$\_$Value = 0, Best$\_$Direction = "", Best$\_\Delta$ = 0, Best$\_$Threshold = None
\STATE calculate $Y^T$, $Y^C$, $N^T$, $N^C$ on D
\STATE For each feature value $v$ , calculate the values of $Y_{F\leq v}^T$, $Y_{F\leq v}^C$, $N_{F\leq v}^T$, $N_{F\leq v}^C$, and then the Gain\_left($v$) and Gain\_right($v$) with LG \eqref{LG} or LGR \eqref{LGR}.
\STATE set the Gain\_left($v$) and Gain\_right($v$) to their minimum value on the $v$, whose split does not satisfy the restrictions on number of samples/recall rate/divergence measure gain.
\STATE $v_1$ = argmax(Gain\_left($v$)), $v_2$ = argmax(Gain\_right($v$))
\IF {max(Gain\_left) $\geq$ max(Gain\_right)}
\STATE Best$\_$Value = max(Gain\_left)
\STATE Best$\_$Direction = "$\leq$"
\STATE Best$\_$Threshold = $v_1$
\ELSE
\STATE Best$\_$Value = max(Gain\_right)
\STATE Best$\_$Direction = "$>$"
\STATE Best$\_$Threshold = $v_2$
\ENDIF
\STATE \textbf{return} Best$\_$Value, Best$\_$Direction, Best$\_$Threshold
\end{algorithmic}
\end{algorithm}

Algorithm \ref{single:algorithm} presents a typical algorithmic framework for top–down induction of a single-branch uplift tree, which is built in a recursive manner using a greedy depth-first strategy.
The parameter $max\_depth$ represents the depth of the tree and $cost$ indicates the threshold of LG or LGR.
As the tree grows deep, more instances are censored since they are not covered by the node partition logic of each layer.
As a result, each child node subdivides the original dataset hierarchically into a smaller subset until the stopping criterion is satisfied. Tracing the splitting logics on the path from the root to leaf nodes in the tree, an "IF-THEN" inference rule is thus extracted.

Finally, adopting a divide-and-conquer strategy, the above tree-building process is repeated on the censored samples to form ensemble trees, resulting in the formation of a set of inference rules as shown in Algorithm \ref{multi:algorithm}.

\begin{algorithm}[htbp]
\caption{Learning An "IF-THEN" Uplift Rule of A Single-branch Tree}
\label{single:algorithm}
\textbf{Input}: D, the given class-labeled dataset, including the group key (treatment/control);\\
\textbf{Parameter}: max$\_$depth, cost, min$\_$samples, min$\_$recall, min$\_\Delta$\\
\textbf{Output}: an "IF-THEN" uplift rule

\begin{algorithmic}[1]
\STATE \textbf{Set} Rule$\_$Single = [], Max$\_$Gain = 0.0
\STATE \textbf{Set} Add\_Rule = \textbf{True}
\WHILE{depth $\leq$ max$\_$depth \textbf{and} Add\_Rule}
\IF {the treatment group or control group in D is empty}
\STATE break
\ENDIF
\STATE \textbf{Set}  Keep = \{ \}, Best$\_$Split = \{ \}
\STATE depth $\leftarrow $ depth + 1
\STATE Add\_Rule = \textbf{False}
\FOR{feature in features}
\STATE Keep[feature] =  Best\_Split\_for\_One\_Feature(D, feature,  min$\_$samples, min$\_$recall, min$\_\Delta$) (Algorithm \ref{single1:algorithm})
\ENDFOR
\FOR{feature in Keep}
\IF {feature's best gain $>$ Max\_Gain + cost}
\STATE Max$\_$Gain = feature's best gain
\STATE \textbf{Add} Keep[feature] \textbf{to} Best$\_$Split
\STATE Add\_Rule = \textbf{True}
\ELSE
\STATE continue
\ENDIF
\ENDFOR
\STATE \textbf{Add} Best$\_$Split \textbf{to} Rule$\_$Single
\STATE D $\leftarrow $ D $\setminus$ \{
Samples covered by Rule$\_$Single\}
\ENDWHILE
\STATE \textbf{return} Rule$\_$Single
\end{algorithmic}
\end{algorithm}

\begin{algorithm}[htbp]
\caption{Learning A Set of "IF-THEN" Uplift Rules}
\label{multi:algorithm}
\textbf{Input}: D, the given class-labeled dataset, including the group key (treatment/control);\\
\textbf{Parameter}: max$\_$depth, rule$\_$count, cost, min$\_$samples, min$\_$recall, min$\_\Delta$\\
\textbf{Output}: a set of "IF-THEN" uplift rules

\begin{algorithmic}[1]
\STATE \textbf{Set} Rule$\_$Set = \{\}, number = 0
\WHILE{number $\leq$ rule$\_$count}
\STATE rule = Single$\_$Uplift$\_$Rule(D, cost, max$\_$depth, min$\_$samples, min$\_$recall, min$\_\Delta$) (Algorithm \ref{single:algorithm})\\
\STATE \textbf{Add} rule \textbf{to} Rule$\_$Set
\STATE D $\leftarrow $ D $\setminus$ dataset covered by rule
\STATE number $\leftarrow$ number + 1
\ENDWHILE
\STATE \textbf{return} Rule$\_$Set
\end{algorithmic}
\end{algorithm}

\begin{figure*}[htbp]
\centering
\includegraphics[width=0.95\textwidth]{figs/AUUC.png}
\caption{The uplift curves of four analyzed classifiers with four different colors for the synthetic dataset, while the dashed line corresponding to random targeting.}
\label{fig:AUUC_SSD}
\end{figure*}

\section{Experiments}\label{sec:er}
In this section, the effectiveness of our CIET is evaluated on synthetic and real-world business datasets. Since CIET fundamentally stems from tree-based approaches, we implement it and compare it with uplift decision trees based on squared Euclidean distance and Kullback-Leibler divergence \cite{5693998}, which are referred as baselines.

\begin{table*}[ht]
\centering
\begin{tabular}{llll}
\hline
rule number  &"1"  &"2"  &"3"\\
\hline
node logic     &x9$\_$uplift $\leq$ 0.17                                  &x3$\_$informative $>$ -1.04                               &x6$\_$informative $>$ 0.95 \\
node logic     &x10$\_$uplift $\leq$ 2.59                                 &x1$\_$informative $\leq$ 2.71                             &x1$\_$informative $\leq$ 1.58\\
node logic     &null                                                      &x2$\_$informative $\leq$ 1.28                             &x9$\_$uplift $\leq$ 2.09     \\
$N_{before}$     &3000     &2210     &675     \\
$N_{before}^T$   &1500     &1117     &348     \\
$N_{before}^C$   &1500     &1093     &327     \\
$N_{rule}$        &790     &1535     &180     \\
$N_{rule}^T$      &383      &769      &76     \\
$N_{rule}^C$      &407      &766     &104     \\
net gain       &195.99    &87.14   &37.66     \\
$recall_{treatment}$  &36.62$\%$ &70.42$\%$ &42.11$\%$ \\
$recall_{control}$    &28.00$\%$ &63.70$\%$ &44.90$\%$ \\
\hline
\end{tabular}
\caption{A set of inference rules found by CIET and their corresponding statistical indicators with $criterion\_type = $"LG", $rule\_count = 3$ and $max\_depth = 3$.}
\label{tab:RS_CIET}
\end{table*}

\subsection{Experiments on Synthetic Data}\label{subsec: SD}
\textbf{Dataset} We can test the methodology with numerical simulations. That is, generating synthetic datasets with known causal and non-causal relationships between the outcome, action (treatment/control) and some confounding variables. More specifically, both the outcome and the action/treatment variables are binary. A synthetic dataset is generated with the $make\_uplift\_classification$ function in "Causal ML" package, based on the algorithm in \cite{Guyon2003DesignOE}.
There are 3,000 instances for the treatment and control groups, with response rates of 0.6 and 0.5, respectively. The input consist of 11 features in three categories. 8 of them are used for base classification, which are composed of 6 informative and 2 irrelevant variables. 2 positive uplift variables are created to testify positive treatment effect. The remaining one is a mix variable, which is defined as a linear superposition of a randomly selected informative classification variable and a randomly selected positive uplift variable.

\textbf{Parameters and Results} There are four hyper-parameters in CIET: $criterion\_type$, $max\_depth$ and $rule\_count$. $criterion\_type$ includes two options, LG and LGR.
More precisely, two main factors of business complexity and difficulty in online deployment, determine parameter assignment.
Due to the requirement of model generalization and its interpretability, $max\_depth$ is set to 3. That is, the business logics of a single inference rule are always less than or equal to 3. And, $rule\_count$ is given a value of 3, indicating that a set of no more than three rules is defined to model the causal effect of a treatment on the outcome. Meanwhile, the default values for $min\_samples$, $min\_recall$, $cost$ and $min\_\Delta$ are 50, 0.1, 0.01 and 0, respectively.

\begin{table}[htbp]
\centering
\begin{tabular}{lllll}
\hline
dataset    &KL  &Euclid  &LG  &LGR\\
\hline
training   &0.187  &0.189  &0.239  &0.235 \\
test       &0.176  &0.178  &0.210  &0.225 \\
\hline
\end{tabular}
\caption{Qini coefficients of four analyzed classifiers on the training and test sets of the synthetic data.}
\label{tab:QC_SSD}
\end{table}

The stratified sampling method is used to divide the synthetic dataset into training and test sets in a ratio of fifty percent to fifty percent. Figure \ref{fig:AUUC_SSD} shows the uplift curves of the four analyzed classifiers. The AUUC of CIET with LG and LGR are 294 and 292 on the training set, which are significantly greater than 266 and 265 for the decision trees for uplift modeling with KL divergence and squared Euclidean distance.
At the 36th percentile of the population, the cumulative profit increase reach 303 and 354 for LG and LGR, resulting in a growth rate of more than 18$\%$ and 37$\%$ compared to baselines. Besides, AUUC shows little variation in the training and test datasets, indicating that the stability of CIET is also excellent. According to Table \ref{tab:QC_SSD}, Qini coefficients of CIET are also obviously greater, with an increase of more than 24.5$\%$ and 17.8$\%$. Furthermore, all three rules are determined by uplift and informative variables as expected, which can be seen from Table \ref{tab:RS_CIET}.

\subsection{Experiments on Credit Card Data}

\textbf{Dataset} We use the publicly available dataset $Credit$ $Approval$ from the UCI repository as one of the real-world examples, which contains 690 credit card applications. All the 15 attributes and the outcome are encoded as nonsense symbols, where $A7 \neq v$
is applied as the condition for dividing the dataset into treatment and control groups.
There are 291 and 399 observations in the two groups with response rates of 0.47 and 0.42, respectively.
Attributes with more than 25$\%$ difference in distribution between the two groups should be removed before any experiments are performed. This leads that 12 attributes are left as input variables. For further preprocessing, categorical features are binarized through one-hot encoding.

\begin{figure}[htbp]
\centering
\includegraphics[width=0.95\linewidth]{figs/CC.png}
\caption{The uplift curves of four analyzed classifiers with four different colors for the $Credit\ Approval$ dataset, while the dashed curve corresponding to the random targeting.}
\label{fig:FIG_CAD}
\end{figure}

\begin{table}[htbp]
\centering
\begin{tabular}{lllll}
\hline
metrics    &KL  &Euclid  &LG  &LGR\\
\hline
AUUC   &37.337  &40.887  &42.893  &48.222 \\
Qini   &0.201  &0.236  &0.257  &0.310 \\
\hline
\end{tabular}
\caption{Model performance of four analyzed classifiers on the $Credit\ Approval$ dataset.}
\label{tab:CAD}
\end{table}

\textbf{Parameters and Results} Based on the business decision-making perspective, the initial parameters are also the same as above.

\begin{figure*}[htbp]
\centering
\includegraphics[width=0.95\textwidth]{figs/ROP.png}
\caption{The uplift curves of four analyzed classifiers with four different colors for the real world online loan application dataset, while the dashed line corresponding to random targeting.}
\label{fig:AUUC_ROP}
\end{figure*}

In order to avoid the distribution bias caused by the division on such small sample size dataset, there is no need to divide $Credit\ Approval$ into training and test parts. Figure \ref{fig:FIG_CAD} shows the uplift curves for the four analyzed classifiers, from which we can see that CIET is able to obtain higher AUUC and Qini coefficients. As shown in Table \ref{tab:CAD}, the former increases from 37$\sim$40 at baselines to 42$\sim$48 at CIET approximately, while the latter also improves significantly from 0.20$\sim$0.23 to 0.25$\sim$0.31. Especially when LGR serves as the splitting criterion, the cumulative profit has a distinguished peak of 74.5, while only 48.4$\%$ of the samples are covered.

\subsection{Experiments on Online Loan Application Data}

\textbf{Dataset} We further extend our CIET to precision marketing for new customer application. A telephone marketing campaign is designed to promote customers to apply for personal credit loans at a national financial holdings group in China via its official mobile app. The target is 1/0, indicating whether a customer would submit an application or not.
The data contains 53,629 individuals, consisting of a treated group of 32,984 (receiving marketing calls) and a control group of 20,645 (not receiving marketing calls). These two groups have 300 and 124 credit loan applications with response rates of 0.9\% and 0.6\%, which are typical values in real world marketing practice. There are 24 variables in all, which are characterized as credit card-related information, loan history, customer demographics et al.

\begin{table}[htbp]
\centering
\begin{tabular}{lllll}
\hline
dataset    &KL  &Euclid  &LG  &LGR\\
\hline
training   &0.173  &0.168  &0.414  &0.302 \\
test       &0.108  &0.124  &0.385  &0.319 \\
\hline
\end{tabular}
\caption{Qini coefficients of four analyzed classifiers on the training and test sets of the real world online loan application data.}
\label{tab:QC_ROP}
\end{table}

\textbf{Parameters and Results} All parameters are the same as in the above experiments. The dataset is first divided into training and test sets in a ratio of sixty percent to forty percent. The response rates are consistent across two sets for two groups. Figure \ref{fig:AUUC_ROP} diplays the results graphically. As for the training dataset, CIET based on LG and LGR reach AUUC of about 104 and 89, while the decision trees based on KL divergence and squared Euclidean distance are 73 and 72. It can be seen that CIET achieves a significant improvement compared to baselines on this real-world dataset even with a very low response rate. Moreover, as can be seen in Table \ref{tab:QC_ROP}, Qini coefficient based on our approaches increases to 0.30$\sim$0.41 from 0.16$\sim$0.17
on the training dataset. Meanwhile, Qini coefficient changes little when crossing to test dataset, indicating a better stability. Consequently, classifier with our CIET for precision marketing is effectively improved as well as stabilized in terms of AUUC and Qini coefficient. At present, CIET has already been applied to personal credit telemarketing.

\section{Conclusion}\label{sec:con}
In this ms, we propose new methods for constructing causal inference based single-branch ensemble trees for uplift estimation, CIET for short. Our methods provide two partition criteria for node splitting and strategy for generating ensemble trees. The corresponding outputs are uplift gain between the two outcomes and a set of interpretable inference rules, respectively. Compared with the classical decision tree for uplift modeling, CIET can not only be able to avoid dependencies among inference rules, but also improve the model performance in terms of AUUC and Qini coefficient. It would be widely applicable to any randomized controlled trial, such as medical studies and precision marketing.


\section{Jordan Algebras and T-Designs}

This section reviews simple Euclidean Jordan algebras and the concepts required to identify and describe tight $t$-designs.
In addition to the real numbers $\mathbb{R}$, the classification of simple Euclidean Jordan algebras consists of four infinite families and one exception. The first infinite family has rank $\rho = 2$ and degree $d \ge 1$.
The second, third, and fourth family respectively have degree $d = 1,2,4$ and rank $\rho \ge 3$.
The exceptional Euclidean Jordan algebra has rank $\rho = 3$ and degree $d = 8$.
Each Euclidean Jordan algebra has a well defined trace that we can use to define a Euclidean inner product,
\begin{align*}
    \langle x, y \rangle = \mathrm{Tr}(x\circ y).
\end{align*}
Here $\circ$ denotes the Jordan product.
Let $V$ be a simple Euclidean Jordan algebra of rank $\rho$ and degree $d$.
We denote by $\mathcal{J}(V)$ the manifold of primitive idempotents of $V$.
The rank $\rho = 2$ family has manifolds of primitive idempotents isometric to spheres. The degrees $d = 1,2,4$ families have manifolds of primitive idempotents respectively isometric to real, complex, and quaternionic projective spaces. Finally, the rank $\rho = 3$, degree $d = 8$ exceptional case has a manifold of primitive idempotents isometric to the octonion projective plane.
This means we can use simple Euclidean Jordan algebras and their manifolds of primitive idempotents to model the following geometries for $d \ge 1$ and $\rho \ge 3$:
\begin{align*}
    \Omega_{d+1},
    \quad \mathbb{RP}^{\rho - 1},
    \quad \mathbb{CP}^{\rho-1},
    \quad \mathbb{HP}^{\rho - 1},
    \quad \mathbb{OP}^2.
\end{align*}
More details about simple Euclidean Jordan algebras can be found in \cite{faraut_analysis_1994}.

Let $X$ be a finite subset of $\mathcal{J}(V)$, the manifold of primitive idempotents of simple Euclidean Jordan algebra $V$. Then $X$ is an \textit{$A$-code} where $A$ is defined as,
\begin{align*}
    A(X) = \left\{ \langle x,y\rangle \mid x\ne y \in X \subset \mathcal{J}(V) \right\},
\end{align*}
and $X$ is also a \textit{$t$-design} where $t$ is the largest integer such that $X$ satisfies,
\begin{align*}
    \sum_{x \in X} \sum_{y\in X} Q_k^{0}(\langle x,y\rangle) = 0, \quad k = 1,2, \ldots, t.
\end{align*}
Here we use \textit{renormalized Jacobi functions} $Q_k^\varepsilon(x)$ with $\varepsilon = 0,1$ in terms of the rank $\rho$ and degree $d$ of $V$ as follows (recall that $\Omega_{d+1}$ has rank $2$ and degree $d$):
\begin{align*}
    Q_k^\varepsilon(x) = \left(\frac{\frac{1}{2}\rho d  + 2k + \varepsilon - 1}{\frac{1}{2}\rho d  + k + \varepsilon - 1}\right)\frac{(\frac{1}{2}\rho d )_{k +\varepsilon} }{(\frac{1}{2}d)_{k+\varepsilon} }P_k^{(\frac{1}{2}d (\rho - 1) - 1, \frac{1}{2}d - 1 + \varepsilon)}(2x-1).
\end{align*}
Here and below we use the \textit{Pochhammer symbol} for non-negative integer $n$, which can also be defined in terms of the usual $\Gamma$ function:
\begin{align*}
    (x)_n = x(x+1)\cdots (x+n-1) = \frac{\Gamma(x + n)}{\Gamma(x)}.
\end{align*}
Some of the polynomials that we will use are given below, with $N = \frac{1}{2}\rho d$ and $m = \frac{1}{2}d$. The $N,m$ notation is more common in the literature about projective designs.
\begin{align*}
    Q_0^0(x) &= 1, \\
    Q_0^1(x) &= \frac{N}{m}, \\
    Q_1^0(x) &= \left(N +1\right) \left(\frac{N}{m} x - 1\right), \\

    Q_2^0(x) &= \left(\frac{N(N+3)}{2m(m+1)}\right)
    \left((N(N+3) +2) x^2 -2(N+1)(m+1)x + m(m+1)\right).
\end{align*}
Next we construct the \textit{annihilator polynomial} of $X$ \cite[242]{hoggar_t-designs_1982}:
\begin{align*}
    \mathrm{ann}(x) = \frac{|X|}{\prod_{\alpha\in A} (1-\alpha)} \prod_{\alpha \in A}(x -\alpha).
\end{align*}
By construction, we have $\mathrm{ann}(1) = |X|$ and $\mathrm{ann}(\alpha) = 0$ for each angle $\alpha \in A$.
The polynomial $\mathrm{ann}(x)$ has degree $|A| = s$, and can be written as a linear combination of our renormalized Jacobi functions (which depend on the rank and degree of the Jordan algebra containing $X$):
\begin{align*}
    \mathrm{ann}(x) = \sum_{i = 0}^s a_i Q_i^0(x).
\end{align*}
The coefficients $a_0, a_1, \ldots, a_s$ are known as the \textit{indicator coefficients} of $X$.
To summarize, given a finite subset $X \subset \mathcal{J}(V)$ we can determine the values of $A$ and $t$ needed to describe $X$ as an $A$-code and $t$-design. We can also compute the annihilator polynomial $\mathrm{ann}(x)$ and indicator coefficients $a_0, a_1, \ldots, a_s$.

A \textit{tight} $(2s - \varepsilon)$-\textit{design} is a finite subset $X \subset \mathcal{J}(V)$ where the annihilator polynomial, as defined above, obtains the following value:
\begin{align*}
    \mathrm{ann}(x) = x^\varepsilon R_{s-\varepsilon}^\varepsilon(x),
    \quad
    R_{s-\varepsilon}^\varepsilon(x) = \sum_{i = 0}^{s - \varepsilon} Q_i^\varepsilon(x).
\end{align*}
As the inner products of primitive idempotents in a Euclidean Jordan algebra, the elements of $\alpha \in A(X)$ are all real-valued in the range $0 \le \alpha < 1$.
We are interested in whether a tight $t$-design will have only \textit{rational} elements in angle set $A(X)$.
This note proves the following theorem, which generalizes the theorems of \cite{hoggar_tight_1984} and \cite{lyubich_tight_2009}:
\begin{theorem}
    \label{maintheorem}
    Let $V$ be a simple Euclidean Jordan algebra of rank $\rho$ and degree $d$ with manifold of primitive idempotents $\mathcal{J}(V)$.
    Let $X$ be a finite subset of $\mathcal{J}(V)$ forming a tight $(2 s -\varepsilon)$-design, namely with $\mathrm{ann}(x) = x^\varepsilon R_{s-\varepsilon}^\varepsilon(x)$.
    Then the roots of $\mathrm{ann}(x)$, which form the angle set $A(x)$, are rational with exceptions when $(\rho,d) = (2,1)$ with $t \ne 1,2,3,5$ and when $(\rho, d) = (2,2)$ with $t = 5$.
\end{theorem}

\section{Bose-Mesner Algebras and the Idempotent Basis}

We now review the faulty proof given in \cite{hoggar_tight_1984}, which was intended for the degree $d = 1,2,4,8$ cases only (i.e., the projective cases). The notation here is not necessarily the same as that in \cite{hoggar_tight_1984} or \cite{lyubich_tight_2009}.
The problem with the faulty proof in \cite{hoggar_tight_1984} is that the matrices $E_i$ identified in that paper are not in fact the idempotent basis for the Bose-Mesner algebra that they are assumed to be. The burden of \cite{lyubich_tight_2009} is to replace $E_i$ with the correct idempotents $L_i$ and complete the remainder of the proof, in the case of degrees $d = 1,2,4$.
We do the same here for any rank and degree.

First, a tight $(2s-\varepsilon)$-design has the property that $t \ge 2s - 2$, which ensures that $X$ defines an \textit{association scheme}.
We can describe an association scheme in terms of the Gram matrix of the elements of $X$ with respect to the Jordan inner product $\langle x,y\rangle = \mathrm{Tr}(x\circ y)$ given above.
That is, the elements of $G$, a $|X| \times |X|$ matrix, are given by:
\begin{align*}
    (G)_{x,y} = \langle x, y\rangle.
\end{align*}
We can write this Gram matrix as a linear combination of adjacency matrices as follows:
\begin{align*}
    G = I + \sum_{\alpha \in A(X)} \alpha D_\alpha.
\end{align*}
Here $D_\alpha$ is the adjacency matrix of the graph on $X$ where an edge exists between any $x,y$ in $X$ with $\langle x,y\rangle = \alpha$.
In this notation, we can write $I = D_1$ since $\langle x , x\rangle = 1$ for all $x$ in $X$.
Specifically, for $t \ge 2s - 2$ (which is satisfied for tight $t$-designs), the $D_\alpha$ for $\alpha$ in $A(X)$ define the $s = |A(X)|$ classes of an association scheme.

The matrices $D_\alpha$ and $I$ form the basis for a commutative matrix algebra of dimension $s + 1$ known as the \textit{Bose-Mesner algebra} of $X$ (or rather of the association scheme defined on $X$ via its Gram matrix).
The Bose-Mesner algebra consists of all $\mathbb{C}$-linear combinations of the commuting basis given by the adjacency matrices and the identity matrix,
\begin{align*}
    \{D_\alpha \mid \alpha \in A(X)\} \cup \{I\}
\end{align*}
The simultaneous eigenvectors of these commuting diagonal matrices can be used to construct a unique orthogonal idempotent basis for the Bose-Mesner algebra \cite[pp. 201-204]{cameron_designs_1991}:
\begin{align*}
 \{L_i \mid i = 0, 1, \ldots, s\}, \quad L_i L_j = \delta_{i,j} L_i.
\end{align*}
We denote by $q_i(\alpha)/|X|$ the coefficients of the $L_i$ elements in the $D_\alpha$ basis, such that:
\begin{align*}
    |X| L_i = q_i(1) I + \sum_{\alpha \in A(X)} q_i(\alpha) D_\alpha.
\end{align*}
That is, we define the entries of $L_i$ as follows:
\begin{align*}
    (L_i)_{x,y} = \frac{1}{|X|}q_i(\langle x,y\rangle), \quad i = 0, 1, \ldots, s.
\end{align*}

The faulty proof in \cite{hoggar_tight_1984} assumes that $q_i(\alpha) = Q_i^0(\alpha)$ for $X$ any tight $(2s-\varepsilon)$-design.
Indeed, \cite{hoggar_tight_1984} uses matrices $E_i$ instead of $L_i$:
\begin{align*}
    (E_i)_{x,y} = \frac{1}{|X|}Q_i^0(\langle x,y\rangle), \quad i = 0, 1, \ldots, s.
\end{align*}
The matrices $E_0, E_1, \ldots, E_{s-\varepsilon}$ are orthogonal idempotents. The problem, as described in \cite{lyubich_tight_2009}, is that for $\varepsilon = 1$ the matrix $E_s$ is not necessarily idempotent, so we cannot assume that $L_s = E_s$, where $s = |A(X)|$.
To see why, note that the orthogonal basis of $s + 1$ idempotents $L_0, L_1, \ldots, L_s$ must satisfy,
\begin{align*}
    I = \sum_{i = 0}^s L_i.
\end{align*}
The components of this matrix equation are given by,
\begin{align*}
    \delta_{x,y} = \frac{1}{|X|} \sum_{i = 0}^s q_i(\langle x,y\rangle).
\end{align*}
For a tight $t$-design we also have,
\begin{align*}
    \delta_{x,y} = \frac{1}{|X|} \mathrm{ann}(\langle x,y\rangle)
    = \frac{1}{|X|} \langle x,y\rangle^\varepsilon R_{s-\varepsilon}^\varepsilon(\langle x,y\rangle)
    = \frac{1}{|X|} \langle x,y\rangle ^\varepsilon \sum_{i = 0}^{s-\varepsilon} Q_i^\varepsilon(\langle x,y\rangle).
\end{align*}
This means that we require,
\begin{align*}
    \sum_{i = 0}^s q_i(\langle x,y\rangle) = \langle x,y\rangle ^\varepsilon \sum_{i = 0}^{s-\varepsilon} Q_i^\varepsilon(\langle x,y\rangle).
\end{align*}
When $\varepsilon = 0$, this constraint is satisfied by setting $q_i(\langle x,y\rangle) = Q_i^0(\langle x,y\rangle)$. When $\varepsilon = 1$ we need to select $q_s(\langle x,y\rangle)$ more carefully.

To find $L_s$ we begin with,
\begin{align*}
    L_s = I - \sum_{i = 0}^{s-1} L_i.
\end{align*}
Since the $E_i$ are idempotent for $i\ne s$ we set $L_i = E_i$ for $i \ne s$. This yields the following components of $L_s$:
\begin{align*}
    (L_s)_{x,y} = \delta_{x,y} - \frac{1}{|X|} \sum_{i = 0}^{s-1} Q_i^0(\langle x,y\rangle).
\end{align*}
The first term is equal to $\mathrm{ann}(\langle x,y\rangle)/|X|$ and the sum in the second term is equal to $R_{s-1}^0(\langle x,y\rangle)$. This provides us with a general expression for $L_s$, regardless of whether $\varepsilon$ equals $0$ or $1$:
\begin{align*}
    (L_s)_{x,y} = \frac{1}{|X|} \left( \mathrm{ann}(\langle x,y\rangle) -  R_{s-1}^0(\langle x,y\rangle) \right).
\end{align*}
When $\varepsilon = 0$ we have $\mathrm{ann}(\langle x,y\rangle) = R^0_s(\langle x,y\rangle)$ which ensures that $L_s = E_s$. However, when for $\varepsilon = 1$ we have $L_s \ne E_s$.

\section{Idempotent Ranks and Complex Automorphisms}

Having replaced the faulty $E_i$ with a proper $L_i$ idempotent basis, as described in \cite{lyubich_tight_2009}, we return to the proof in \cite{hoggar_tight_1984}.
Hoggar's proof involves the so-called wild automorphisms of $\mathbb{C}$.
If we admit the axiom of choice, then the automorphisms of $\mathbb{C}$ include \textit{wild automorphisms}, namely automorphisms of $\mathbb{C}$ that map $\mathbb{R}$ to a dense subset of $\mathbb{C}$ \cite{yale_automorphisms_1966}.
The only complex numbers that are fixed by all wild automorphisms are the rationals $\mathbb{Q}$.
We use this property of $\mathbb{Q}$ below, assuming the axiom of choice.

Let $\sigma$ be an automorphism of $\mathbb{C}$, potentially among the wild automorphisms.
The map $\sigma$ acts as an automorphism of the the Bose-Mesner algebra by acting on all matrix coefficients. Even so, $\sigma$ leaves the basis matrices $I$ and $D_\alpha$ fixed, since they only have $0$ and $1$ for entries.
Since each $L_i$ is a $\mathbb{C}$-linear combination of the $D_\alpha$ matrices, and since the orthogonal idempotent basis is unique,
the action of $\sigma$ on $\{L_0, L_1, \ldots, L_s\}$ must permute these idempotent matrices. It must also preserve matrix rank, so that $\mathrm{rank}~L_i = \mathrm{rank}~\sigma(L_i)$.

\begin{lemma}
    \cite{hoggar_tight_1984}
    If the idempotent matrices $\{L_0, L_1, \ldots, L_s\}$ have distinct ranks then $\langle x, y\rangle$ is rational for all $x,y$ in tight $t$-design $X$.
    \label{ranksRational}
\end{lemma}

\begin{proof}
    If the matrices $\{L_0, L_1, \ldots, L_s\}$ have distinct ranks then any field automorphism of $\mathbb{C}$ must fix these matrices, so that $\sigma(L_i) = L_i$.
    This ensures that the $L_i$ are matrices with rational entries.
    Specifically, each $L_i$ is of the form $|X|(L_i)_{x,y} = q_i(\langle x,y\rangle)$.
    If $\sigma(L_i) = L_i$ then we also have $\sigma q_i(\langle x,y\rangle) = q_i(\langle x,y\rangle)$.
    If $q_i(\langle x,y \rangle)$ is fixed by all $\sigma$ then it is rational.
    In the case of $i = 1$ we have,
    \begin{align*}
        (L_1)_{x,y} = Q_1^0(\langle x,y\rangle) = \left(\frac{1}{2}\rho d +1\right) \left(\rho \langle x,y\rangle - 1\right),
    \end{align*}
    This means that $\langle x,y\rangle$ is rational.

\end{proof}

The next task is to compute the ranks of the $L_i$ idempotent matrices. The ranks found here are the same as those calculated in \cite{lyubich_tight_2009}, but presented in a slightly different form.

\begin{lemma}
    \label{specificRanks}
    Let $X$ be a tight $(2s-\varepsilon)$-design. Then the orthogonal idempotents of the Bose-Mesner algebra have the following ranks:
    \begin{align*}
        \mathrm{rank}~L_i = \left\lbrace
         \begin{array}{c l}

                 Q_i^0(1),
                 & i = 0,1,\ldots, s-1 \\
                 R_{s-\varepsilon}^\varepsilon (1) - R_{s-1}^0(1), & i = s
         \end{array}
        \right.
    \end{align*}
    Here we have,
    \begin{align*}

        Q_i^0(1) &= \left(\frac{\frac{1}{2}\rho d  + 2i  - 1}{\frac{1}{2}\rho d + i  - 1} \right) \frac{(\frac{1}{2}\rho d)_{i} (\frac{1}{2}\rho d - \frac{1}{2} d)_i}{(\frac{1}{2}d)_{i} i!}.
    \end{align*}
    For $\varepsilon = 0$ we have $R_{s}^0(1) - R_{s-1}^0(1) = Q_s^0(1)$. For $\varepsilon = 1$ we have,
    \begin{align*}
        R_{s-1}^1(1) - R_{s-1}^0(1) = \frac{s}{\frac{1}{2}\rho d + 2 s - 1} Q_s^0(1).
    \end{align*}

\end{lemma}

\begin{proof}
    The rank of an idempotent matrix is equal to its trace.
    For $L_i$ with $i \ne s$ we have,
    \begin{align*}
        \mathrm{rank}~L_i = \mathrm{Tr}~L_i =
        \sum_{x \in X}(L_i)_{x,x}
        = \sum_{x \in X} \frac{Q_i^0(1)}{|X|} = Q_i^0(1).
    \end{align*}
    For $L_s$ we have,
    \begin{align*}
        \mathrm{rank}~L_s = \mathrm{Tr}~L_s =
        \sum_{x \in X}(L_s)_{x,x}
        = \sum_{x \in X} \frac{1}{|X|} \left( \mathrm{ann}(1) -  R_{s-1}^0(1) \right).
    \end{align*}
    Since $\mathrm{ann}(1) = 1^\varepsilon R_{s-\varepsilon}^\varepsilon (1)$ we have,
    \begin{align*}
        \mathrm{rank}~L_s = R_{s-\varepsilon}^\varepsilon (1) - R_{s-1}^0(1).
    \end{align*}
    The specific expression for $Q_i^0(1)$ given above is obtained from the expression for $Q_k^\varepsilon(x)$ given earlier and the property $P_k^{(\alpha, \beta)} = \binom{\alpha+k}{k} = \frac{(\alpha + 1)_k}{k!}$.

    Next we use the following expression from \cite{lyubich_tight_2009}:
    \begin{align*}
         R_{s-\varepsilon}^\varepsilon(1) =  \frac{(\frac{1}{2}\rho d)_s (\frac{1}{2}\rho d - \frac{1}{2}d   + 1)_{s-\varepsilon}}{(\frac{1}{2}d)_s (s-\varepsilon)!}
         = \frac{(\frac{1}{2}\rho d)_s}{(\frac{1}{2}d)_s} \binom{\frac{1}{2}d(\rho - 1)  + s - \varepsilon}{s - \varepsilon}
    \end{align*}
    By construction $R_{s}^0(1) - R_{s-1}^0(1) = Q_s^0(1)$.
    When $\varepsilon = 1$ we instead have,
    \begin{align*}
       R_{s-1}^1(1) - R_{s-1}^0(1) &= \left(\frac{(\frac{1}{2}\rho d)_s}{(\frac{1}{2}d)_s}   -\frac{(\frac{1}{2}\rho d)_{s-1}}{(\frac{1}{2}d)_{s-1}}\right)
       \binom{\frac{1}{2}d(\rho - 1)  + s - 1}{s - 1}.
    \end{align*}

    Using $\binom{a}{b-1} = \frac{b}{a-b+1}\binom{a}{b}$ and then $\binom{a+b}{b} = \frac{(a+1)_b}{b!}$ we have,
    \begin{align*}
       R_{s-1}^1(1) - R_{s-1}^0(1)

        &=  \frac{(\frac{1}{2}\rho d)_s}{(\frac{1}{2}d)_s}\left(1 - \frac{\frac{1}{2}d + s - 1}{\frac{1}{2}\rho d+s-1} \right)
        \frac{s}{\frac{1}{2}d(\rho - 1)  }\binom{\frac{1}{2}d(\rho - 1)  + s - 1}{s} \\
        &= \frac{s}{\frac{1}{2}\rho d + s - 1}   \frac{(\frac{1}{2}\rho d)_s (\frac{1}{2}\rho d - \frac{1}{2} d)_s}{(\frac{1}{2}d)_s s!} \\
        &= \frac{s}{\frac{1}{2}\rho d + 2 s - 1} Q_s^0(1).

    \end{align*}

\end{proof}

The exceptional case of the unit circle, $\Omega_2 \cong \mathbb{RP}^1$, deserves specific attention.
We examine it before proceeding with the remainder of the proof.

\begin{lemma}
    \label{circleranks}
    When rank $\rho = 2$ and degree $d = 1$, the case of $\Omega_2 \cong \mathbb{RP}^1$, we have
    \begin{align*}
        \mathrm{rank}~L_0 = 1,~
        \mathrm{rank}~L_i = 2, \quad i = 1, \ldots, s-\varepsilon.
    \end{align*}
    When $\varepsilon = 1$, we have $\mathrm{rank}~L_s = 1$.
\end{lemma}

\begin{proof}
We evaluate $Q_i^0(1)$ for $\rho = 2$ and $d=1$. First, $Q_0^0(x) = 1$ so we have $\mathrm{rank}~L_0 = Q_0^0(1) = 1$. In what follows we assume $i > 0$.
The following expression simplifies to $2$:
\begin{align*}
    Q_i^0(1) &= \left(\frac{1  + 2i  - 1}{1 + i  - 1} \right) \frac{(1)_{i} (1 - \frac{1}{2} )_i}{(\frac{1}{2})_{i} i!} = 2.
\end{align*}
When $\varepsilon = 1$ we have,
\begin{align*}
    \mathrm{rank}~L_s = R_{s-1}^1(1) - R_{s-1}^0(1) = \frac{s}{1 + 2 s - 1} Q_s^0(1)  = \frac{2}{2} = 1.
\end{align*}

\end{proof}

The remaining cases satisfy the following lemma:

\begin{lemma}
    \cite{lyubich_tight_2009}
    For any tight $(2s-\varepsilon)$-design, not in $\Omega_2 \cong \mathbb{RP}^{1}$, the idempotent basis matrices satisfy,
    \begin{align*}
        \mathrm{rank}~L_0 < \mathrm{rank}~L_1 < \cdots < \mathrm{rank}~L_{s-\varepsilon}.
    \end{align*}
    \label{ascendinglemma}
\end{lemma}

\begin{proof}
    This is equivalent to $Q_0^0(1) < Q_1^0(1) < \cdots < Q_{s-\varepsilon}^0(1)$.
    We can compute the following expression:

    \begin{align*}
        Q_{i+1}^0(1) &= \left(\frac{\frac{1}{2}\rho d  + 2i  + 1}{\frac{1}{2}\rho d  + 2i  - 1 } \right)\left(\frac{\frac{1}{2}d (\rho - 1) + i}{\frac{1}{2}d + i }\right) \left(\frac{\frac{1}{2}\rho d + i  - 1}{i+1}\right) Q_i^0(1)
    \end{align*}
    The first factor is always greater than one.
    The second factor is always greater than or equal to one.
    The third factor is greater than or equal to one when $\rho d \ge 4$.
    This leaves the $(\rho,d) = (3,1)$ case to check, which yields $Q_{i+1}^0(1) = \left(2i + \frac{5}{2}\right)/\left(2i + \frac{1}{2}\right) Q_i^0(1)$.
    Therefore, for $(\rho,d) \ne (2,1)$ we have $Q_i^0(1) < Q_{i+1}^0(1)$ for all $i\ge 0$.
\end{proof}

\section{Completing the Proof}

To complete the proof of Theorem \ref{maintheorem} we need to apply Lemma \ref{ranksRational} to all the relevant cases.
However, since $\Omega_2 \cong \mathbb{RP}^1$ generally involves idempotent basis matrices of equal rank, we cannot use Lemma \ref{ranksRational} for this exceptional case.
This case is examined carefully for completeness in \cite{lyubich_tight_2009} and we address it in the following theorem.

\begin{theorem}
    \label{circlecase} \cite{lyubich_tight_2009}
    A tight $t$-design in $\Omega_2 \cong \mathbb{RP}^1$ has a rational angle set if and only if $t = 1,2,3,5$.
\end{theorem}

\begin{proof}
    A tight $t$-design in $\Omega_2 \cong \mathbb{RP}^1$ always exists and is given by the corners of a regular $(t+1)$-gon.
    The angle between any pair of design points on the unit circle is $\theta = 2 m \pi/(t+1)$ for some integer $m$. The corresponding Jordan inner product is $\langle x, y\rangle = \cos^2\left(\frac{\theta}{2}\right) = \frac{1}{2}+\frac{1}{2}\cos\theta$.
    This means that $\langle x,y\rangle$ is rational if and only if $\cos \theta$ is rational. The only values of $t$ for which $\cos\theta$ is rational are known to be $t = 1,2,3,5$.

\end{proof}

We now examine the remaining cases with $(\rho,d) \ne (2,1)$, i.e., distinct from the unit circle. The simplest to deal with, using Lemma \ref{ranksRational}, is the case where $t = 2s$ is even.

\begin{theorem}
    A tight $(2s)$-design, not in $\Omega_2 \cong \mathbb{RP}^1$, has a rational angle set.
\end{theorem}

\begin{proof}
    According to Lemma \ref{ascendinglemma}, the idempotent basis matrices $L_i$ each have distinct rank. Therefore, by Lemma \ref{ranksRational}, the angle set is rational.
\end{proof}

We now examine cases with odd $t = 2s-1$.

\begin{lemma}
    \label{ranksLsL1}
    Let $(\rho,d) \ne (2,1)$. If $L_s$ and $L_1$ have distinct ranks then the angle set is rational.
\end{lemma}

\begin{proof}
    According to Lemma \ref{ascendinglemma}, the ranks of all $L_i$ are distinct except possibly for $L_s$ when $\varepsilon = 1$.
    Therefore no field automorphism of $\mathbb{C}$ interchanges $L_1$ with any $L_i$ other than possibly $L_s$.
    If $L_s$ and $L_1$ have distinct ranks, then $L_1$ is fixed by all field automorphisms of $\mathbb{C}$ and therefore is a matrix with rational entries $Q_1^0(\alpha)/|X|$. As described in the proof of Lemma \ref{ranksRational}, it follows from the rationality of $Q_1^0(\alpha)$ that $\alpha$ is rational.

\end{proof}

The simplest odd $t = 2s-1$ case is for $s=1$, corresponding to a tight $1$-design. A tight $1$-design exists in each $\Omega_{d+1}$ and $\mathbb{FP}^{\rho-1}$ and is also known as a \textit{Jordan frame}, or full rank set of orthogonal primitive idempotents. The annihilator polynomial is $\mathrm{ann}(x) = \rho x$, so the angle set is $A = \{0\}$, which is clearly rational.
Since this case is fully understood, we will assume $s > 1$ in what follows.

We now address the remaining spherical cases.

\begin{theorem}
    A tight $(2s-1)$-design in $\Omega_{d+1}$ with $d > 1$ has a rational angle set except when $d = 2$ and $s = 3$.
\end{theorem}

\begin{proof}
    In the spherical cases we have $\rho = 2$ and can simplify $Q_i^0(1)$ to the following:
    \begin{align*}
    Q_i^0(1) &= \left(\frac{d  + 2i  - 1}{d + i  - 1} \right) \frac{(d)_{i} }{ i!}.
    \end{align*}
    This means that,
    \begin{align*}

     \mathrm{rank}~L_1 = Q_1^0(1) &= d+1.
    \end{align*}
    Likewise,
    \begin{align*}
        \mathrm{rank}~L_s &= R_{s-1}^1(1) - R_{s-1}^0(1) = \frac{s}{ d + 2 s - 1} Q_s^0(1)

        = \binom{d + s - 2}{s-1}.
    \end{align*}
    For $s = 2$, we always have $\mathrm{rank}~L_s - \mathrm{rank}~L_1 = -1$. By Lemma \ref{ranksRational}, a tight spherical $3$-design must therefore have rational angle set.
    For $s > 2$, $\mathrm{rank}~L_s - \mathrm{rank}~L_1 \ge 0$ with the equality achieved only when $d = 2$ and $s=3$. Aside from this exception, Lemma \ref{ranksRational} ensures a rational angle set.
    Therefore, the only case where $\mathrm{rank}~L_s = \mathrm{rank}~L_1$ is for $d=2$ and $s=3$. A tight $5$-design exists in this case and is known to be the vertices of a regular icosahedron in $\Omega_3$.
\end{proof}

\begin{remark}
    In contrast to Lyubich, who only deals with projective cases of degree $d = 1,2,4$, we have dealt here with all spherical ($\rho = 2$) cases simultaneously.
    This provides slightly different approach to identifying  Lyubich's exception in $\Omega_3 \cong \mathbb{CP}^1$, namely as spherical design rather than as a projective design.
\end{remark}

We will call a design with $\rho > 2$ a \textit{strictly projective design}.
All remaining cases are strictly projective.
In what follows we will therefore require that $\rho > 2$.

\begin{theorem}
    A strictly projective tight $(2s-1)$-design, i.e., with $\rho > 2$, has a rational angle set.
\end{theorem}

\begin{proof}
    The proof method shown here is equivalent to the method used in \cite{lyubich_tight_2009}, but the parameters are allowed to extend to the octonion case ($d = 8$) yet restricted to the strictly projective $\rho > 2$ cases.
    We need to verify that $\mathrm{rank}~L_s \ne \mathrm{rank}~L_1$.
    In the cases below we use that fact that,
    \begin{align*}
        \mathrm{rank}~L_s \ge \frac{2}{\frac{1}{2}\rho d + 3}Q_2^0(1)
    \end{align*}
    Specifically, as a function of $s$ the expression $s Q_s^0(1) /(\frac{1}{2}\rho d + 2s - 1)$ decreases as the value of $s$ decreases.
    We can confirm this fact using the expression given in the proof of Lemma \ref{ascendinglemma}.
    We will therefore assume that $\mathrm{rank}~L_s$ is greater than or equal to the same expression evaluated at $s=2$.
    This ensures that,
    \begin{align*}
        \mathrm{rank}~L_s - \mathrm{rank}~L_1 \ge \frac{2}{\frac{1}{2}\rho d + 3}Q_2^0(1) - Q_1^0(1).
    \end{align*}
    Writing the expression on the right hand side explicitly, in simplified form, we have,
    \begin{align*}
        \mathrm{rank}~L_s - \mathrm{rank}~L_1 \ge
        \frac{1}{2}\left(\frac{d (\rho - 1)}{d(d+2)}\right)
        \left(\rho^2 d^2-2\rho d^2-2 d-4\right)
    \end{align*}
    Whenever the right hand side of the inequality is greater than zero, we have confirmed by Lemma \ref{ranksRational} that $\mathrm{rank}~L_s \ne \mathrm{rank}~L_1$ and therefore that the angle set is rational.
    We define,
    \begin{align*}
        f_d(\rho) = \rho^2 d^2-2\rho d^2-2 d-4.
    \end{align*}
    If $f_d(\rho) > 0$ then the corresponding tight projective $(2s-1)$-design has a rational angle set.

    \subsubsection*{Real Projective Case}
    Set $d = 1$ and $\rho > 2$. Then we have,
    \begin{align*}
        f_1(\rho) = \rho^2 -2\rho -6.
    \end{align*}
    The only integer value of $\rho > 2$ with $f_1(\rho) \le 0$ is $\rho = 3$.

    This means that the real projective case of $\rho = 3$ and $d=1$ is a possible case for $\mathrm{rank}~L_s = \mathrm{rank}~L_1$. We must examine this possibility more closely.

    Let $d = 1$ and $\rho =3$. If $s = 2$, for a tight $3$-design, then we know that $\mathrm{rank}~L_s \ne \mathrm{rank}~L_1$ by the fact that $f_1(3) \ne 0$, as shown above. We need to also ensure $\mathrm{rank}~L_s \ne \mathrm{rank}~L_1$ for $s>2$. To do so, we repeat the argument given above except instead we use,
    \begin{align*}
        \mathrm{rank}~L_s\ge \frac{3}{\frac{1}{2}\rho d + 5}Q_3^0(1).
    \end{align*}
    For $d = 1$ and $\rho = 3$ we have,
    \begin{align*}
        \mathrm{rank}~L_s  - \mathrm{rank}~L_1 \ge \frac{6}{13} Q_3^0(1) - Q_1^0(1) = 1.
    \end{align*}
    Therefore all real tight strictly projective designs have rational angle set.

    \subsubsection*{Complex Projective Cases} Let $\rho \ge 3$ and $d = 2$. Then the second factor in the inequality above simplifies to,
    \begin{align*}
        f_2(\rho) = 4\rho^2 - 8\rho -8.
    \end{align*}
    All integer values of $\rho > 2$ satisfy $f_2(\rho) > 0$.

    This means that $\mathrm{rank}~L_s > \mathrm{rank}~L_1$ for all of the complex projective cases.

    \subsubsection*{Quaternion Projective Cases} Let $\rho \ge 3$ and $d = 4$. Then the second factor in the inequality above simplifies to,
    \begin{align*}
        f_4(\rho) = 16\rho^2 - 32 \rho -12.
    \end{align*}
    All integer values of $\rho > 2$ satisfy $f_4(\rho) > 0$.

    This means that $\mathrm{rank}~L_s > \mathrm{rank}~L_1$ for all of the quaternion projective cases.

    \subsubsection*{Exceptional Octonion Projective Case} Let $\rho = 3$ and $d = 8$. Then the second factor in the inequality above simplifies to,
    \begin{align*}
        f_8(3) = 172.
    \end{align*}
    This means that $\mathrm{rank}~L_s > \mathrm{rank}~L_1$ for the exceptional case.
    Having checked all the cases, we have distinct ranks for all idempotent basis matrices $L_i$ and by Lemma \ref{ranksRational} the angle sets of a strictly projective tight $(2s-1)$-design must be rational.
\end{proof}

\section{Conclusion}

We have extended the result of \cite{hoggar_tight_1984} for $d = 1,2,4,8$, which is corrected by \cite{lyubich_tight_2009} for $d = 1,2,4$, to the full range of possible values of rank $\rho$ and degree $d$, proving Theorem \ref{maintheorem}.
This clarifies the full conditions under which a tight $t$-design---whether spherical or projective---has rational angle set. The only examples of irrational angles sets exist on the unit circle $\Omega_2 \cong \mathbb{RP}^{1}$ for $t \ne 2,3,4,5$ and on the unit sphere $\Omega_3\cong \mathbb{CP}^1$ for $t = 5$.

\bibliographystyle{amsalpha}