\documentclass[a4paper,fleqn]{cas-sc}
\usepackage{tikz}
\usetikzlibrary{positioning, shapes.geometric}
\usetikzlibrary{arrows}
\tikzset{label/.style = {color = white, text = black} }
\tikzset{ yc/.style = {color = white!1, fill = black!25} }
\tikzset{ kwcy/.style = {anchor = north, text height = 8pt} }
\begin{document}
\begin{tikzpicture}
\usetikzlibrary{arrows,calc}
\tikzstyle{line} = [-,>=stealth]
\tikzstyle{arrow} = [->,>=stealth]
\tikzstyle{arrow2} = [<->,>=stealth]
\coordinate (Start) at (0, 0);
\draw (Start) node [anchor = south west, align=left] {Firms};
\draw (Start) node [anchor = north west, align=left] {Consumer};
\coordinate (P1End) at ($(Start) + (4, 0)$);
\draw [line] (Start) -- (P1End);
\fill[black] (P1End) circle (1pt);
\coordinate (price1) at ($(Start) + (2.0, 0)$);
\coordinate (price1o) at ($(price1) + (0, 0.5)$);
\draw [arrow] (price1o) -- (price1);
\node [align=center, above] at (price1o) {$p_{a1},p_{b1}$};
\coordinate (buy1) at ($(price1) + (1.0, 0)$);
\coordinate (buy1o) at ($(buy1) + (0, -0.5)$);
\draw [arrow] (buy1o) -- (buy1);
\node [align=center, below] at (buy1o) {which\\ product\\ to buy};
\coordinate (discrimination) at ($(P1End) + (0.8, 0)$);
\coordinate (discriminationo) at ($(discrimination) + (0, 0.5)$);
\draw [arrow] (discriminationo) -- (discrimination);
\node [align=center, above] at (discriminationo) {whether to \\adopt quality\\ discrimination};
\coordinate (P21Star) at ($(P1End)$);
\coordinate (P21End) at ($(P21Star) + (2, 0)$);
\draw [line] (P21Star) -- (P21End);
\coordinate (P2NoStart) at ($(P21End) + (1.2, -1.5)$);
\coordinate (P2YesStart) at ($(P21End) + (1.2, 1.5)$);
\draw [line] (P21End)--(P2NoStart) node [midway, below left] {No};
\draw [line] (P21End)--(P2YesStart) node [midway, above left] {Yes};
\coordinate (qNo) at ($(P2NoStart) + (1, 0)$);
\coordinate (qNoo) at ($(qNo) + (0, 0.5)$);
\node [align=center, above] at (qNoo) {$q_{a2},q_{b2}$};
\draw [arrow] (qNoo) -- (qNo);
\coordinate (pNo) at ($(qNo) + (2, 0)$);
\coordinate (pNoo) at ($(pNo) + (0, 0.5)$);
\node [align=center, above] at (pNoo) {$p_{ao},p_{bo}$,\\$p_{an},p_{bn}$};
\draw [arrow] (pNoo) -- (pNo);
\coordinate (buy2No) at ($(pNo) + (1.5, 0)$);
\coordinate (buy2Noo) at ($(buy2No) + (0, -0.5)$);
\draw [arrow] (buy2Noo) -- (buy2No);
\node [align=center, below] at (buy2Noo) {whether to stay\\or switch};
\coordinate (qYes) at ($(P2YesStart) + (1, 0)$);
\coordinate (qYeso) at ($(qYes) + (0, 0.5)$);
\node [align=center, above] at (qYeso) {$q_{ao},q_{bo}$,\\ $q_{an},q_{bn}$};
\draw [arrow] (qYeso) -- (qYes);
\coordinate (pYes) at ($(qYes) + (2, 0)$);
\coordinate (pYeso) at ($(pYes) + (0, 0.5)$);
\node [align=center, above] at (pYeso) {$p_{ao},p_{bo}$,\\ $p_{an},p_{bn}$};
\draw [arrow] (pYeso) -- (pYes);
\coordinate (buy2Yes) at ($(pYes) + (1.5, 0)$);
\coordinate (buy2Yeso) at ($(buy2Yes) + (0, -0.5)$);
\draw [arrow] (buy2Yeso) -- (buy2Yes);
\node [align=center, below] at (buy2Yeso) {whether to stay\\or switch};
\coordinate (P2NoEnd) at ($(P2NoStart) + (6, 0)$);
\coordinate (P2YesEnd) at ($(P2YesStart) + (6, 0)$);
\draw [arrow] (P2NoStart) -- (P2NoEnd);
\draw [arrow] (P2YesStart) -- (P2YesEnd);
\draw ($(P2NoEnd) + (-0.2, 0.1)$) -- ($(P2NoEnd) + (-0.2, -0.1)$);%P2NoRealize
\draw ($(P2YesEnd) + (-0.2, 0.1)$) -- ($(P2YesEnd) + (-0.2, -0.1)$);%P2YesRealize
\draw (P2NoEnd) node [anchor = west, align=left] {Time};
\draw (P2YesEnd) node [anchor = west, align=left] {Time};
\coordinate (Period10) at ($(Start) + (1.5, -3)$);
\coordinate (Period12) at ($(P1End) + (0, -3)$);
\coordinate (Period22) at ($(Period12) + (9, 0)$);
\draw [arrow2] (Period10) -- (Period12) node [midway, below] {first period};
\draw [arrow2] (Period12) -- (Period22) node [midway, below] {second period};
\end{tikzpicture}
\end{document}