A solution that uses child nodes.
\documentclass[tikz,border=3.14159cm]{standalone}
\usetikzlibrary{arrows.meta,positioning}
\begin{document}
\begin{tikzpicture}
[grow=right, scale=1.,font=\normalsize,
edge from parent path={(\tikzparentnode) |- (\tikzchildnode.west)},
edge from parent/.style={draw,-{Stealth[scale=2]}},
level distance=3cm,
sibling distance=3cm,
level 4/.style={sibling distance=1.5cm},
auto,transform shape,
on grid]
\tikzset{every node/.style={rectangle,minimum width=1cm,minimum height=1cm,draw}}
\tikzset{edgenode/.style={draw=none,minimum height=0pt,rectangle,inner sep=3pt,pos=.75}}
\tikzset{legend/.style={draw=none,minimum height=0pt,rectangle,inner sep=3pt}}
\node[fill=gray](retailer) {}
child { node (consumer){}
child { node[circle,fill=white] { }
child { node {}
child { node[draw=none] {$-h$}
edge from parent node[edgenode,below] {Return}}
child { node[draw=none] {$s-P$}
edge from parent node[edgenode,above] {Keep}}
edge from parent node[edgenode,below] {Mismatch} node[edgenode,above] {$1-m$}}
child { node {}
child { node[draw=none] {$\nu c-h$}
edge from parent node[edgenode,below] {Return}}
child { node[draw=none] {$\nu-P$}
edge from parent node[edgenode,above] {Keep}}
edge from parent node[edgenode,above] {Match} node[edgenode,below] {$m$}}
edge from parent node[edgenode,above] {Buy}}
};
\draw[edge from parent] (consumer) --++ (0,-4) --++ (8.5,0) node[edgenode,pos=.12,above] {Don't buy} node[anchor=west,draw=none,at end] {0};
\draw[dashed] (2,4) --++ (0,-9)
(5,4) --++ (0,-9)
(11,4) --++ (0,-9);
\node[legend] at (0,-4.5) {Retailer};
\node[legend] at (3.5,-4.5) {Consumer};
\node[legend] at (8,-4.5) {Consumer};
\node[legend] at (0,3.5) {Stage I};
\node[legend] at (3.5,3.5) {Stage II};
\node[legend] at (8,3.5) {Stage III};
\node[legend] at (12,3.5) {Utility};
\node[legend,text width=2cm,align=center] at (0,-1.3) {Retailer announces P and T};
\end{tikzpicture}
\end{document}

EDIT
I edit my post without deleting the first version. Here's an improved version without the flaws of the first rapid script.
\documentclass[tikz,border=3.14159mm]{standalone}
\usetikzlibrary{arrows.meta,positioning}
\begin{document}
\begin{tikzpicture}
[line width=.5pt,
grow=right, scale=1.,font=\normalsize,
edge from parent path={(\tikzparentnode) |- (\tikzchildnode.west)},
edge from parent/.style={draw,-{Stealth[scale=1.5]}},
level distance=3cm,
sibling distance=3cm,
level 4/.style={sibling distance=1.5cm},
auto,transform shape,
on grid]
\tikzset{every node/.style={rectangle,minimum width=1cm,minimum height=1cm,draw}}
\tikzset{edgenode/.style={draw=none,minimum height=0pt,rectangle,inner sep=3pt,pos=.75}}
\tikzset{legend/.style={draw=none,minimum height=0pt,rectangle,inner sep=3pt}}
\node[fill=gray](retailer) {}
child { node (consumer){}
%
child { node[circle] { }
%
child { node {}
%
child { node[draw=none] {$-h$}
edge from parent[-] node[edgenode,below] {Return}}
%
child { node[draw=none] {$s-P$}
edge from parent[-] node[edgenode,above] {Keep}}
%
edge from parent node[edgenode,below] {Mismatch} node[edgenode,above] {$1-m$}}
child { node {}
%
child { node[draw=none] {$\nu c-h$}
edge from parent[-] node[edgenode,below] {Return}}
%
child { node[draw=none] {$\nu-P$}
edge from parent[-] node[edgenode,above] {Keep}}
%
edge from parent node[edgenode,above] {Match} node[edgenode,below] {$m$}} %
edge from parent node[edgenode,above] {Buy}}
};
\draw (consumer) |- (11.5,-4) node[edgenode,pos=.56,above] {Don't buy} node[anchor=west,draw=none,at end] {0};
\draw[dashed] (2,4) --++ (0,-9)
(5,4) --++ (0,-9)
(11,4) --++ (0,-9);
\node[legend] at (0,-4.5) {Retailer};
\node[legend] at (3.5,-4.5) {Consumer};
\node[legend] at (8,-4.5) {Consumer};
\node[legend] at (0,3.5) {Stage I};
\node[legend] at (3.5,3.5) {Stage II};
\node[legend] at (8,3.5) {Stage III};
\node[legend] at (12,3.5) {Utility};
\node[below = 1.2cm of retailer,legend,text width=2cm,align=center] {Retailer announces P and T};
\end{tikzpicture}
\end{document}

treellibrary. You may find help to begin with. Then edit your post with your MWE and your questions. Sure you will find someone to help you improve it. But asking for such a complex graph from scratch doesn't guarantee any answer here ;) – SebGlav Feb 17 '21 at 18:37