Elvis Andrus

6'0", 210 lbs Rangers SS
Illustrated silhouette of a player wearing the Texas Rangers uniform

AVG

.269

HR

102

RBI

775

R

1,058

Career

Overview Stats Game Log Splits Bio

September

DATE TM OPP SCORE AB R H 2B 3B HR RBI BB HBP SO SB CS AVG OBP SLG
Sat
9/25
OAK vs
HOU HOU
W
2-1
3 1 2 0 0 0 0 0 1 0 0 0 .667 .750 .667
Fri
9/24
OAK vs
HOU HOU
W
14-2
3 2 1 0 0 0 0 1 0 0 0 0 .333 .500 .333
Thu
9/23
OAK vs
SEA SEA
L
5-6
2 0 0 0 0 0 1 1 0 0 0 0 .000 .250 .000
Wed
9/22
OAK vs
SEA SEA
L
1-4
3 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Tue
9/21
OAK vs
SEA SEA
L
2-5
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Mon
9/20
OAK vs
SEA SEA
L
2-4
2 1 2 0 0 0 0 0 0 0 0 0 1.000 1.000 1.000
Sun
9/19
OAK @
LAA LAA
W
3-2
4 0 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Sat
9/18
OAK @
LAA LAA
W
3-1
2 0 1 0 0 0 0 1 0 0 0 0 .500 .667 .500
Thu
9/16
OAK @
KCR KCR
W
7-2
2 2 1 0 0 0 0 1 1 0 0 0 .500 .750 .500
Wed
9/15
OAK @
KCR KCR
W
12-10
5 2 4 1 0 0 2 0 0 0 0 0 .800 .800 1.000
Tue
9/14
OAK @
KCR KCR
L
7-10
4 0 2 1 0 0 2 0 0 0 0 0 .500 .500 .750
Sun
9/12
OAK vs
TEX TEX
L
3-4
3 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sat
9/11
OAK vs
TEX TEX
L
6-8
3 0 1 1 0 0 0 0 0 0 0 0 .333 .333 .667
Fri
9/10
OAK vs
TEX TEX
W
10-5
3 2 2 1 0 0 1 0 1 0 0 0 .667 .750 1.000
Thu
9/9
OAK vs
CWS CWS
W
3-1
3 0 1 0 0 0 0 0 0 1 0 0 .333 .333 .333
Wed
9/8
OAK vs
CWS CWS
W
5-1
2 1 1 0 0 0 1 1 0 0 0 0 .500 .667 .500
Tue
9/7
OAK vs
CWS CWS
L
3-6
3 1 1 0 0 0 0 0 0 0 0 0 .333 .333 .333
Sun
9/5
OAK @
TOR TOR
L
0-8
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Fri
9/3
OAK @
TOR TOR
L
10-11
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Thu
9/2
OAK @
DET DET
W
8-6
4 1 2 0 0 0 0 0 0 0 0 0 .500 .500 .500
Wed
9/1
OAK @
DET DET
L
6-8
3 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Total 65 13 22 4 0 0 7 5 3 4 0 0 .338 .405 .400

August

DATE TM OPP SCORE AB R H 2B 3B HR RBI BB HBP SO SB CS AVG OBP SLG
Tue
8/31
OAK @
DET DET
W
9-3
3 1 1 1 0 0 0 1 0 0 0 0 .333 .500 .667
Sun
8/29
OAK vs
NYY NYY
W
3-1
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Fri
8/27
OAK vs
NYY NYY
L
2-8
4 0 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Thu
8/26
OAK vs
NYY NYY
L
6-7
4 0 1 0 0 0 2 0 0 1 1 0 .250 .250 .250
Tue
8/24
OAK vs
SEA SEA
L
1-5
4 0 2 1 0 0 0 0 0 0 0 0 .500 .500 .750
Mon
8/23
OAK vs
SEA SEA
L
3-5
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sun
8/22
OAK vs
SFG SFG
L
1-2
0 0 0 0 0 0 0 0 0 0 0 0
Sat
8/21
OAK vs
SFG SFG
L
5-6
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Fri
8/20
OAK vs
SFG SFG
W
4-1
3 0 1 0 0 0 0 0 0 1 0 0 .333 .333 .333
Thu
8/19
OAK @
CWS CWS
W
5-4
4 1 1 0 0 0 0 0 0 0 1 0 .250 .250 .250
Wed
8/18
OAK @
CWS CWS
L
2-3
3 1 1 0 1 0 0 0 0 0 0 0 .333 .333 1.000
Tue
8/17
OAK @
CWS CWS
L
0-9
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Fri
8/13
OAK @
TEX TEX
L
6-8
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Thu
8/12
OAK @
CLE CLE
W
17-0
5 2 1 0 0 0 2 1 0 0 0 0 .200 .333 .200
Wed
8/11
OAK @
CLE CLE
W
6-3
4 1 2 0 0 1 1 0 0 1 1 0 .500 .500 1.250
Tue
8/10
OAK @
CLE CLE
W
4-3
4 1 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sun
8/8
OAK vs
TEX TEX
W
6-3
4 0 1 0 0 0 0 0 0 0 0 0 .250 .250 .250
Sat
8/7
OAK vs
TEX TEX
W
12-3
3 1 2 0 0 0 1 1 0 0 0 0 .667 .750 .667
Fri
8/6
OAK vs
TEX TEX
W
4-1
1 0 0 0 0 0 0 1 1 0 0 0 .000 .667 .000
Wed
8/4
OAK vs
SDP SDP
W
5-4
3 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Tue
8/3
OAK vs
SDP SDP
L
1-8
3 0 0 0 0 0 0 1 0 1 0 0 .000 .250 .000
Sun
8/1
OAK @
LAA LAA
W
8-3
5 1 1 0 0 0 0 0 0 2 0 0 .200 .200 .200
Total 74 9 15 2 1 1 6 5 1 10 3 0 .203 .263 .297

July

DATE TM OPP SCORE AB R H 2B 3B HR RBI BB HBP SO SB CS AVG OBP SLG
Sat
7/31
OAK @
LAA LAA
L
0-1
3 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Fri
7/30
OAK @
LAA LAA
W
2-0
2 0 2 0 0 0 0 2 0 0 0 0 1.000 1.000 1.000
Thu
7/29
OAK @
LAA LAA
W
4-0
4 1 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Wed
7/28
OAK @
SDP SDP
W
10-4
4 2 3 0 0 0 2 0 0 0 0 0 .750 .750 .750
Tue
7/27
OAK @
SDP SDP
L
4-7
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sun
7/25
OAK @
SEA SEA
L
3-4
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sat
7/24
OAK @
SEA SEA
L
4-5
3 1 1 0 0 0 0 1 0 0 0 0 .333 .500 .333
Fri
7/23
OAK @
SEA SEA
L
3-4
4 0 1 0 0 0 0 0 0 3 0 0 .250 .250 .250
Thu
7/22
OAK @
SEA SEA
W
4-1
3 1 1 0 0 0 0 0 1 1 1 0 .333 .500 .333
Tue
7/20
OAK vs
LAA LAA
W
6-0
3 0 1 0 0 0 1 0 0 0 0 0 .333 .333 .333
Mon
7/19
OAK vs
LAA LAA
W
4-1
4 0 0 0 0 0 0 0 0 2 0 0 .000 .000 .000
Sun
7/18
OAK vs
CLE CLE
L
2-4
4 0 0 0 0 0 0 0 0 2 0 0 .000 .000 .000
Sat
7/17
OAK vs
CLE CLE
L
2-3
5 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Fri
7/16
OAK vs
CLE CLE
W
5-4
5 2 3 0 0 0 0 0 0 1 0 0 .600 .600 .600
Sun
7/11
OAK @
TEX TEX
W
4-1
4 0 1 1 0 0 0 0 0 0 0 0 .250 .250 .500
Sat
7/10
OAK @
TEX TEX
W
8-4
5 1 0 0 0 0 0 0 0 3 0 0 .000 .000 .000
Fri
7/9
OAK @
TEX TEX
L
2-3
3 1 1 0 0 0 0 1 0 1 0 0 .333 .500 .333
Thu
7/8
OAK @
HOU HOU
W
2-1
5 1 2 1 0 0 0 0 0 0 0 0 .400 .400 .600
Wed
7/7
OAK @
HOU HOU
L
3-4
4 1 1 0 0 1 1 0 0 2 0 0 .250 .250 1.000
Tue
7/6
OAK @
HOU HOU
L
6-9
5 2 3 1 0 0 1 0 0 0 1 0 .600 .600 .800
Sun
7/4
OAK vs
BOS BOS
L
0-1
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sat
7/3
OAK vs
BOS BOS
W
7-6
4 0 2 0 0 0 1 1 1 0 0 0 .500 .667 .500
Fri
7/2
OAK vs
BOS BOS
L
2-3
4 1 1 0 0 1 1 0 0 1 0 0 .250 .250 1.000
Thu
7/1
OAK vs
TEX TEX
L
3-8
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Total 93 14 23 3 0 2 7 5 2 20 2 0 .247 .300 .344

June

DATE TM OPP SCORE AB R H 2B 3B HR RBI BB HBP SO SB CS AVG OBP SLG
Wed
6/30
OAK vs
TEX TEX
W
3-1
4 0 2 0 0 0 0 0 0 1 1 0 .500 .500 .500
Tue
6/29
OAK vs
TEX TEX
L
4-5
4 0 1 0 0 0 0 0 0 0 0 0 .250 .250 .250
Sun
6/27
OAK @
SFG SFG
W
6-2
4 1 1 0 0 0 1 0 0 0 1 0 .250 .200 .250
Sat
6/26
OAK @
SFG SFG
L
5-6
4 1 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Fri
6/25
OAK @
SFG SFG
L
0-2
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Thu
6/24
OAK @
TEX TEX
W
5-1
4 0 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Wed
6/23
OAK @
TEX TEX
L
3-5
4 1 1 1 0 0 0 0 0 0 0 0 .250 .250 .500
Tue
6/22
OAK @
TEX TEX
W
13-6
5 1 3 1 0 0 2 0 0 1 0 0 .600 .600 .800
Mon
6/21
OAK @
TEX TEX
L
3-8
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sun
6/20
OAK @
NYY NYY
L
1-2
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sat
6/19
OAK @
NYY NYY
L
5-7
4 1 2 0 0 0 0 0 0 1 1 0 .500 .500 .500
Fri
6/18
OAK @
NYY NYY
W
5-3
4 1 1 1 0 0 0 0 0 1 0 0 .250 .250 .500
Wed
6/16
OAK vs
LAA LAA
W
8-4
3 1 0 0 0 0 0 1 0 1 0 0 .000 .250 .000
Tue
6/15
OAK vs
LAA LAA
W
6-4
4 0 2 2 0 0 2 0 0 1 0 0 .500 .500 1.000
Mon
6/14
OAK vs
LAA LAA
W
8-5
4 0 1 0 0 0 1 0 0 0 0 0 .250 .250 .250
Sun
6/13
OAK vs
KCR KCR
W
6-3
4 1 1 1 0 0 1 0 0 1 0 0 .250 .250 .500
Sat
6/12
OAK vs
KCR KCR
W
11-2
5 1 2 0 0 0 1 0 0 0 0 0 .400 .400 .400
Fri
6/11
OAK vs
KCR KCR
W
4-3
4 0 2 1 0 0 1 0 0 1 0 0 .500 .500 .750
Thu
6/10
OAK vs
KCR KCR
L
1-6
2 0 0 0 0 0 0 1 0 0 0 0 .000 .333 .000
Wed
6/9
OAK vs
ARI ARI
W
4-0
2 1 0 0 0 0 0 1 0 0 0 0 .000 .333 .000
Tue
6/8
OAK vs
ARI ARI
W
5-2
2 0 0 0 0 0 1 1 0 0 0 0 .000 .333 .000
Sun
6/6
OAK @
COL COL
L
1-3
4 0 2 1 0 0 0 0 0 1 1 0 .500 .500 .750
Sat
6/5
OAK @
COL COL
W
6-3
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Fri
6/4
OAK @
COL COL
W
9-5
4 0 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Wed
6/2
OAK @
SEA SEA
W
6-0
4 1 2 1 0 0 0 0 0 1 0 0 .500 .500 .750
Tue
6/1
OAK @
SEA SEA
W
12-6
3 2 1 1 0 0 0 2 0 0 0 0 .333 .600 .667
Total 97 13 27 10 0 0 10 6 0 15 4 0 .278 .317 .381

May

DATE TM OPP SCORE AB R H 2B 3B HR RBI BB HBP SO SB CS AVG OBP SLG
Mon
5/31
OAK @
SEA SEA
L
5-6
0 0 0 0 0 0 0 0 0 0 0 0
Sun
5/30
OAK vs
LAA LAA
L
2-4
2 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sat
5/29
OAK vs
LAA LAA
L
0-4
2 0 0 0 0 0 0 1 0 1 0 0 .000 .333 .000
Fri
5/28
OAK vs
LAA LAA
W
3-1
3 1 2 0 0 0 0 0 0 1 0 1 .667 .667 .667
Thu
5/27
OAK vs
LAA LAA
W
5-0
4 0 1 0 0 0 1 0 0 2 0 0 .250 .250 .250
Wed
5/26
OAK vs
SEA SEA
W
6-3
4 1 2 0 0 0 0 0 0 0 0 0 .500 .500 .500
Tue
5/25
OAK vs
SEA SEA
L
3-4
4 0 3 1 0 0 0 0 0 1 0 0 .750 .750 1.000
Mon
5/24
OAK vs
SEA SEA
L
2-4
2 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sun
5/23
OAK @
LAA LAA
L
5-6
1 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sat
5/22
OAK @
LAA LAA
W
6-2
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Fri
5/21
OAK @
LAA LAA
W
8-4
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Thu
5/20
OAK vs
HOU HOU
L
4-8
4 0 1 0 0 0 0 0 0 0 0 0 .250 .250 .250
Wed
5/19
OAK vs
HOU HOU
L
1-8
3 0 1 0 0 0 0 0 0 0 0 0 .333 .333 .333
Sun
5/16
OAK @
MIN MIN
W
7-6
3 1 1 0 0 0 0 1 0 1 0 0 .333 .500 .333
Sat
5/15
OAK @
MIN MIN
L
4-5
0 0 0 0 0 0 0 0 0 0 0 0
Fri
5/14
OAK @
MIN MIN
W
6-1
4 0 1 0 0 0 0 0 0 0 0 0 .250 .250 .250
Thu
5/13
OAK @
BOS BOS
L
1-8
3 0 1 0 0 0 0 1 0 1 0 0 .333 .500 .333
Wed
5/12
OAK @
BOS BOS
W
4-1
3 1 2 1 0 0 0 0 0 1 0 0 .667 .667 1.000
Tue
5/11
OAK @
BOS BOS
W
3-2
4 0 1 0 0 0 1 0 0 0 0 0 .250 .250 .250
Sun
5/9
OAK vs
TBR TBR
L
3-4
4 0 1 0 1 0 0 0 0 1 0 0 .250 .250 .750
Sat
5/8
OAK vs
TBR TBR
W
6-3
2 0 1 1 0 0 1 0 0 0 0 0 .500 .500 1.000
Fri
5/7
OAK vs
TBR TBR
W
2-1
3 0 1 0 0 0 0 0 0 0 0 1 .333 .333 .333
Thu
5/6
OAK vs
TOR TOR
L
4-10
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Wed
5/5
OAK vs
TOR TOR
L
4-9
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Mon
5/3
OAK vs
TOR TOR
W
5-4
3 0 0 0 0 0 0 1 0 0 0 0 .000 .250 .000
Sun
5/2
OAK vs
BAL BAL
W
7-5
4 0 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Sat
5/1
OAK vs
BAL BAL
L
4-8
4 0 1 0 0 0 0 0 0 0 0 0 .250 .250 .250
Total 82 4 21 3 1 0 3 4 0 13 0 2 .256 .291 .317

April

DATE TM OPP SCORE AB R H 2B 3B HR RBI BB HBP SO SB CS AVG OBP SLG
Fri
4/30
OAK vs
BAL BAL
L
2-3
4 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Thu
4/29
OAK @
TBR TBR
W
3-2
3 0 1 0 0 0 0 0 0 0 0 0 .333 .333 .333
Tue
4/27
OAK @
TBR TBR
L
3-4
3 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Mon
4/26
OAK @
TBR TBR
W
2-1
2 0 0 0 0 0 0 1 0 1 0 0 .000 .333 .000
Sun
4/25
OAK @
BAL BAL
L
1-8
3 0 0 0 0 0 0 0 0 2 0 0 .000 .000 .000
Sat
4/24
OAK @
BAL BAL
W
7-2
4 2 2 0 0 0 0 0 0 0 0 0 .500 .500 .500
Fri
4/23
OAK @
BAL BAL
W
3-1
4 0 1 0 0 0 0 0 0 1 0 0 .250 .250 .250
Wed
4/21
OAK vs
MIN MIN
W
13-12
4 2 1 0 0 0 1 1 0 1 1 0 .250 .400 .250
Tue
4/20
OAK vs
MIN MIN
W
1-0
2 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Tue
4/20
OAK vs
MIN MIN
W
7-0
2 1 1 0 0 0 0 1 0 0 2 0 .500 .667 .500
Sun
4/18
OAK vs
DET DET
W
3-2
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sat
4/17
OAK vs
DET DET
W
7-0
4 0 1 0 0 0 0 0 0 2 0 0 .250 .250 .250
Fri
4/16
OAK vs
DET DET
W
3-0
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Thu
4/15
OAK vs
DET DET
W
8-4
3 1 1 1 0 0 1 1 0 1 0 0 .333 .400 .667
Tue
4/13
OAK @
ARI ARI
W
7-5
4 0 0 0 0 0 0 0 0 2 0 0 .000 .000 .000
Mon
4/12
OAK @
ARI ARI
W
9-5
3 0 1 0 0 0 1 1 0 0 0 0 .333 .500 .333
Sat
4/10
OAK @
HOU HOU
W
7-3
3 0 1 0 0 0 0 1 0 0 0 0 .333 .500 .333
Fri
4/9
OAK @
HOU HOU
W
6-2
4 1 1 0 0 0 0 0 0 0 0 0 .250 .250 .250
Thu
4/8
OAK @
HOU HOU
L
2-6
4 0 1 1 0 0 0 0 0 0 0 0 .250 .250 .500
Wed
4/7
OAK vs
LAD LAD
W
4-3
3 0 0 0 0 0 1 0 0 2 0 0 .000 .000 .000
Tue
4/6
OAK vs
LAD LAD
L
1-5
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Mon
4/5
OAK vs
LAD LAD
L
3-10
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Sun
4/4
OAK vs
HOU HOU
L
2-9
3 0 0 0 0 0 0 0 0 1 0 0 .000 .000 .000
Sat
4/3
OAK vs
HOU HOU
L
1-9
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Fri
4/2
OAK vs
HOU HOU
L
5-9
4 0 0 0 0 0 0 0 0 0 0 0 .000 .000 .000
Thu
4/1
OAK vs
HOU HOU
L
1-8
3 0 1 1 0 0 0 0 0 1 0 0 .333 .333 .667
Total 86 7 13 3 0 0 4 6 0 19 3 0 .151 .202 .186

Explore

More Rangers Stats

2024 Division Standings

See more
TEAM W L PCT GB
Athletics Athletics
0 0
Angels Angels
0 0
Rangers Rangers
0 0
Astros Astros
0 0
Mariners Mariners
0 0

Schedule

See more
DATE MATCHUP TIME (ET)
Thu
3/28
CHC CHC
@
TEX TEX
7:35 PM
Sat
3/30
CHC CHC
@
TEX TEX
7:05 PM
Sun
3/31
CHC CHC
@
TEX TEX
2:35 PM
Mon
4/1
TEX TEX
@
TBR TBR
6:50 PM
Tue
4/2
TEX TEX
@
TBR TBR
6:50 PM

MLB 2024 Batting Leaders

MLB 2024 Pitching Leaders

Fantasy 2024

MLB 2024 Betting

Best Record ATS

See more
Padres

1-1

Dodgers

1-1

Worst Record ATS

See more
Padres

1-1

Dodgers

1-1

MLB 2023 Division Standings

NL East W L PCT GB
1
Braves Braves
104 58 .642
2
Phillies Phillies
90 72 .556 14.0
AL East W L PCT GB
1
Orioles Orioles
101 61 .623
2
Rays Rays
99 63 .611 2.0
NL West W L PCT GB
1
Dodgers Dodgers
100 62 .617
2
Diamondbacks Diamondbacks
84 78 .519 16.0
NL Central W L PCT GB
1
Brewers Brewers
92 70 .568
2
Cubs Cubs
83 79 .512 9.0
AL West W L PCT GB
1
Astros Astros
90 72 .556
2
Rangers Rangers
90 72 .556
AL Central W L PCT GB
1
Twins Twins
87 75 .537
2
Tigers Tigers
78 84 .481 9.0

MLB 2024 Scores & Schedule

Scores

DATE MATCHUP SCORE
Wed
3/20
SDP SDP
@
LAD LAD
15-11
Tue
3/19
LAD LAD
@
SDP SDP
5-2

Schedule

DATE MATCHUP TIME (ET)
Thu
3/28
LAA LAA
@
BAL BAL
3:05 PM
Thu
3/28
SFG SFG
@
SDP SDP
4:10 PM
Thu
3/28
STL STL
@
LAD LAD
4:10 PM
Thu
3/28
PIT PIT
@
MIA MIA
4:10 PM
Thu
3/28
TOR TOR
@
TBR TBR
4:10 PM